[Fedora Project Wiki] Update of "Docs/Beats/Devel/Tools/GCC" by BobJensen

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Fedora Project Wiki" for change notification.

The following page has been changed by BobJensen:
http://fedoraproject.org/wiki/Docs/Beats/Devel/Tools/GCC?action=diff&rev2=20&rev1=19

------------------------------------------------------------------------------
  == GCC Compiler Collection ==
  
- This release of Fedora has been built with GCC 4.1, which is included with the distribution.
+ This release of Fedora has been built with GCC [[GetVal(DocsDict,gccVer)]], which is included with the distribution.
  
  === Caveats ===
  
-  * Fedora developers have introduced changes in the ELF .hash section that provides symbols for dynamic linking.  This new .gnu.hash section, which is produced with the new default `--hash-style=gnu` option for `gcc`, serves the same purpose as previous hash sections.  It provides, however, an approximately 50% increase in dynamic linking speed.  Binaries and libraries produced with the new hashing function are incompatible with older `glibc` and dynamic linker releases.  To use the old-style hashing routines for compatibility with older `glibc`-based systems, pass the `--hash-style=sysv` option instead.
- 
-  * You need GDB 6.1 or newer to debug binaries, unless they are compiled using the `-fno-var-tracking` compilation option.
- 
-  * The `-fwritable-strings` option is no longer accepted.
- 
-  * English-language diagnostic messages now use Unicode quotes.  If you cannot read this, set your `LC_CTYPE` environment variable to `C` or change your terminal emulator.
- 
-  * The `specs` file is no longer installed on most systems. Ordinary users will not notice, but developers who need to alter the file can use the `-dumpspecs` option to generate the file for editing.
- 
  === Code Generation ===
- 
-  * The SSA code optimizer is now included and brings with it better constant propagation, partial redundancy elimination, load and store code motion, strength reduction, dead storage elimination, better detection of unreachable code, and tail recursion by accumulation.
- 
-  * Autovectorization is supported. This technique achieves higher performance for repetitive loop code, in some circumstances.
  
  === Language Extensions ===
  
-  * The new sentinel attribute causes the compiler to issue a warning if a function such as `execl(char *path, const char *arg, ...)`, which requires a NULL list terminator, is missing the NULL.
- 
-  * The `cast-as-lvalue`, `conditional-expression-as-lvalue`, and `compund-expression-as-lvalue` extensions have been removed.
- 
-  * The `#pragma pack()` semantics are now closer to those used by other compilers.
- 
-  * Taking the address of a variable declared with the register modifier now generates an error instead of a warning.
- 
-  * Arrays of incomplete element types now generate an error. This implies no forward reference to structure definitions.
- 
-  * The basic compiler, without any optimization (`-O0`), has been measured as much as 25% faster in real-world code.
- 
-  * Libraries may now contain function-scope static variables in multi-threaded programs. Embedded developers can use the `-fno-threadsafe-statics` to turn off this feature, but ordinary users should never do this.
- 

--
Fedora-relnotes-content mailing list
Fedora-relnotes-content@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-relnotes-content

[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Gnome Users]     [KDE Users]

  Powered by Linux