On 10/13/2017 12:06 AM, Sebastian Huber wrote:
The end-of-life of Solaris 2.6 was 2006. Is it worth to mention this here?

The reference to Solaris 2.6 is no longer useful.  Just mention ELF here.

This "AIX may have these optimizations in the future." is there since at least 1996. What is the current AIX status?

David answered this.

Is the "Only use these options when there are significant benefits from doing so. When you specify these options, the assembler and linker create larger object and executable files and are also slower. You cannot use |gprof| on all systems if you specify this option, and you may have problems with debugging if you specify both this option and -g." still correct on the systems of today?

You can get larger objects, because as Jeff mentioned, some compile-time/assembly-time optimizations get disabled. That should probably be clarified.

The assembler/linker will be slower because they will have more work to do, more relocations, more sections, larger object files.

Some old systems could not support both -ffunction-sections and -pg together, this used to give a warning, which was removed in 2012. I believe this is obsolete. The likely explanation for this doc is
  https://gcc.gnu.org/ml/gcc-help/2008-11/msg00139.html
which mentions that it was already long ago fixed at that time.

Using -g should not be a problem on an ELF/DWARF system, which is what most systems use nowadays. There could be issues with other object files/debug info formats, but this is unclear. I suspect this comment is obsolete and can be removed.

The doc should probably refer to the linker --gc-sections option, as this is what makes -ffunction-sections useful for most people, by reducing the code size by eliminating unused functions.

Do these options affect the code generation?

Jeff answered this.

Jim


Reply via email to