Subject: Re: Adding Multiboot support (or not)
To: Nick Hudson <nick.hudson@dsl.pipex.com>
From: Jason Thorpe <thorpej@shagadelic.org>
List: tech-kern
Date: 02/14/2006 08:54:24
On Feb 14, 2006, at 7:48 AM, Nick Hudson wrote:

> That's not my understanding of Pavel's roblem...

Ahhhh.... I mis-read Pavel's description...

>
> On Saturday 11 February 2006 21:30, Pavel Cahyna wrote:
>> On Sat, Feb 11, 2006 at 05:12:27PM +0300, Valeriy E. Ushakov wrote:
> [...]
>>> My point was that linker will merge link_set_* sections with  
>>> the .text
>>> and .rodata* sections (see the quotes from the ld.info the PR).
>>
>> In my case it won't, unless I add an explicit statement for .rodata:
>>
>>    .rodata    :
>>    AT (LOADADDR(.text) + (ADDR(.rodata) - ADDR(.text)))
>>    {
>>      *(.rodata)
>>    }
>
> Are we mandating .rodata?

So, your patch SHOULD fix Pavel's problem... The other thing I was  
going to suggest was to make sure that the code I added that copies  
the AT() directive into the newly-placed orphan is still there (or  
has an equivalent in the new version).

No, we shouldn't mandate .rodata as an output section, because we  
don't mandate it when AT() and LOADADDR() are not used.

>
> Just to make things worse the code has compiletely changed in binutils
> current. I've not tried understanding the new code
>
> Nick

-- thorpej