[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bug in linker script file matching after b1eecf6f66a4a642 (prefix tr
From: |
Nick Clifton |
Subject: |
Re: Bug in linker script file matching after b1eecf6f66a4a642 (prefix tree) |
Date: |
Mon, 26 Jun 2023 13:40:31 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 |
Hi Andrew,
Apologies for the generic subject, I don't totally understand the
nature of the bug.
No worries. You have the problem narrowed down to a single commit,
which definitely helps.
I have a basic linker script that stopped working after upgrading to
binutils 2.40. I did a git bisect on the repository and it seems that
the breakage starts with commit
b1eecf6f66a4a642f4cb35688213e6c1c1ffdc79.
Please could you file a bug report for this problem here:
https://sourceware.org/bugzilla/enter_bug.cgi?product=binutils
Having a bug report like this really helps us to track the bug
and ensure that it can be reviewed in the future, should it ever
come back.
$ ${LD} -o out.bin -T linker.ld lib1.a lib2.a
You have now shown how lib1.a and lib2.a are created. I assumed
that you did:
$ ar cr lib1.a test1.o test2.o
$ ar cr lib2.a test3.o
$ objdump -x out.bin | grep func
c000001e g F .text 0000000a func3
c000000f g F .text 0000000f func1
c0000000 g F .text 0000000f func2
you see that func1 and func2 are in .text rather than .init-text where
they should be.
Yes, this is a bug. Not sure of the exact cause, but maybe the
new code in commit b1eecf6f66a4a642 in scanning the sections in
reverse order rather than forward order.
Cheers
Nick