Messages in this thread | | | Date | Mon, 13 Apr 2020 15:32:05 +0800 | From | Jiaxun Yang <> | Subject | Re: [PATCH v4] MIPS: Truncate link address into 32bit for 32bit kernel |
| |
On Mon, 13 Apr 2020 07:59:29 +0100 (BST) "Maciej W. Rozycki" <macro@linux-mips.org> wrote:
> On Mon, 13 Apr 2020, Jiaxun Yang wrote: > > > LLD failed to link vmlinux with 64bit load address for 32bit ELF > > while bfd will strip 64bit address into 32bit silently. > > To fix LLD build, we should truncate load address provided by > > platform into 32bit for 32bit kernel. > > Reviewed-by: Maciej W. Rozycki <macro@linux-mips.org> > > > diff --git a/arch/mips/kernel/vmlinux.lds.S > > b/arch/mips/kernel/vmlinux.lds.S index a5f00ec73ea6..5226cd8e4bee > > 100644 --- a/arch/mips/kernel/vmlinux.lds.S > > +++ b/arch/mips/kernel/vmlinux.lds.S > > @@ -55,7 +55,7 @@ SECTIONS > > /* . = 0xa800000000300000; */ > > . = 0xffffffff80300000; > > #endif > > - . = VMLINUX_LOAD_ADDRESS; > > + . = VMLINUX_LINK_ADDRESS; > > The CONFIG_BOOT_ELF64 cruft right above it looks interesting to me, > never have ever been used. We have had the current arrangement since:
It confused me either. It's only used by SGI so probably it's time to rename it as BOOT_SEG_ELF64.
Wish someone could clarify what is it.
Thanks.
> > commit 923ec3d20eef9e36456868b590873ce39f17fe71 > Author: Ralf Baechle <ralf@linux-mips.org> > Date: Wed Nov 6 22:16:38 2002 +0000 > > Define load address in linker script instead of relying on the > deprecated and notoriously unreliable option -Ttext. > > and previously `-Ttext' was used with this script anyway, though not > very long, as the script was entirely ignored until: > > commit 7a782968041ffc4c2d89816238e2f8ea5cceddba > Author: Ralf Baechle <ralf@linux-mips.org> > Date: Thu Oct 31 23:54:21 2002 +0000 > > Merge with Linux 2.5.36. > > Maciej
-- Jiaxun Yang
| |