Issues from previous releases Contents|Index|Previous|Next
Issues from previous releases  
The following documentation discusses issues from previous releases. These issues can provide clues that may help if you run into problems with the current release.

General issues with the tools

The following discussions address some general issues that apply to the GNUPro tools for previous releases, affecting many different environments and usage requirements.
 
    • No tapes or floppy disks shipped by default. The installation media is now CD format.
    • None of the libraries were thread-safe.
    • There is a graphical user interface for the GNU debugger called  Cygnus Insight (formerly known as GDBTk).

    • For other specific issues, see Debugger issues.
    • The malloc routines in the embedded C library have been updated from earlier versions of the GNU C compiler, gcc . The library includes a new header file, <malloc.h> , and some useful new functions, including memalign and mallinfo . The malloc routines now always call __malloc_lock and __malloc_unlock to lock and unlock access to the memory pool. The library provides default versions of these functions which do nothing; if you invoke malloc from multiple threads, or reentrantly, you should provide your own versions of these functions. See GNUPro C Library in GNUPro Libraries for more details.
    • Some tools were not available for the following platform environments.
      • GNUPro Toolkit did not include a linker (ld) for the DEC Alpha running Digital Unix (formerly OSF/1). The native linker was the default.
      • GNUPro Toolkit required the SGI Irix operating system's C library and include files in a native configuration. The SGI Irix operating system does not contain these files by default, but they are included in a separate developer's package. You cannot use the GNUPro Toolkit without this package.
      • GNU ld was not included for the HP 9000/700 native in the native configuration.
    • If you ran dejagnu in an Emacs shell buffer, expect generated incorrect results for pass-fail.
    • Finding a shared library at run-time was a problem with the (default) C++ library, libstdc++, as well as with libg++.
    • Fixes used the following attributes.
      • Added '/usr/progressive/lib' to LD_LIBRARY_PATH environment variable.
      • Used the following appropriate option when linking:
      • Removed or renamed completely the shared libraries under the installation directory ('/usr/progressive/lib/libg++.s* ' and '/usr/progressive/lib/libstdc++.s* ').
      • Linked with -static to avoid using any shared libraries.
      • The library directory, '/usr/progressive/lib ', was different if GNUPro Toolkit was installed in a non-standard location. This directory was thought of as '$GCC_EXEC_PREFIX/../ ' if using 'GCC_EXEC_PREFIX '.
      • After rebuilding from source, in order to report problems, a user reran install-sid in order to reset customer-id in send-pr . Previously, the default value was the value in the send-pr program in a path at the time of configuration.
 
  • The following issues were pertinent to the PowerPC environment.
 
      • Added '/usr/progressive/lib' to LD_LIBRARY_PATH environment variable.
      • -mno-fused-madd was a new option, preventing the compiler from combining a floating point multiply with an addition or subtraction. Generally, the compiler would do this optimization, if it was important to get the exact rounding as specified by the IEEE 754 floating point standard (on the Power and PowerPC machines, the combined multiply and add/subtract instruction does not do a round operation between the multiply and the addition/subtraction).
      • The -mcpu=403 switch did a -mstrict-align operation, since the 403 had no support for unaligned memory operations.
      • With the previous release, better code was generated when adding or doing logical operations with large constants.
      • Two new switches, -mads and -myellowknife, were added to the powerpc-eabi toolchain.
      • The -mads switch links in the appropriate libraries for the Motorola ADS target boards (860/821/823).
      • -myellowknife, the other switch, links in the appropriate libraries for the Motorola Yellowknife target boards (603e/604e).
      • Jump tables, for switch statements, were in the .rodata section, and not the .text section, so it wasn't necessary to include the text section in the data address mapping.
      • wchar_t became 4 bytes instead of 2 (and "a"l -strings consisted of 4 byte characters instead of 2).
      • The -mregnames switch was only passed to the assembler for assembling .s and .S files (i.e., it was not passed to the assembler when assembling the output of the compiler). This is so that global symbols like "r0" in C code wouldn't get confused with register names.
      • PowerPC configuration included a simulator contributed by Andrew Cagney.
      • The following support enhancements were made to both the powerpc-aix and powerpc-eabi configurations.

C and C++ compiler issues

There were several new warnings for the GNU compiler tools, gcc (C compiler) and g++ (C++ compiler).

Debugger issues

The following issues pertain to the GNU debugger, gdb, and the GNUPro visual debugger, Cygnus Insight (formerly known as GDBTk).
    • When using a non-ANSI compiler, its code for --disable-gdbtk avoids building the GDB libraries for the GUI, libgui, and automatically turns on --disable-gdbtk. This allows use of such non-ANSI compliant compilers.
    • There is now support for DWARF2 object file format.
    • Some improvements were made for Solaris thread debugging.
    • Users using Linux version 5.1 may experience the frustrating difficulty of launching the GNUPro visual debugger. The difficulty may have to do with an earlier version having been installed, and having had an incorrectly set environment variable.
    • The d10v-elf configuration includes commands to collect and display trace data.
    • Use 'trace' to enable tracing, 'untrace' to disable, 'info trace' to describe the information collected in the trace buffer, and 'tdisassemble' to display the list of instructions that were executed.
    • gdb now supports the debugging of overlays. Do 'help overlay' for more information. Example code may be found in examples/overlay.
    • Embedded MIPS configurations (such as mips-elf and mips-ecoff ) may use hardware breakpoints and watchpoints when communicating with boards using PMON (using the 'target pmon' command).
    • You may now use gdb with the Macraigor Systems "wiggler" and "OCD serial box" devices. The target commands are 'target ocd wiggler lpt1' (for PC hosts, for the wiggler device, only) and 'target ocd port' (normal serial transport; /dev/ttya ... being the pathname for addressing the variable argument for port ).
    • The powerpc-elf configuration includes two new target protocols; 'target sds' is an SDS-compatible protocol that is useful with Motorola's ADS821/860 boards, and 'target dink32' works with Motorola systems running the DINK32 ROM monitor (such as the embedded Yellowknife).
    • The 'set architecture' command allows for an explicit choice of the processor type being debugged, while 'info architecture' displays the current target architecture. Most configurations presently support only a single architecture.
    • The debugger was modified to properly debug executables that were compiled with the Cfront C++ version 2 compiler.
    • The debugger includes support for the Apple Macintosh, as a host only. GDB can be run as either an MPW tool or as a standalone application, and it can debug through the serial port. All of the usual debugger commands are available, but you must supply 'serial' as the device type to the target command, instead of '/dev/ttyXX'. Use target serial for input.
    • See 'mpw-README' in the main directory for more information on how to build. The MPW configuration scripts '*/mpw-config.in' support only a few targets, and only the mips-idt-ecoff target has been completely tested. Both m68k and PowerPC Macs are supported.
    • Use target ppcbug for support for the PowerPC ppcbug monitor.
    • Use target sh3 for support for the Hitachi SH3 monitor ROM.
    • Use the auto-solib-add variable to read in symbols from all shared libraries. If the value of auto-solib-add is 1, then symbols from all shared libraries will be read in when the program starts up. This is convenient if you want to reference a symbol in a shared library without having to stop in that library first, such as in setting a breakpoint. The default value is 0 , which improves startup time.

Utilities issues

The following documentation concerns enhancement issues for GNUPro utilities for previous releases.

Assembler issues

The following issues pertain to the GNU assembler, gas.
  • Of the hosts we currently support, we do not support the assembler (gas ) for the alpha-dec-osf or mips-sgi-irix6 configurations. These are not normally configured, but the sources are included with every release.
  • The assembler now has an -alm option, which can be used to list macro expansions. The -al c option can be used to skip false conditionals in listings.
  • The default objdump disassembly format has changed. You can get the old format by using --prefix-addresses .
  • The assembler now supports macros without requiring the assembler's preprocessor, gasp.
  • gas now supports the -M or --mri option, permitting the assembly of MRI-format assembler files.
  • The SunOS assembler is now able to assemble PIC.

Linker issues

The following issues pertain to the GNU linker, ld.
    • The linker now accepts the --no-whole-archive flag, to force it to not include the entire contents of an archive file.
    • The -rpath-link option has been added for linking with SunOS and ELF systems.
    • The COFF linker now automatically combines struct , union , and enum debugging information, so that the information only appears once in the output file. This only applies when using COFF debugging information, as opposed to stabs .
    • The SunOS linker is now able to create shared libraries.
    • The linker now accepts the --no-whole-archive flag, to force it to not include the entire contents of an archive file.
    • The -rpath-link option has been added for SunOS and ELF systems.
    • The COFF linker now automatically combines struct , union, and enumdebugging information, so that the information only appears once in the output file. This only applies when using COFF debugging information, as opposed to stabs.
    • The SunOS linker is now able to create shared libraries.

Rebuilding issues

 Details on issues with past releases about rebuilding specific platforms and features are shown in the following discussions. See Rebuilding from source for more detailed instructions.
  • When rebuilding from source on an AIX platform, on some versions, the tr utility in '/usr/ucb' has a bug. Make sure the PATH for the build will make '/bin/tr' or '/usr/bin/tr' available ahead of '/usr/ucb/tr'. This bug is fixed in AIX 4.1.4.
  • There is a reported problem in rebuilding GNUPro Toolkit using AIX 3.2. x native tools. (This problem does not crop up if you use gcc to rebuild the tools.) On the RS / 6000, XLC version 1.3.0.0 miscompiles 'jump.c'. XLC version 1.3.0.1 or later fixes this problem. You can obtain xlc version 1.3.0.2 by requesting PTF 421749 from IBM. This is not relevant for AIX 4.1. 4.
  • Use --with-gnu-as when configuring MIPS, if you rebuild the entire GNUPro Toolkit from source.
  • Top-level configuration files handle the configuration for you automatically. But if you rebuild the compiler alone for a MIPS target, we highly recommend that you specify '--with-gnu-as' on the command line for configure. This avoids an incompatibility between the assembler, as, and the MIPS assembler. The MIPS assembler does not support debugging directives, and gcc uses a special program, mips-tfile, to generate them. as parses the debugging directives directly without mips-tfile.
  • You should also specify '--with-stabs' on the command line to configure. This provides better debugging symbols, in particular for C++. If you plan to use the linker, be sure to specify '--with-gnu-ld' when you rebuild on any platform for which the linker is available.
      WARNING!
      There is a program called '/usr/ucb/cc' that you should not use since it is incompatible with the real compiler which is in '/opt/SUNWspro/bin/cc'.
  • As in previous releases, you can reconfigure GNUPro Toolkit to support more than one object format. For detailed instructions, see Rebuilding from source.
  • To add support for more object file formats (besides the format appropriate for the configured target), list the additional targets as arguments to the configure option, --enable-targets, separated by commas.
  • Use the following input as an example.
      ./configure --enable-targets=m68k-coff,i386-elf,decstation
    To find out what targets are available, look in the file 'bfd/config.bfd' in the source distribution. To configure the tools to support all available object formats, use --enable-targets=all  rather than listing individual targets.
  • Starting with the 97r1 release, make had been altered to support the Win32 host environment better. It now has two major modes of operation:
 
© 2004 Red Hat, Inc. All rights reserved.
About Red Hat  :  Legal statement  :  Privacy statement  :  Contact Red Hat