Re: 2.6.26-rc1 on x86: ld: warning: dot moved backwards before `.text'

Cyrill Gorcunov
2008-05-11T18:25:04Z

[H. Peter Anvin - Sun, May 11, 2008 at 11:15:04AM -0700]
> Cyrill Gorcunov wrote:
>> 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*)
>> }
>> ---
>> - Cyrill -
>
> Yes. This was the way I originally had it, then Pavel decided to move the
> header to the end.
>
> -hpa
>

Hi Peter,

actually I only doubt about exactly position of this headers - I mean
meguess it better should be _before_ "_end" not after. Since the others
script uses (acpi/wakeup_rm.S):

wakeup_code_start:
.incbin "arch/x86/kernel/acpi/realmode/wakeup.bin"
wakeup_code_end:

and kernel uses these wakeup_code_* marks to save/restore memory I think
it should be like

. = HEADER_OFFSET;
.header : {
...
}
. = ALIGN(16);
_end = .;
/DISCARD/ ...

- Cyrill -