fromGoogleCode / mclinker

Automatically exported from code.google.com/p/mclinker
Other
0 stars 0 forks source link

GROUP command in the linker script #171

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1.Specify a set of library archives using GROUP command in linker script. Make 
sure the SEARCH_DIR option is set for the directories conatining those archives.
2.Make sure some symbols defined in the archive are being used in your program
3.Use the linker script to link

What is the expected output? What do you see instead?
The expected output is that the symbol should get resolved. However it fails 
mentioning the symbol could not be resolved.

What version of the product are you using? On what operating system?
My revision code is 4bebbd8f62c02c85bf2da78bc09f39a3ce2f2f3b and I'm using 
Ubuntu 12.04 with gcc-4.6

Additional information:
When the grouping of library is done with -start-group and -end-group on 
command line, the specified archives are added to the end of the input tree 
which get processed after finding out all the undefined symbols from the inputs 
(lazy resolution of symbols). When these same libraries are specified using the 
GROUP command in linker script, the merging of the newly created input tree 
with the existing input tree fails. Even though the readGroup function called 
before merging computes successfully, the undefined symbols are not available 
yet to be resolved and fail to get resolved later when they are actually 
detected in the inputs.
The problem happens to be that the archives specified in the GROUP command of 
the linker script are read only once and that too before any of the inputs are 
read.

Original issue reported on code.google.com by vishwacs...@gmail.com on 6 Jul 2014 at 6:46

GoogleCodeExporter commented 9 years ago
Hi,

Can you please post your command line instruction and the linker script file?

Thanks,
Pete

Original comment by pete.c...@gmail.com on 7 Jul 2014 at 6:21