Message ID | 18685.27030.529655.761257@cargo.ozlabs.ibm.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Hi Paulus, On Tue, 21 Oct 2008 16:33:10 +1100 Paul Mackerras <paulus@samba.org> wrote: > > It's a bug in older versions of ld (including 2.16.1) that's fixed in > the current version (2.18). However, this patch appears to work > around the problem - at least, it let me build a 32-bit kernel with a > cross-toolchain including a 2.16.1 ld. Let me know if this gets it > working for you. With that patch applied I got these errors for a powerpc ppc64_defconfig build (linux-next). /usr/bin/objcopy: Warning: '/dev/null' is not an ordinary file make[2]: *** [arch/powerpc/boot/zImage.pmac] Error 1 make[2]: *** Waiting for unfinished jobs.... /usr/bin/objcopy: Warning: '/dev/null' is not an ordinary file make[2]: *** [arch/powerpc/boot/zImage.pseries] Error 1
diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper index 25fe9d6..e8acee2 100755 --- a/arch/powerpc/boot/wrapper +++ b/arch/powerpc/boot/wrapper @@ -284,6 +284,8 @@ if [ -n "$dtb" ]; then if [ -n "$dts" ]; then rm $dtb fi +else + addsec $tmp /dev/null .kernel:dtb fi if [ "$platform" != "miboot" ]; then diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S index b39c27e..384dca5 100644 --- a/arch/powerpc/kernel/vmlinux.lds.S +++ b/arch/powerpc/kernel/vmlinux.lds.S @@ -187,6 +187,7 @@ SECTIONS *(.machine.desc) __machine_desc_end = . ; } +#ifdef CONFIG_RELOCATABLE . = ALIGN(8); .dynsym : AT(ADDR(.dynsym) - LOAD_OFFSET) { *(.dynsym) } .dynstr : AT(ADDR(.dynstr) - LOAD_OFFSET) { *(.dynstr) } @@ -202,6 +203,7 @@ SECTIONS __rela_dyn_start = .; *(.rela*) } +#endif /* Fake ELF header containing RPA note; for addnote */ .fakeelf : AT(ADDR(.fakeelf) - LOAD_OFFSET) { *(.fakeelf) }