projects
/
external
/
binutils.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Automatic date update in version.in
[external/binutils.git]
/
bfd
/
elf32-m68k.c
diff --git
a/bfd/elf32-m68k.c
b/bfd/elf32-m68k.c
index
e8d9ed5
..
177be5d
100644
(file)
--- a/
bfd/elf32-m68k.c
+++ b/
bfd/elf32-m68k.c
@@
-1053,9
+1053,8
@@
elf32_m68k_object_p (bfd *abfd)
/* Somewhat reverse of elf32_m68k_object_p, this sets the e_flag
field based on the machine number. */
/* Somewhat reverse of elf32_m68k_object_p, this sets the e_flag
field based on the machine number. */
-static void
-elf_m68k_final_write_processing (bfd *abfd,
- bfd_boolean linker ATTRIBUTE_UNUSED)
+static bfd_boolean
+elf_m68k_final_write_processing (bfd *abfd)
{
int mach = bfd_get_mach (abfd);
unsigned long e_flags = elf_elfheader (abfd)->e_flags;
{
int mach = bfd_get_mach (abfd);
unsigned long e_flags = elf_elfheader (abfd)->e_flags;
@@
-1108,6
+1107,7
@@
elf_m68k_final_write_processing (bfd *abfd,
}
elf_elfheader (abfd)->e_flags = e_flags;
}
}
elf_elfheader (abfd)->e_flags = e_flags;
}
+ return _bfd_elf_final_write_processing (abfd);
}
/* Keep m68k-specific flags in the ELF header. */
}
/* Keep m68k-specific flags in the ELF header. */
@@
-1519,14
+1519,18
@@
elf_m68k_get_got_entry (struct elf_m68k_got *got,
}
entry_.key_ = *key;
}
entry_.key_ = *key;
- ptr = htab_find_slot (got->entries, &entry_, (howto != SEARCH
- ? INSERT : NO_INSERT));
+ ptr = htab_find_slot (got->entries, &entry_,
+ (howto == SEARCH || howto == MUST_FIND ? NO_INSERT
+ : INSERT));
if (ptr == NULL)
{
if (howto == SEARCH)
/* Entry not found. */
return NULL;
if (ptr == NULL)
{
if (howto == SEARCH)
/* Entry not found. */
return NULL;
+ if (howto == MUST_FIND)
+ abort ();
+
/* We're out of memory. */
bfd_set_error (bfd_error_no_memory);
return NULL;
/* We're out of memory. */
bfd_set_error (bfd_error_no_memory);
return NULL;
@@
-1535,7
+1539,10
@@
elf_m68k_get_got_entry (struct elf_m68k_got *got,
if (*ptr == NULL)
/* We didn't find the entry and we're asked to create a new one. */
{
if (*ptr == NULL)
/* We didn't find the entry and we're asked to create a new one. */
{
- BFD_ASSERT (howto != MUST_FIND && howto != SEARCH);
+ if (howto == MUST_FIND)
+ abort ();
+
+ BFD_ASSERT (howto != SEARCH);
entry = bfd_alloc (elf_hash_table (info)->dynobj, sizeof (*entry));
if (entry == NULL)
entry = bfd_alloc (elf_hash_table (info)->dynobj, sizeof (*entry));
if (entry == NULL)
@@
-1750,14
+1757,18
@@
elf_m68k_get_bfd2got_entry (struct elf_m68k_multi_got *multi_got,
}
entry_.bfd = abfd;
}
entry_.bfd = abfd;
- ptr = htab_find_slot (multi_got->bfd2got, &entry_, (howto != SEARCH
- ? INSERT : NO_INSERT));
+ ptr = htab_find_slot (multi_got->bfd2got, &entry_,
+ (howto == SEARCH || howto == MUST_FIND ? NO_INSERT
+ : INSERT));
if (ptr == NULL)
{
if (howto == SEARCH)
/* Entry not found. */
return NULL;
if (ptr == NULL)
{
if (howto == SEARCH)
/* Entry not found. */
return NULL;
+ if (howto == MUST_FIND)
+ abort ();
+
/* We're out of memory. */
bfd_set_error (bfd_error_no_memory);
return NULL;
/* We're out of memory. */
bfd_set_error (bfd_error_no_memory);
return NULL;
@@
-1766,7
+1777,10
@@
elf_m68k_get_bfd2got_entry (struct elf_m68k_multi_got *multi_got,
if (*ptr == NULL)
/* Entry was not found. Create new one. */
{
if (*ptr == NULL)
/* Entry was not found. Create new one. */
{
- BFD_ASSERT (howto != MUST_FIND && howto != SEARCH);
+ if (howto == MUST_FIND)
+ abort ();
+
+ BFD_ASSERT (howto != SEARCH);
entry = ((struct elf_m68k_bfd2got_entry *)
bfd_alloc (elf_hash_table (info)->dynobj, sizeof (*entry)));
entry = ((struct elf_m68k_bfd2got_entry *)
bfd_alloc (elf_hash_table (info)->dynobj, sizeof (*entry)));
@@
-3562,12
+3576,9
@@
elf_m68k_relocate_section (bfd *output_bfd,
BFD_ASSERT (sgot != NULL);
if (got == NULL)
BFD_ASSERT (sgot != NULL);
if (got == NULL)
- {
- got = elf_m68k_get_bfd2got_entry (elf_m68k_multi_got (info),
- input_bfd, MUST_FIND,
- NULL)->got;
- BFD_ASSERT (got != NULL);
- }
+ got = elf_m68k_get_bfd2got_entry (elf_m68k_multi_got (info),
+ input_bfd, MUST_FIND,
+ NULL)->got;
/* Get GOT offset for this symbol. */
elf_m68k_init_got_entry_key (&key_, h, input_bfd, r_symndx,
/* Get GOT offset for this symbol. */
elf_m68k_init_got_entry_key (&key_, h, input_bfd, r_symndx,