📄 news
字号:
Noteworthy changes in GCC version 2.8.0---------------------------------------A major change in this release is the addition of a framework forexception handling, currently used by C++. Many internal changes andoptimization improvements have been made. These increase themaintainability and portability of GCC. GCC now uses autoconf tocompute many host parameters.A new project, egcs (pronounced ``eggs''), is maintaining anexperimental version of the GNU C compiler. The egcs compilercontains features that are candidates for inclusion in future versionsof GCC. The standard GCC distribution is intended to contain a maturecompiler that is stable and reliable; egcs aims at making experimentalchanges available to interested users at an earlier stage in theirdevelopment process than would be appropriate for a productioncompiler. Please see <http://www.cygnus.com/egcs/> for moreinformation about egcs. A major motivation for the egcs project wasthe long release cycle for GCC 2.8.0. This was due to changes forexception handling that took a long time to complete. In the future,changes of this nature can be developed in the egcs framework and notinterfere with the frequent releases of the standard GCC distribution.Due to a bug fix related to exception handling, if you have previouslybuilt a sharable library with some recent unofficial versions of GCCon some systems and then rebuild the library with GCC 2.8.0, programspreviously linked with that library may fail during initializationwith a message about an undefined symbols __register_frame. If thathappens, you must either relink the application or rebuild thesharable library with "-Wl,-u,__register_frame" on the command line.The following lists changes that add new features or targets.See cp/NEWS for new features of C++ in this release.New tools and features: The Dwarf 2 debugging information format is supported on ELF systems, and is the default for -ggdb where available. It can also be used for C++. The Dwarf version 1 debugging format is also permitted for C++, but does not work well. gcov.c is provided for test coverage analysis and branch profiling analysis is also supported; see -fprofile-arcs, -ftest-coverage, and -fbranch-probabilities. Support for the Checker memory checking tool. New switch, -fstack-check, to check for stack overflow on systems that don't have such built into their ABI. New switches, -Wundef and -Wno-undef to warn if an undefined identifier is evaluated in an #if directive. Options -Wall and -Wimplicit now cause GCC to warn about implicit int in declarations (e.g. `register i;'), since the C Standard committee has decided to disallow this in the next revision of the standard; -Wimplicit-function-declarations and -Wimplicit-int are subsets of this. Option -Wsign-compare causes GCC to warn about comparison of signed and unsigned values. Add -dI option of cccp for cxref.New features in configuration, installation and specs file handling: New option --enable-c-cpplib to configure script. You can use --with-cpu on the configure command to specify the default CPU that GCC should generate code for. The -specs=file switch allows you to override default specs used in invoking programs like cc1, as, etc. Allow including one specs file from another and renaming a specs variable. You can now relocate all GCC files with a single environment variable or a registry entry under Windows 95 and Windows NT.Changes in Objective-C: The Objective-C Runtime Library has been made thread-safe. The Objective-C Runtime Library contains an interface for creating mutexes, condition mutexes, and threads; it requires a back-end implementation for the specific platform and/or thread package. Currently supported are DEC/OSF1, IRIX, Mach, OS/2, POSIX, PCThreads, Solaris, and Windows32. The --enable-threads parameter can be used when configuring GCC to enable and select a thread back-end. Objective-C is now configured as separate front-end language to GCC, making it more convenient to conditionally build it. The internal structures of the Objective-C Runtime Library have changed sufficiently to warrant a new version number; now version 8. Programs compiled with an older version must be recompiled. The Objective-C Runtime Library can be built as a DLL on Windows 95 and Windows NT systems. The Objective-C Runtime Library implements +load.The following new targets are supported (see also list under eachindividual CPU below): Embedded target m32r-elf. Embedded Hitachi Super-H using ELF. RTEMS real-time system on various CPU targets. ARC processor. NEC V850 processor. Matsushita MN10200 processor. Matsushita MN10300 processor. Sparc and PowerPC running on VxWorks. Support both glibc versions 1 and 2 on Linux-based GNU systems.New features for DEC Alpha systems: Allow detailed specification of IEEE fp support: -mieee, -mieee-with-inexact, and -mieee-conformant -mfp-trap-mode=xxx, -mfp-round-mode=xxx, -mtrap-precision=xxx -mcpu=xxx for CPU selection Support scheduling parameters for EV5. Add support for BWX, CIX, and MAX instruction set extensions. Support Linux-based GNU systems. Support VMS.Additional supported processors and systems for MIPS targets: MIPS4 instruction set. R4100, R4300 and R5000 processors. N32 and N64 ABI. IRIX 6.2. SNI SINIX. New features for Intel x86 family: Add scheduling parameters for Pentium and Pentium Pro. Support stabs on Solaris-x86. Intel x86 processors running the SCO OpenServer 5 family. Intel x86 processors running DG/UX. Intel x86 using Cygwin32 or Mingw32 on Windows 95 and Windows NT.New features for Motorola 68k family: Support for 68060 processor. More consistent switches to specify processor. Motorola 68k family running AUX. 68040 running pSOS, ELF object files, DBX debugging. Coldfire variant of Motorola m68k family.New features for the HP PA RISC: -mspace and m-no-space -mlong-load-store and -mno-long-load-store -mbig-switch -mno-big-switch GCC on the PA requires either gas-2.7 or the HP assembler; for best results using GAS is highly recommended. GAS is required for -g and exception handling support.New features for SPARC-based systems: The ultrasparc cpu. The sparclet cpu, supporting only a.out file format. Sparc running SunOS 4 with the GNU assembler. Sparc running the Linux-based GNU system. Embedded Sparc processors running the ELF object file format. -mcpu=xxx -mtune=xxx -malign-loops=xxx -malign-jumps=xxx -malign-functions=xxx -mimpure-text and -mno-impure-text Options -mno-v8 and -mno-sparclite are no longer supported on SPARC targets. Options -mcypress, -mv8, -msupersparc, -msparclite, -mf930, and -mf934 are deprecated and will be deleted in GCC 2.9. Use -mcpu=xxx instead.New features for rs6000 and PowerPC systems: Solaris 2.51 running on PowerPC's. The Linux-based GNU system running on PowerPC's. -mcpu=604e,602,603e,620,801,823,mpc505,821,860,power2 -mtune=xxx -mrelocatable-lib, m-no-relocatable-lib -msim, -mmve, -memb -mupdate, -mno-update -mfused-madd, -mno-fused-madd -mregnames -meabi -mcall-linux, -mcall-solaris, -mcall-sysv-eabi, -mcall-sysv-noeabi -msdata, -msdata=none, -msdata=default, -msdata=sysv, -msdata=eabi -memb, -msim, -mmvme -myellowknife, -mads wchar_t is now of type long as per the ABI, not unsigned short. -p/-pg support -mcpu=403 now implies -mstrict-align. Implement System V profiling. Aix 4.1 GCC targets now default to -mcpu=common so that programs compiled can be moved between rs6000 and powerpc based systems. A consequence of this is that -static won't work, and that some programs may be slightly slower. You can select the default value to use for -mcpu=xxx on rs6000 and powerpc targets by using the --with-cpu=xxx option when configuring the compiler. In addition, a new options, -mtune=xxx was added that selects the machine to schedule for but does not select the architecture level. Directory names used for storing the multilib libraries on System V and embedded PowerPC systems have been shortened to work with commands like tar that have fixed limits on pathname size.New features for the Hitachi H8/300(H): -malign-300 -ms (for the Hitachi H8/S processor) -mint32New features for the ARM: -march=xxx, -mtune=xxx, -mcpu=xxx Support interworking with Thumb code. ARM processor with a.out object format, COFF, or AOF assembler. ARM on "semi-hosted" platform. ARM running NetBSD. ARM running the Linux-based GNU system.New feature for Solaris systems: GCC installation no longer makes a copy of system include files, thus insulating GCC better from updates to the operating system.Noteworthy changes in GCC version 2.7.2---------------------------------------A few bugs have been fixed (most notably the generation of aninvalid assembler opcode on some RS/6000 systems).Noteworthy changes in GCC version 2.7.1---------------------------------------This release fixes numerous bugs (mostly minor) in GCC 2.7.0, butalso contains a few new features, mostly related to specific targets.Major changes have been made in code to support Windows NT.The following new targets are supported: 2.9 BSD on PDP-11 Linux on m68k HP/UX version 10 on HP PA RISC (treated like version 9) DEC Alpha running Windows NTWhen parsing C, GCC now recognizes C++ style `//' comments unless youspecify `-ansi' or `-traditional'.The PowerPC System V targets (powerpc-*-sysv, powerpc-*-eabi) now use thecalling sequence specified in the System V Application Binary InterfaceProcessor Supplement (PowerPC Processor ABI Supplement) rather than the callingsequence used in GCC version 2.7.0. That calling sequence was based on the AIXcalling sequence without function descriptors. To compile code for that oldercalling sequence, either configure the compiler for powerpc-*-eabiaix or usethe -mcall-aix switch when compiling and linking.Noteworthy changes in GCC version 2.7.0---------------------------------------GCC now works better on systems that use ".obj" and ".exe" instead of".o" and no extension. This involved changes to the driver program,gcc.c, to convert ".o" names to ".obj" and to GCC's Makefile to use".obj" and ".exe" in filenames that are not targets. In order tobuild GCC on such systems, you may need versions of GNU make and/orcompatible shells. At this point, this support is preliminary.Object file extensions of ".obj" and executable file extensions of".exe" are allowed when using appropriate version of GNU Make.Numerous enhancements were made to the __attribute__ facility includingmore attributes and more places that support it. We now support the"packed", "nocommon", "noreturn", "volatile", "const", "unused","transparent_union", "constructor", "destructor", "mode", "section","align", "format", "weak", and "alias" attributes. Each of thesenames may also be specified with added underscores, e.g., "__packed__".__attribute__ may now be applied to parameter definitions, functiondefinitions, and structure, enum, and union definitions.GCC now supports returning more structures in registers, as specified bymany calling sequences (ABIs), such as on the HP PA RISC.A new option '-fpack-struct' was added to automatically pack all structuremembers together without holes.There is a new library (cpplib) and program (cppmain) that at somepoint will replace cpp (aka cccp). To use cppmain as cpp now, passthe option CCCP=cppmain to make. The library is already used by thefix-header program, which should speed up the fixproto script.New options for supported targets: GNU on many targets. NetBSD on MIPS, m68k, VAX, and x86. LynxOS on x86, m68k, Sparc, and RS/6000. VxWorks on many targets. Windows/NT on x86 architecture. Initial support for Windows/NT on Alpha (not fully working). Many embedded targets, specifically UDI on a29k, aout, coff, elf, and vsta "operating systems" on m68k, m88k, mips, sparc, and x86.Additional support for x86 (i386, i486, and Pentium): Work with old and new linkers for Linux-based GNU systems, supporting both a.out and ELF. FreeBSD on x86. Stdcall convention. -malign-double, -mregparm=, -malign-loops= and -malign-jumps= switches. On ISC systems, support -Xp like -posix.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -