Messages in this thread | | | Date | Sun, 11 May 2008 20:54:45 +0200 | From | Pavel Machek <> | Subject | Re: 2.6.26-rc1 on x86: ld: warning: dot moved backwards before `.text' |
| |
On Sun 2008-05-11 19:44:11, Cyrill Gorcunov wrote: > [Sam Ravnborg - Sat, May 10, 2008 at 11:16:02PM +0200] > | On Sat, May 10, 2008 at 01:25:53PM -0700, H. Peter Anvin wrote: > | > Mikael Pettersson wrote: > | > > > | > >The resulting kernel hasn't broken on me yet, however. > | > > > | > >A search through the LKML archives showed that this was reported > | > >for 2.6.25-rc3-mm1, but I couldn't find any discussion about it > | > >after that: > | > > > | > ><http://marc.info/?l=linux-kernel&m=120470303728010&w=2> > | > > > | > >The .config causing this warning is available in > | > ><http://user.it.uu.se/~mikpe/linux/ale/config-2.6.26-rc1> > | > > > | > > | > This is because the organization of the file was changed, and the linker > | > script wasn't changed to match: > | > > | > SECTIONS > | > { > | > . = HEADER_OFFSET; > | > .header : { > | > *(.header) > | > } > | > > | > . = 0; > | > .text : { > | > *(.text*) > | > } > | > > | > This is crap; the sections should be listed *in order* so the linker can > | > warn properly when something bad happens. > | > > | > The code should be correct; reorganizing the linker script correctly > | > should fix the problem. > | > | I need Pavel to comment on this. > | Why we start with . equal 0x3f00 and then later as . equals 0x0000 > | I dunno. > | I did not look into this part of the code back then - but I should anyway > | have seen this flaw in the linker script :-( > | > | Sam > > Should not it be something like > --- > > diff --git a/arch/x86/kernel/acpi/realmode/wakeup.lds.S b/arch/x86/kernel/acpi/realmode/wakeup.lds.S > index 22fab6c..cccf62d 100644 > --- a/arch/x86/kernel/acpi/realmode/wakeup.lds.S > +++ b/arch/x86/kernel/acpi/realmode/wakeup.lds.S > @@ -12,11 +12,6 @@ ENTRY(_start) > > SECTIONS > { > - . = HEADER_OFFSET; > - .header : { > - *(.header) > - } > - > . = 0; > .text : { > *(.text*) > @@ -53,6 +48,11 @@ SECTIONS > . = ALIGN(16); > _end = .; > > + . = HEADER_OFFSET; > + .header : { > + *(.header) > + } > + > /DISCARD/ : { > *(.note*) > }
If it passes s2ram/resume test, it is probably correct ;-). Pavel
-- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
| |