mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-25 13:27:26 +08:00
* elf32-m68k.c (bfd_elf_m68k_set_target_options): Don't set GOT
options unless an m68k hash table has been found.
This commit is contained in:
@ -1,3 +1,8 @@
|
|||||||
|
2010-08-20 Maciej W. Rozycki <macro@codesourcery.com>
|
||||||
|
|
||||||
|
* elf32-m68k.c (bfd_elf_m68k_set_target_options): Don't set GOT
|
||||||
|
options unless an m68k hash table has been found.
|
||||||
|
|
||||||
2010-08-20 Nick Clifton <nickc@redhat.com>
|
2010-08-20 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
* merge.c (sec_merge_emit): Do not zero pad sections that do not
|
* merge.c (sec_merge_emit): Do not zero pad sections that do not
|
||||||
|
@ -4745,34 +4745,44 @@ void
|
|||||||
bfd_elf_m68k_set_target_options (struct bfd_link_info *info, int got_handling)
|
bfd_elf_m68k_set_target_options (struct bfd_link_info *info, int got_handling)
|
||||||
{
|
{
|
||||||
struct elf_m68k_link_hash_table *htab;
|
struct elf_m68k_link_hash_table *htab;
|
||||||
|
bfd_boolean use_neg_got_offsets_p;
|
||||||
htab = elf_m68k_hash_table (info);
|
bfd_boolean allow_multigot_p;
|
||||||
|
bfd_boolean local_gp_p;
|
||||||
|
|
||||||
switch (got_handling)
|
switch (got_handling)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
/* --got=single. */
|
/* --got=single. */
|
||||||
htab->local_gp_p = FALSE;
|
local_gp_p = FALSE;
|
||||||
htab->use_neg_got_offsets_p = FALSE;
|
use_neg_got_offsets_p = FALSE;
|
||||||
htab->allow_multigot_p = FALSE;
|
allow_multigot_p = FALSE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 1:
|
case 1:
|
||||||
/* --got=negative. */
|
/* --got=negative. */
|
||||||
htab->local_gp_p = TRUE;
|
local_gp_p = TRUE;
|
||||||
htab->use_neg_got_offsets_p = TRUE;
|
use_neg_got_offsets_p = TRUE;
|
||||||
htab->allow_multigot_p = FALSE;
|
allow_multigot_p = FALSE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
/* --got=multigot. */
|
/* --got=multigot. */
|
||||||
htab->local_gp_p = TRUE;
|
local_gp_p = TRUE;
|
||||||
htab->use_neg_got_offsets_p = TRUE;
|
use_neg_got_offsets_p = TRUE;
|
||||||
htab->allow_multigot_p = TRUE;
|
allow_multigot_p = TRUE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
BFD_ASSERT (FALSE);
|
BFD_ASSERT (FALSE);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
htab = elf_m68k_hash_table (info);
|
||||||
|
if (htab != NULL)
|
||||||
|
{
|
||||||
|
htab->local_gp_p = local_gp_p;
|
||||||
|
htab->use_neg_got_offsets_p = use_neg_got_offsets_p;
|
||||||
|
htab->allow_multigot_p = allow_multigot_p;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user