This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: link script PROVIDE bugfix
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.