Problems with linker on Alpha

Michael Cree mcree@orcon.net.nz
Sun May 29 03:37:00 GMT 2011


On 03/05/11 12:32, Alan Modra wrote:
> On Mon, May 02, 2011 at 12:26:22PM -0700, Richard Henderson wrote:
>> That plugin test, as far as I know, isn't system specific and fails
>> for all targets.
> 
> Passes as of 2011-04-18

Fails on Alpha at 2011-05-28.  In particular the following tests fail:

FAIL: plugin claimfile lost symbol
FAIL: plugin claimfile replace symbol
FAIL: plugin claimfile resolve symbol

Going back to the first one the ld.log file contains:

Hello from testplugin.
tv[0]: LDPT_MESSAGE func@0x0x120028690
tv[1]: LDPT_API_VERSION value        0x1 (1)
tv[2]: LDPT_GNU_LD_VERSION value       0xdd (221)
tv[3]: LDPT_LINKER_OUTPUT value        0x1 (1)
tv[4]: LDPT_OUTPUT_NAME 'tmpdir/main.x'
tv[5]: LDPT_REGISTER_CLAIM_FILE_HOOK func@0x0x120027ce0
tv[6]: LDPT_REGISTER_ALL_SYMBOLS_READ_HOOK func@0x0x120027c50
tv[7]: LDPT_REGISTER_CLEANUP_HOOK func@0x0x120027bc0
tv[8]: LDPT_ADD_SYMBOLS func@0x0x120028330
tv[9]: LDPT_GET_INPUT_FILE func@0x0x120027b60
tv[10]: LDPT_RELEASE_INPUT_FILE func@0x0x120027b00
tv[11]: LDPT_GET_SYMBOLS func@0x0x120027f20
tv[12]: LDPT_ADD_INPUT_FILE func@0x0x120027e90
tv[13]: LDPT_ADD_INPUT_LIBRARY func@0x0x120027e00
tv[14]: LDPT_SET_EXTRA_LIBRARY_PATH func@0x0x120027d70
tv[15]: LDPT_OPTION 'registerclaimfile'
tv[16]: LDPT_OPTION 'registerallsymbolsread'
tv[17]: LDPT_OPTION 'registercleanup'
tv[18]: LDPT_OPTION 'claim:tmpdir/func.o'
tv[19]: LDPT_NULL value        0x0 (0)
hook called: claim_file tmpdir/main.o [@0/4320] not claimed
hook called: claim_file tmpdir/func.o [@0/3288] CLAIMED
hook called: claim_file tmpdir/text.o [@0/2472] not claimed
hook called: all symbols read.
/home/mjc/toolchain/binutils.git/ld/ld-new: warning: cannot find entry
symbol _start; defaulting to 00
000001200000f0
tmpdir/main.o: In function `main':
/home/mjc/toolchain/binutils.git/ld/testsuite/ld-plugin/main.c:12:
undefined reference to `func'
/home/mjc/toolchain/binutils.git/ld/testsuite/ld-plugin/main.c:12:
undefined reference to `func'
hook called: cleanup.
regexp_diff match failure
regexp "^hook called: cleanup.$"
line
"/home/mjc/toolchain/binutils.git/ld/testsuite/ld-plugin/main.c:12:
undefined reference to `fun
c'"


The regular expression in testsuite/ld-plugin/plugin-6.d only expects
one line with the "undefined reference to `func'" but on Alpha two such
(identical) lines are generated.

Should two such lines really be printed (i.e. is this a bug in the Alpha
linker) or should the regexp be updated to cope with the possibility of
the undefined reference line being printed twice?

Cheers
Michael.



More information about the Binutils mailing list