mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 13:02:45 +00:00 
			
		
		
		
	 4defa401d3
			
		
	
	
		4defa401d3
		
	
	
	
	
		
			
			Aside from a straightforward rebase, this contains an out-of-tree patch from MaskRay which adds the `-Bsymbolic-non-weak-functions` flag to ld.
		
			
				
	
	
		
			43 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Patches for binutils on SerenityOS
 | |
| 
 | |
| ## `0001-Add-support-for-SerenityOS.patch`
 | |
| 
 | |
| Add support for SerenityOS
 | |
| 
 | |
| Teaches the assembler, BFD, and the linker about the SerenityOS target
 | |
| triple.
 | |
| 
 | |
| We set '/' to not start a comment in GAS, as the QEMU port uses it for
 | |
| division in constant expressions in assembly files (cf. as --divide).
 | |
| 
 | |
| `/usr/lib/Loader.so` is set as the default ELF interpreter.
 | |
| 
 | |
| On AArch64, we set `COMMONPAGESIZE` to enable RELRO support.
 | |
| 
 | |
| ## `0002-ld-Add-Bsymbolic-non-weak-functions.patch`
 | |
| 
 | |
| ld: Add -Bsymbolic-non-weak-functions
 | |
| 
 | |
| This option is a subset of -Bsymbolic-functions: only STB_GLOBAL are
 | |
| considered. Vague linkage functions are STB_WEAK. A vague linkage
 | |
| function may have different addresses in a -Bsymbolic-functions linked
 | |
| shared object and outside the shared object.
 | |
| -Bsymbolic-non-weak-functions can keep pointer equality while providing
 | |
| most benefits: (a) fewer JUMP_SLOT (symbol lookups) (b) avoid PLT
 | |
| entries for default visibility defined functions.
 | |
| 
 | |
|     PR 27871
 | |
| include/
 | |
|     * bfdlink.h (struct bfd_link_info): Add dynamic_weak_functions.
 | |
| ld/
 | |
|     * ldlex.h (enum option_values): Add OPTION_SYMBOLIC_NON_WEAK_FUNCTIONS.
 | |
|     * lexsup.c (struct ld_options): Add -Bsymbolic-non-weak-functions.
 | |
|     (enum symbolic_enum): Add symbolic_non_weak_functions.
 | |
|     (parse_args): Handle -Bsymbolic-non-weak-functions.
 | |
|     * ld.texi: Document -Bsymbolic-non-weak-functions.
 | |
|     * NEWS: Mention -Bsymbolic-non-weak-functions.
 | |
|     * testsuite/ld-elf/shared.exp: Add tests.
 | |
|     * testsuite/ld-elf/symbolic-non-weak-func.s: New file.
 | |
|     * testsuite/ld-elf/symbolic-non-weak-func-a.rd: Likewise.
 | |
|     * testsuite/ld-elf/symbolic-non-weak-func-b.rd: Likewise.
 | |
| 
 |