* aoutx.h (translate_to_native_sym_flags): Catch the case where
there is no output section.
This commit is contained in:
parent
559d5074f7
commit
6f56c941ee
|
@ -1,3 +1,8 @@
|
||||||
|
Thu Jan 6 14:24:44 1994 David J. Mackenzie (djm@thepub.cygnus.com)
|
||||||
|
|
||||||
|
* aoutx.h (translate_to_native_sym_flags): Catch the case where
|
||||||
|
there is no output section.
|
||||||
|
|
||||||
Thu Jan 6 14:37:42 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
Thu Jan 6 14:37:42 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com)
|
||||||
|
|
||||||
* hp300hpux.c (ARCH_SIZE): Define before including aoutx.h.
|
* hp300hpux.c (ARCH_SIZE): Define before including aoutx.h.
|
||||||
|
|
22
bfd/aoutx.h
22
bfd/aoutx.h
|
@ -1283,7 +1283,6 @@ DEFUN(translate_to_native_sym_flags,(sym_pointer, cache_ptr, abfd),
|
||||||
to another */
|
to another */
|
||||||
sym_pointer->e_type[0] &= ~N_TYPE;
|
sym_pointer->e_type[0] &= ~N_TYPE;
|
||||||
|
|
||||||
|
|
||||||
/* We attempt to order these tests by decreasing frequency of success,
|
/* We attempt to order these tests by decreasing frequency of success,
|
||||||
according to tcov when linking the linker. */
|
according to tcov when linking the linker. */
|
||||||
if (bfd_get_output_section(cache_ptr) == &bfd_abs_section) {
|
if (bfd_get_output_section(cache_ptr) == &bfd_abs_section) {
|
||||||
|
@ -1298,14 +1297,18 @@ DEFUN(translate_to_native_sym_flags,(sym_pointer, cache_ptr, abfd),
|
||||||
else if (bfd_get_output_section(cache_ptr) == obj_bsssec (abfd)) {
|
else if (bfd_get_output_section(cache_ptr) == obj_bsssec (abfd)) {
|
||||||
sym_pointer->e_type[0] |= N_BSS;
|
sym_pointer->e_type[0] |= N_BSS;
|
||||||
}
|
}
|
||||||
else if (bfd_get_output_section(cache_ptr) == &bfd_und_section)
|
else if (bfd_get_output_section(cache_ptr) == &bfd_und_section) {
|
||||||
{
|
sym_pointer->e_type[0] = (N_UNDF | N_EXT);
|
||||||
sym_pointer->e_type[0] = (N_UNDF | N_EXT);
|
}
|
||||||
}
|
else if (bfd_get_output_section(cache_ptr) == &bfd_ind_section) {
|
||||||
else if (bfd_get_output_section(cache_ptr) == &bfd_ind_section)
|
sym_pointer->e_type[0] = N_INDR;
|
||||||
{
|
}
|
||||||
sym_pointer->e_type[0] = N_INDR;
|
else if (bfd_get_output_section(cache_ptr) == NULL) {
|
||||||
}
|
/* Protect the bfd_is_com_section call.
|
||||||
|
This case occurs, e.g., for the *DEBUG* section of a COFF file. */
|
||||||
|
bfd_error = bfd_error_nonrepresentable_section;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
else if (bfd_is_com_section (bfd_get_output_section (cache_ptr))) {
|
else if (bfd_is_com_section (bfd_get_output_section (cache_ptr))) {
|
||||||
sym_pointer->e_type[0] = (N_UNDF | N_EXT);
|
sym_pointer->e_type[0] = (N_UNDF | N_EXT);
|
||||||
}
|
}
|
||||||
|
@ -1313,6 +1316,7 @@ DEFUN(translate_to_native_sym_flags,(sym_pointer, cache_ptr, abfd),
|
||||||
bfd_error = bfd_error_nonrepresentable_section;
|
bfd_error = bfd_error_nonrepresentable_section;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Turn the symbol from section relative to absolute again */
|
/* Turn the symbol from section relative to absolute again */
|
||||||
|
|
||||||
value += cache_ptr->section->output_section->vma + cache_ptr->section->output_offset ;
|
value += cache_ptr->section->output_section->vma + cache_ptr->section->output_offset ;
|
||||||
|
|
Loading…
Reference in New Issue