Raman wrote:
Could any one tell what exactly these two option do. I have not been
able to understand why we use them because as per the gcc man page,
these options increase the size of libraries and exe
This group is not appropriate to answer your question.
cf.
http://gcc.gnu.org/lists.html http://gcc.gnu.org/onlinedocs/gcc-4....e-Options.html
-ffunction-sections
-fdata-sections
Place each function or data item into its own section in the output
file if the target supports arbitrary sections. The name of the function
or the name of the data item determines the section's name in the output
file.
Use these options on systems where the linker can perform
optimizations to improve locality of reference in the instruction space.
Most systems using the ELF object format and SPARC processors running
Solaris 2 have linkers with such optimizations. AIX may have these
optimizations in the future.
Only use these options when there are significant benefits from
doing so. When you specify these options, the assembler and linker will
create larger object and executable files and will also be slower. You
will not be able to 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.