* elf.c (elf_fake_sections): Fix up .tbss sh_size and sh_type.
* ldlang.c (lang_add_section): Don't turn .tbss into normal sections for relocatable link. (lang_size_sections_1): Don't make .tbss zero size for relocatable link.
This commit is contained in:
parent
5f8a318830
commit
704afa601f
@ -1,3 +1,7 @@
|
||||
2002-07-30 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* elf.c (elf_fake_sections): Fix up .tbss sh_size and sh_type.
|
||||
|
||||
2002-07-30 Alan Modra <amodra@bigpond.net.au>
|
||||
|
||||
* aoutx.h (some_aout_object_p): Clean up tdata properly on error.
|
||||
|
15
bfd/elf.c
15
bfd/elf.c
@ -2443,7 +2443,20 @@ elf_fake_sections (abfd, asect, failedptrarg)
|
||||
if ((asect->flags & SEC_GROUP) == 0 && elf_group_name (asect) != NULL)
|
||||
this_hdr->sh_flags |= SHF_GROUP;
|
||||
if ((asect->flags & SEC_THREAD_LOCAL) != 0)
|
||||
this_hdr->sh_flags |= SHF_TLS;
|
||||
{
|
||||
this_hdr->sh_flags |= SHF_TLS;
|
||||
if (asect->_raw_size == 0 && (asect->flags & SEC_HAS_CONTENTS) == 0)
|
||||
{
|
||||
struct bfd_link_order *o;
|
||||
|
||||
this_hdr->sh_size = 0;
|
||||
for (o = asect->link_order_head; o != NULL; o = o->next)
|
||||
if (this_hdr->sh_size < o->offset + o->size)
|
||||
this_hdr->sh_size = o->offset + o->size;
|
||||
if (this_hdr->sh_size)
|
||||
this_hdr->sh_type = SHT_NOBITS;
|
||||
}
|
||||
}
|
||||
|
||||
/* Check for processor-specific section types. */
|
||||
if (bed->elf_backend_fake_sections
|
||||
|
@ -1,3 +1,10 @@
|
||||
2002-07-30 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* ldlang.c (lang_add_section): Don't turn .tbss into normal sections
|
||||
for relocatable link.
|
||||
(lang_size_sections_1): Don't make .tbss zero size for relocatable
|
||||
link.
|
||||
|
||||
2002-07-26 Bernd Schmidt <bernds@redhat.com>
|
||||
|
||||
* emulparams/elf32frv.sh (OTHER_RELOCATING_SECTIONS): Delete.
|
||||
|
@ -1218,7 +1218,7 @@ lang_add_section (ptr, section, output, file)
|
||||
}
|
||||
|
||||
/* For now make .tbss normal section. */
|
||||
if (flags & SEC_THREAD_LOCAL)
|
||||
if ((flags & SEC_THREAD_LOCAL) && ! link_info.relocateable)
|
||||
flags |= SEC_LOAD;
|
||||
|
||||
section->output_section->flags |= flags;
|
||||
@ -3055,7 +3055,8 @@ lang_size_sections_1 (s, output_section_statement, prev, fill, dot, relax)
|
||||
if (bfd_is_abs_section (os->bfd_section))
|
||||
ASSERT (after == os->bfd_section->vma);
|
||||
else if ((os->bfd_section->flags & SEC_HAS_CONTENTS) == 0
|
||||
&& (os->bfd_section->flags & SEC_THREAD_LOCAL))
|
||||
&& (os->bfd_section->flags & SEC_THREAD_LOCAL)
|
||||
&& ! link_info.relocateable)
|
||||
os->bfd_section->_raw_size = 0;
|
||||
else
|
||||
os->bfd_section->_raw_size =
|
||||
|
Loading…
x
Reference in New Issue
Block a user