* som.c (hppa_som_gen_reloc_type): Use correct enum type for

field parameter.
        (bfd_som_set_section_attributes): Use unsigned int rather than
        unsigned char to avoid GNU-C extensions.
        (bfd_som_attach_aux_hdr): Return a boolean to indicate success
        or failure rather than aborting on failure.

        * som.h (bfd_som_set_section_attributes): Fix prototype to match
        som.c changes.
        (bfd_som_attach_aux_hdr): Add prototype.
        (hppa_som-gen_reloc_type): Likewise.

        * elf32-hppa.c: Add a couple casts to make HP compiler happy.
        (hppa_look_for_stubs_in_section): Do not return false on failure
        until rest of code is ready to handle it.  Abort for now.
This commit is contained in:
Jeff Law 1994-03-02 19:59:03 +00:00
parent 3c5d10c8df
commit 44fd66228a
4 changed files with 36 additions and 13 deletions

View File

@ -1,3 +1,23 @@
Wed Mar 2 11:57:03 1994 Jeffrey A. Law (law@snake.cs.utah.edu)
* Changes to make HP C compiler happy in both traditional
and ANSI mode.
* som.c (hppa_som_gen_reloc_type): Use correct enum type for
field parameter.
(bfd_som_set_section_attributes): Use unsigned int rather than
unsigned char to avoid GNU-C extensions.
(bfd_som_attach_aux_hdr): Return a boolean to indicate success
or failure rather than aborting on failure.
* som.h (bfd_som_set_section_attributes): Fix prototype to match
som.c changes.
(bfd_som_attach_aux_hdr): Add prototype.
(hppa_som-gen_reloc_type): Likewise.
* elf32-hppa.c: Add a couple casts to make HP compiler happy.
(hppa_look_for_stubs_in_section): Do not return false on failure
until rest of code is ready to handle it. Abort for now.
Tue Mar 1 18:33:59 1994 Jim Kingdon (kingdon@deneb.cygnus.com)
* bfd-in2.h: Rebuilt.

View File

@ -2191,7 +2191,8 @@ hppa_elf_build_linker_stub (abfd, output_bfd, link_info, reloc_entry,
old symbol (a function symbol) to the stub (the stub will call
the original function). */
stub_sym = stub_entry->sym;
reloc_entry->sym_ptr_ptr = bfd_zalloc (abfd, sizeof (asymbol **));
reloc_entry->sym_ptr_ptr = (asymbol **) bfd_zalloc (abfd,
sizeof (asymbol **));
if (reloc_entry->sym_ptr_ptr == NULL)
{
bfd_set_error (bfd_error_no_memory);
@ -2229,7 +2230,8 @@ hppa_elf_build_linker_stub (abfd, output_bfd, link_info, reloc_entry,
/* Redirect the original relocation from the old symbol (a function)
to the stub (the stub calls the function). */
reloc_entry->sym_ptr_ptr = bfd_zalloc (abfd, sizeof (asymbol **));
reloc_entry->sym_ptr_ptr = (asymbol **) bfd_zalloc (abfd,
sizeof (asymbol **));
if (reloc_entry->sym_ptr_ptr == NULL)
{
bfd_set_error (bfd_error_no_memory);
@ -2724,7 +2726,7 @@ hppa_look_for_stubs_in_section (stub_bfd, abfd, output_bfd, asec,
if (!abfd->outsymbols)
{
bfd_set_error (bfd_error_no_memory);
return false;
abort ();
}
abfd->symcount = bfd_canonicalize_symtab (abfd, abfd->outsymbols);
}

View File

@ -1369,7 +1369,7 @@ hppa_som_gen_reloc_type (abfd, base_type, format, field)
bfd *abfd;
int base_type;
int format;
enum hppa_reloc_field_selector_type field;
enum hppa_reloc_field_selector_type_alt field;
{
int *final_type, **final_types;
@ -3990,7 +3990,7 @@ bfd_som_set_section_attributes (section, defined, private, sort_key, spnum)
asection *section;
int defined;
int private;
unsigned char sort_key;
unsigned int sort_key;
int spnum;
{
struct space_dictionary_record *space_dict;
@ -4052,7 +4052,7 @@ bfd_som_attach_unwind_info (symbol, unwind_desc)
/* Attach an auxiliary header to the BFD backend so that it may be
written into the object file. */
void
boolean
bfd_som_attach_aux_hdr (abfd, type, string)
bfd *abfd;
int type;
@ -4071,7 +4071,7 @@ bfd_som_attach_aux_hdr (abfd, type, string)
if (!obj_som_version_hdr (abfd))
{
bfd_set_error (bfd_error_no_memory);
abort(); /* FIXME */
return false;
}
obj_som_version_hdr (abfd)->header_id.type = VERSION_AUX_ID;
obj_som_version_hdr (abfd)->header_id.length = len + pad;
@ -4092,7 +4092,7 @@ bfd_som_attach_aux_hdr (abfd, type, string)
if (!obj_som_copyright_hdr (abfd))
{
bfd_set_error (bfd_error_no_error);
abort(); /* FIXME */
return false;
}
obj_som_copyright_hdr (abfd)->header_id.type = COPYRIGHT_AUX_ID;
obj_som_copyright_hdr (abfd)->header_id.length = len + pad;
@ -4100,8 +4100,7 @@ bfd_som_attach_aux_hdr (abfd, type, string)
obj_som_copyright_hdr (abfd)->string_length = len;
strcpy (obj_som_copyright_hdr (abfd)->copyright, string);
}
else
abort ();
return true;
}
static boolean

View File

@ -135,7 +135,7 @@ struct som_section_data_struct
#define som_section_data(sec) \
((struct som_section_data_struct *)sec->used_by_bfd)
#define som_symbol_data(symbol) \
(((som_symbol_type **) symbol->udata))
((som_symbol_type *) symbol)
/* Defines groups of basic relocations. FIXME: These should
@ -160,10 +160,12 @@ struct som_section_data_struct
/* Exported functions, mostly for use by GAS. */
void bfd_som_set_section_attributes PARAMS ((asection *, int, int,
unsigned char, int));
unsigned int, int));
void bfd_som_set_subsection_attributes PARAMS ((asection *, asection *,
int, unsigned int, int));
void bfd_som_set_symbol_type PARAMS ((asymbol *, unsigned int));
void bfd_som_attach_unwind_info PARAMS ((asymbol *, char *));
boolean bfd_som_attach_aux_hdr PARAMS ((bfd *, int, char *));
int ** hppa_som_gen_reloc_type
PARAMS ((bfd *, int, int, enum hppa_reloc_field_selector_type_alt));
#endif /* _SOM_H */