This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: Large data sections support
> On Sun, Jun 12, 2005 at 06:49:35PM +0200, Jan Hubicka wrote:
> > > > 2005-06-12 Jan Hubicka <jh@suse.cz>
> > > > * elf.c (bfd_get_section_by_name): Add .ldata support.
> > > > * elf64-x86-64.c (elf64_x86_64_add_symbol_hook): New.
> > > > (elf_backend_add_symbol_hook): Define.
> > > > * elf.sc: Add .ldata, .lbbs and .lrodata support.
> > >
> > > Shouldn't you add some special sectons to elf64-x86-64.c to support
> > > .ldata, .lbbs and .lrodata as output sections? Otherwise, you may
> > > get wrong section attributes/flags.
> >
> > I tought the section attributes are controlled from assembly and turns
> > out to be right. But unless I am mistaken last draft of ABI document
> > specify special flags and there is patch to implement this floating
> > around. I will dig it out.
>
> Both linker and assembler need to know their section attributes/flags
> when generating output sections.
Understood and we in addition specify SHF_LARGE flag in ABI to avoid
need linker to know section names, so I have to figure out how to get
this right.
> > > So the large data is beyound _end/end?
> >
> > Hmm, I am not quite sure what is the desired behaviour here.
> > What is OTHER_BSS_END_SYMBOLS used for?
>
> I think only hppa64linux.sh uses OTHER_BSS_SECTIONS to add additional
> bss sections. I don't know about about HPPA to comment.
I guess we should be safe here as the ldata and hppa64 won't interfere.
>
> > I assume that correct way is to move this before _end...
> >
>
> I think you should make sure the end of the last bss section is the
> same of _end/end. You may need to move
>
> ${RELOCATING+. = ALIGN(. != 0 ? ${ALIGNMENT} : 1);}
>
> from .bss to .lbss.
Hmm, if I order the .lbss section just after .bss as suggested by
Richard, shall _end/end still point to end of bss or to the end of
.rodata (as heap start there, right?)
Honza
>
>
> H.J.