|| ELF_ST_TYPE (sym->st_info) == STT_TLS)
break;
- /* st_value is the alignemnt constraint.
+ /* st_value is the alignment constraint.
That might be its actual size if it is an array or structure. */
switch (sym->st_value)
{
return TRUE;
}
- (*secp)->flags |= SEC_IS_COMMON;
+ (*secp)->flags |= SEC_IS_COMMON | SEC_SMALL_DATA;
*valp = sym->st_size;
break;
}
return NULL;
}
- ret->sdynbss = NULL;
- ret->srelbss = NULL;
ret->sym_ld_script = NULL;
return &ret->root.root;
initialize them at run time. The linker script puts the .dynbss
section into the .bss section of the final image. */
s = bfd_make_section (abfd, ".dynbss");
- htab->sdynbss = s;
+ htab->root.sdynbss = s;
if (s == NULL
|| !bfd_set_section_flags (s, SEC_ALLOC | SEC_LINKER_CREATED))
return FALSE;
{
s = bfd_make_section (abfd, (bed->default_use_rela_p
? ".rela.bss" : ".rel.bss"));
- htab->srelbss = s;
+ htab->root.srelbss = s;
if (s == NULL
|| !bfd_set_section_flags (s, flags | SEC_READONLY)
|| !bfd_set_section_alignment (s, ptralign))
same memory location for the variable. */
htab = nds32_elf_hash_table (info);
- s = htab->sdynbss;
+ s = htab->root.sdynbss;
BFD_ASSERT (s != NULL);
/* We must generate a R_NDS32_COPY reloc to tell the dynamic linker
{
asection *srel;
- srel = htab->srelbss;
+ srel = htab->root.srelbss;
BFD_ASSERT (srel != NULL);
srel->size += sizeof (Elf32_External_Rela);
h->needs_copy = 1;
void *vpp;
Elf_Internal_Sym *isym;
- isym = bfd_sym_from_r_symndx (&htab->sym_cache, abfd, r_symndx);
+ isym = bfd_sym_from_r_symndx (&htab->root.sym_cache,
+ abfd, r_symndx);
if (isym == NULL)
return FALSE;