2004-10-29 09:39:00

by Hariprasad Nellitheertha

[permalink] [raw]
Subject: Compile error on 2.6.10-rc1-mm1



Signed-off-by: Hariprasad Nellitheertha <[email protected]>
---

linux-2.6.10-rc1-hari/arch/i386/kernel/vmlinux.lds.S | 3 ++-
1 files changed, 2 insertions(+), 1 deletion(-)

diff -puN arch/i386/kernel/vmlinux.lds.S~kdump-fix-bss-compile-error arch/i386/kernel/vmlinux.lds.S
--- linux-2.6.10-rc1/arch/i386/kernel/vmlinux.lds.S~kdump-fix-bss-compile-error 2004-10-28 15:15:43.000000000 +0530
+++ linux-2.6.10-rc1-hari/arch/i386/kernel/vmlinux.lds.S 2004-10-28 15:18:04.000000000 +0530
@@ -117,8 +117,9 @@ SECTIONS
/* freed after init ends here */

__bss_start = .; /* BSS */
+ .bss.page_aligned : AT(ADDR(.bss.page_aligned) - LOAD_OFFSET) {
+ *(.bss.page_aligned) }
.bss : AT(ADDR(.bss) - LOAD_OFFSET) {
- *(.bss.page_aligned)
*(.bss)
}
. = ALIGN(4);
_


Attachments:
kdump-fix-bss-compile-error.patch (779.00 B)

2004-10-29 09:46:46

by Andrew Morton

[permalink] [raw]
Subject: Re: Compile error on 2.6.10-rc1-mm1

Hariprasad Nellitheertha <[email protected]> wrote:
>
> The compile time error that few people have been seeing with
> the last couple of -mm releases are due to the changes
> introduced to arch/i386/kernel/vmlinux.lds.S to enable kexec
> based crashdumps.
> ...
> --- linux-2.6.10-rc1/arch/i386/kernel/vmlinux.lds.S~kdump-fix-bss-compile-error 2004-10-28 15:15:43.000000000 +0530
> +++ linux-2.6.10-rc1-hari/arch/i386/kernel/vmlinux.lds.S 2004-10-28 15:18:04.000000000 +0530
> @@ -117,8 +117,9 @@ SECTIONS
> /* freed after init ends here */
>
> __bss_start = .; /* BSS */
> + .bss.page_aligned : AT(ADDR(.bss.page_aligned) - LOAD_OFFSET) {
> + *(.bss.page_aligned) }
> .bss : AT(ADDR(.bss) - LOAD_OFFSET) {
> - *(.bss.page_aligned)
> *(.bss)
> }
> . = ALIGN(4);

It's hard to see how that could go wrong. Did you compare the before- and
after- output from `objdump -h vmlinux'?

2004-10-29 10:52:50

by Hariprasad Nellitheertha

[permalink] [raw]
Subject: Re: Compile error on 2.6.10-rc1-mm1

Andrew Morton wrote:
> Hariprasad Nellitheertha <[email protected]> wrote:
>
>>The compile time error that few people have been seeing with
>> the last couple of -mm releases are due to the changes
>> introduced to arch/i386/kernel/vmlinux.lds.S to enable kexec
>> based crashdumps.
>>...
>> --- linux-2.6.10-rc1/arch/i386/kernel/vmlinux.lds.S~kdump-fix-bss-compile-error 2004-10-28 15:15:43.000000000 +0530
>> +++ linux-2.6.10-rc1-hari/arch/i386/kernel/vmlinux.lds.S 2004-10-28 15:18:04.000000000 +0530
>> @@ -117,8 +117,9 @@ SECTIONS
>> /* freed after init ends here */
>>
>> __bss_start = .; /* BSS */
>> + .bss.page_aligned : AT(ADDR(.bss.page_aligned) - LOAD_OFFSET) {
>> + *(.bss.page_aligned) }
>> .bss : AT(ADDR(.bss) - LOAD_OFFSET) {
>> - *(.bss.page_aligned)
>> *(.bss)
>> }
>> . = ALIGN(4);
>
>
> It's hard to see how that could go wrong. Did you compare the before- and
> after- output from `objdump -h vmlinux'?
>

The output of objdump for the bss related sections are as below..

Without patch - machine with newer binutils

24 .bss 0002cf38 c03df000 003df000 002df000 2**12
ALLOC

With patch - machine with newer binutils

24 .bss.page_aligned 00002000 c03df000 c03df000 002df000 2**2

25 .bss 0002af38 c03e1000 003e1000 002df000 2**12
ALLOC

With patch - machine with old binutils

24 .bss.page_aligned 00002000 c03df000 c03df000 002df000 2**2
CONTENTS
25 .bss 0002af38 c03e1000 003e1000 002df000 2**12
ALLOC

Regards, Hari