Subject: Re: Adding Multiboot support (or not)
To: Jason Thorpe <thorpej@shagadelic.org>
From: Nick Hudson <nick.hudson@dsl.pipex.com>
List: tech-kern
Date: 02/14/2006 15:48:53
On Tuesday 14 February 2006 15:25, Jason Thorpe wrote:
> On Feb 13, 2006, at 9:49 AM, Nick Hudson wrote:
> > On Sunday 12 February 2006 04:38, Jason Thorpe wrote:
> >> On Feb 11, 2006, at 1:30 PM, Pavel Cahyna wrote:
> >>> In my case it won't, unless I add an explicit statement for .rodata:
> >>
> >> Right, this is a bug in ld(1).
> >
> > Does this fix it?
>
> Sorry, just getting around to wrapping my brain around ld(1) again.
>
> It looks like this patch would fix defaulting to .text if .rodata
> isn't present... but in Pavel's case, .rodata IS (or had better be,
> at least) present, and link_set* still isn't getting placed
> in .rodata's output section.

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

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?

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

Nick