Messages in this thread | | | Date | Mon, 13 Apr 2020 21:08:46 +0100 (BST) | From | "Maciej W. Rozycki" <> | Subject | Re: [PATCH v4] MIPS: Truncate link address into 32bit for 32bit kernel |
| |
On Mon, 13 Apr 2020, Fangrui Song wrote:
> >> > 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. > > Agreed that -Ttext in > > arch/mips/boot/compressed/Makefile > 100: cmd_zld = $(LD) $(KBUILD_LDFLAGS) -Ttext $(VMLINUZ_LOAD_ADDRESS) -T > $< $(vmlinuzobjs-y) -o $@ > > and a few other places are brittle. They need to be replaced with Output > Section Address: > (https://sourceware.org/binutils/docs/ld/Output-Section-Address.html > https://github.com/llvm/llvm-project/blob/master/lld/docs/ELF/linker_script.rst#output-section-address) > > -Ttext changes the address of .text . This can lead to the change of the > address of the text segment (RX), but this is not guaranteed (many > sections can be placed before .text and they are not affected).
That is unrelated, but you're free to clean it up of course.
Maciej
| |