|
|
|
@ -4352,8 +4352,9 @@ swap_out_syms (abfd, sttp, relocatable_p) |
|
|
|
flagword flags = syms[idx]->flags; |
|
|
|
int type; |
|
|
|
|
|
|
|
if (flags & BSF_SECTION_SYM) |
|
|
|
/* Section symbols have no names. */ |
|
|
|
/* Section symbols usually have no name. The exception is
|
|
|
|
link-once section symbols, which we make global. */ |
|
|
|
if ((flags & (BSF_SECTION_SYM | BSF_GLOBAL)) == BSF_SECTION_SYM) |
|
|
|
sym.st_name = 0; |
|
|
|
else |
|
|
|
{ |
|
|
|
@ -4461,7 +4462,8 @@ swap_out_syms (abfd, sttp, relocatable_p) |
|
|
|
type = (*bed->elf_backend_get_symbol_type) (&type_ptr->internal_elf_sym, type); |
|
|
|
|
|
|
|
if (flags & BSF_SECTION_SYM) |
|
|
|
sym.st_info = ELF_ST_INFO (STB_LOCAL, STT_SECTION); |
|
|
|
sym.st_info = ELF_ST_INFO ((flags & BSF_GLOBAL |
|
|
|
? STB_GLOBAL : STB_LOCAL), STT_SECTION); |
|
|
|
else if (bfd_is_com_section (syms[idx]->section)) |
|
|
|
sym.st_info = ELF_ST_INFO (STB_GLOBAL, type); |
|
|
|
else if (bfd_is_und_section (syms[idx]->section)) |
|
|
|
|