Opened 12 years ago
Closed 12 years ago
#3200 closed task (fixed)
New programs installed with GCC
Reported by: | Owned by: | ||
---|---|---|---|
Priority: | normal | Milestone: | 7.3 |
Component: | Book | Version: | SVN |
Severity: | normal | Keywords: | |
Cc: |
Description
The GCC package now installs 3 new programs, gcc-ar, gcc-nm, and gcc-ranlib. None of them have manpages, running --help on gcc-ranlib produces output identical to that of ranlib, and gcc-ar and gcc-nm don't say anything when run except to complain about not having plugin support. About all I could find is this mailing list message - http://gcc.gnu.org/ml/gcc-help/2012-03/msg00100.html - saying they're some kind of wrappers for Binutils plugins, and apparently for them to be useful you'd need to add --with-plugins to Binutils configure.
I don't know anything about ar, nm or ranlib myself, and I certainly have no clue what extra "plugins" might be for, but it should at least be documented somewhere, whether by adding these programs to GCC's installed list, enabling plugins on Binutils, or just removing them if they aren't needed.
Change History (3)
comment:1 by , 12 years ago
comment:2 by , 12 years ago
Owner: | changed from | to
---|---|
Status: | new → assigned |
comment:3 by , 12 years ago
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Added notes about --enable-lto in gcc and bunutils sections. Documented the gcc-{ar,nm,ranlib} programs in gcc.
Fixed at revsion 10024.
It looks like binutils does need to be built with --enable-plugins in Chapter 6. When I did that, gcc-ar --help gave me the same output as ar --help. It's possible that binutils have overcome the need to the gcc-{ar,nm,ranlib} wrappers.
Looking at the source for gcc-ar, it just executes ar with the argument '--plugin plugin-name'.
There is an option --enable-lto (link time optimization) in both binutils and gcc that we may want to add.
In gcc, with the --enable-lto option, there are two files installed: /usr/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/{lto-wrapper,lto1}
I did find http://crpppc19.epfl.ch/cgi-bin/man/man2html?gcc-ar-4.7+1
For reference, ar creates an archive (.a) file. nm extracts symbols from object files (executables, .o files, .so.1 files, etc). ranlib creates an index in a .a file for linking efficiency.