* Compile error on 2.6.10-rc1-mm1
@ 2004-10-29 9:37 Hariprasad Nellitheertha
2004-10-29 9:43 ` Andrew Morton
0 siblings, 1 reply; 3+ messages in thread
From: Hariprasad Nellitheertha @ 2004-10-29 9:37 UTC (permalink / raw)
To: Andrew Morton, linux-kernel; +Cc: ebiederm, Vara Prasad, fastboot
[-- Attachment #1: Type: text/plain, Size: 1096 bytes --]
Hi Andrew,
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. Since fixing this error needs an upgrade
of the binutils package on those machines, I was looking at
a possible workaround within the kernel code itself.
The problem seems to arise from the fact that the
.bss.page_aligned section (defined in head.S) is included
within the .bss section. Older binutils does not export the
proper physical address (LMA) for the .bss section. I made a
patch which moves the .bss.page_aligned section to just
before the .bss section. This compiles fine with both older
and newer binutils packages. I have done some amount of
testing with this change and it has not thrown up any problems.
I am not completely sure though if this does not have any
side effects. Could you kindly review this patch and let me
know if it looks ok.
If we can use this patch, it will spare us from having to
upgrade to the newer binutils package.
Regards, Hari
[-- Attachment #2: kdump-fix-bss-compile-error.patch --]
[-- Type: text/plain, Size: 779 bytes --]
Signed-off-by: Hariprasad Nellitheertha <hari@in.ibm.com>
---
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);
_
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Compile error on 2.6.10-rc1-mm1
2004-10-29 9:37 Compile error on 2.6.10-rc1-mm1 Hariprasad Nellitheertha
@ 2004-10-29 9:43 ` Andrew Morton
2004-10-29 10:51 ` Hariprasad Nellitheertha
0 siblings, 1 reply; 3+ messages in thread
From: Andrew Morton @ 2004-10-29 9:43 UTC (permalink / raw)
To: Hariprasad Nellitheertha; +Cc: linux-kernel, ebiederm, varap, fastboot
Hariprasad Nellitheertha <hari@in.ibm.com> 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'?
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Compile error on 2.6.10-rc1-mm1
2004-10-29 9:43 ` Andrew Morton
@ 2004-10-29 10:51 ` Hariprasad Nellitheertha
0 siblings, 0 replies; 3+ messages in thread
From: Hariprasad Nellitheertha @ 2004-10-29 10:51 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-kernel, ebiederm, varap, fastboot
Andrew Morton wrote:
> Hariprasad Nellitheertha <hari@in.ibm.com> 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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2004-10-29 10:52 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-10-29 9:37 Compile error on 2.6.10-rc1-mm1 Hariprasad Nellitheertha
2004-10-29 9:43 ` Andrew Morton
2004-10-29 10:51 ` Hariprasad Nellitheertha
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox