link script PROVIDE bugfix

H. J. Lu hjl@lucon.org
Fri Aug 5 17:55:00 GMT 2005


On Fri, Aug 05, 2005 at 01:58:02PM +0930, Alan Modra wrote:
> On Thu, Aug 04, 2005 at 07:49:37PM +0100, Paul Brook wrote:
> > elf.sc (and other scripts based on it) already contain ${OTHER_END_SYMBOLS} 
> 
> Oops, sorry.  This reintroduces OTHER_BSS_END_SYMBOLS for syms defined
> at the end of bss, uses OTHER_END_SYMBOLS for syms that belong with
> _end, and uses OTHER_SYMBOLS for syms at the end of the script.
> 
> I've also moved the LARGE_SECTIONS definitions into elf_x86_64.sh since
> no other target as yet uses them.  They can go back into the main ELF
> file if and when other targets need them, assuming the same definition
> works.
> 
> 	* emulparams/armelf.sh (OTHER_BSS_END_SYMBOLS): Split out from
> 	OTHER_END_SYMBOLS.
> 	* emulparams/armelf_linux.sh: Likewise.
> 	* emulparams/armnto.sh: Likewise.
> 	* emulparams/criself.sh: Likewise.
> 	* emulparams/elf32mcore.sh: Likewise.
> 	* emulparams/criself.sh (OTHER_SYMBOLS): Define.
> 	* emulparams/crislinux.sh (OTHER_SYMBOLS): Define.
> 	(OTHER_END_SYMBOLS): Don't define.
> 	* emulparams/elf32fr30.sh: Likewise.
> 	* emulparams/elf64mmix.sh: Likewise.
> 	* emulparams/hppa64linux.sh: Likewise.
> 	* emulparams/m32relf.sh: Likewise.
> 	* emulparams/vxworks.sh: Likewise.
> 	* scripttempl/armbpabi.sc (OTHER_BSS_SECTIONS): Delete.
> 	(OTHER_BSS_END_SYMBOLS): Add.
> 	(OTHER_END_SYMBOLS): Move before current end sym definitions.
> 	(OTHER_SYMBOLS): Replace OTHER_END_SYMBOLS near end of script.
> 	* scripttempl/elf.sc: Likewise.
> 	* scripttempl/elf32sh-symbian.sc: Likewise.
> 	* scripttempl/elf_chaos.sc: Likewise.
> 	* scripttempl/elfxtensa.sc: Likewise.
> 	* scripttempl/iq2000.sc: Likewise.
> 	* scripttempl/xstormy16.sc: Likewise.
> 
> 	* scripttempl/elf.sc (LBSS, LARGE_SECTIONS): Delete.
> 	(REL_LDATA, REL_LBSS, REL_LRODATA): Delete.
> 	(REL_LARGE, LARGE_SECTIONS): Add.
> 	* emulparams/elf_x86_64.sh (LARGE_SECTIONS): Define as script text.
> 	(REL_LARGE): Define.
> 	* emulparams/hppa64linux.sh (OTHER_BSS_SECTIONS): Don't define.
> 	(LARGE_SECTIONS): Define.
> 	* emulparams/hppa64linux.sh (OTHER_BSS_SECTIONS): Don't define.
> 	(LARGE_SECTIONS): Define.
> 

I think it is a very bad idea to miss use LARGE_SECTIONS for something
else. That means it is very hard to add new bss/data sections. What is
wrong with OTHER_BSS_SECTIONS?


H.J.



More information about the Binutils mailing list