This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
Re: ARM newlib oddity
On 10/9/2011 4:10 AM, Daniel O'Connor wrote:
>> [duplicate symbols from 'syscalls' when replacing syscalls.
duane> [use nm to get a list of symbols to compare with]
duane> [ example commands ]
duane> Step 1: Run NM against your syscalls.
duane> Step 2: Run NM against the NEWLIB library that is being brought in.
duane> Step 3: Compare the resulting lists.
daniel> mmm tedious :)
daniel> There are a lot of undefined symbols in libg.a though :(
Sorry - forgot to mention this simplification detail.:
step a) copy the offending library to some directory.
step b) Type the command "ar x LIBNAME.a"
This expands/exploads the library into many "filename.o" files.
step c) Run NM against the specific 'syscalls.o' file that came from
that library causing the problem.
To note:
The arm (REALVIEW tools) have can create what is called an "info"
file,
That info file can contain a verbose description of the link process.
For example: Examining module LIBNAME( modulename )
Selecting LIBNAME(modulename) to resolve symbol: FOOBAR
If you where using the ARM tools, this would be *REASON* your duplicate
symbols occur.
I have found this ARM_RVCT linker feature a great help when this type of
problem happens.
I'm not sure if the GNU linker has this feature.
-Duane.