This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]