Thread (14 messages) flat view 14 messages, 5 authors, 2022-10-04

Re: [PATCH v2 6/7] powerpc/64/build: merge .got and .toc input sections

From: Christophe Leroy <hidden>
Date: 2022-09-16 18:46:25


Le 16/09/2022 à 06:07, Nicholas Piggin a écrit :
quoted hunk ↗ jump to hunk
Follow the binutils ld internal linker script and merge .got and .toc
input sections in the .got output section.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
---
  arch/powerpc/kernel/vmlinux.lds.S | 3 +--
  1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/arch/powerpc/kernel/vmlinux.lds.S b/arch/powerpc/kernel/vmlinux.lds.S
index 737825ae2ae0..3d96d51c8a5f 100644
--- a/arch/powerpc/kernel/vmlinux.lds.S
+++ b/arch/powerpc/kernel/vmlinux.lds.S
@@ -169,13 +169,12 @@ SECTIONS
  	}
  
  	.got : AT(ADDR(.got) - LOAD_OFFSET) ALIGN(256) {
-		*(.got)
+		*(.got .toc)
At the begining I was thinking that this change would jeopardise the 
below, but in fact the #ifdef below is pointless, because prom_init.o is 
built only when CONFIG_PPC_OF_BOOT_TRAMPOLINE is selected but 
CONFIG_PPC_OF_BOOT_TRAMPOLINE selects CONFIG_RELOCATABLE

So all __prom_init_toc_ stuff can go away :

arch/powerpc/include/asm/sections.h:extern char __prom_init_toc_start[];
arch/powerpc/include/asm/sections.h:extern char __prom_init_toc_end[];
arch/powerpc/kernel/prom_init_check.sh:__prom_init_toc_start 
__prom_init_toc_end btext_setup_display TOC.
arch/powerpc/kernel/vmlinux.lds.S:              __prom_init_toc_start = .;
arch/powerpc/kernel/vmlinux.lds.S:              __prom_init_toc_end = .;

  #ifndef CONFIG_RELOCATABLE
  		__prom_init_toc_start = .;
  		arch/powerpc/kernel/prom_init.o*(.toc)
  		__prom_init_toc_end = .;
  #endif
-		*(.toc)
  	}
  
  	SOFT_MASK_TABLE(8)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help