[GOLD] -Ttext does not relocate as expected

ryan stdstack@gmail.com
Thu Mar 21 07:32:00 GMT 2013


Thanks a lot Alan, Ian!
--Ryan
On Wed, Mar 20, 2013 at 7:45 PM, Alan Modra <amodra@gmail.com> wrote:
> On Wed, Mar 20, 2013 at 06:10:03PM -0700, ryan wrote:
>> >>>>> ld -m elf_i386 -N -e start -Ttext 0x7c00 -o boot.out boot.o
>
> It's indirectly caused by -N.  I think the sequence of events is:
> 1) -N puts all input sections into the output .text section, including
>    a zero size .data
> 2) this marks the output .text as writable
> 3) the following code in layout.cc doesn't recognize .text as part of
>    the text segment
>
>           else if (parameters->options().user_set_Ttext()
>                    && ((*p)->flags() & elfcpp::PF_W) == 0)
>             {
>               are_addresses_set = true;
>             }
>
> 4) leading to
>
>           if (!are_addresses_set)
>             {
>               // Skip the address forward one page, maintaining the same
>               // position within the page.  This lets us store both segments
>
> --
> Alan Modra
> Australia Development Lab, IBM



More information about the Binutils mailing list