* elf32-arm.c (record_arm_to_thumb_glue, record_thumb_to_arm_glue):
Expand comments. (arm_map_one_stub): Use | 1 when setting the low bit.
This commit is contained in:
parent
f74c6cad4e
commit
3dccd7b794
|
@ -1,3 +1,9 @@
|
||||||
|
2008-06-30 Daniel Jacobowitz <dan@codesourcery.com>
|
||||||
|
|
||||||
|
* elf32-arm.c (record_arm_to_thumb_glue, record_thumb_to_arm_glue):
|
||||||
|
Expand comments.
|
||||||
|
(arm_map_one_stub): Use | 1 when setting the low bit.
|
||||||
|
|
||||||
2008-06-29 Andreas Schwab <schwab@suse.de>
|
2008-06-29 Andreas Schwab <schwab@suse.de>
|
||||||
|
|
||||||
* elf32-m68k.c (elf_m68k_relocate_section): Don't ignore existing
|
* elf32-m68k.c (elf_m68k_relocate_section): Don't ignore existing
|
||||||
|
|
|
@ -3981,7 +3981,8 @@ record_arm_to_thumb_glue (struct bfd_link_info * link_info,
|
||||||
|
|
||||||
/* The only trick here is using hash_table->arm_glue_size as the value.
|
/* The only trick here is using hash_table->arm_glue_size as the value.
|
||||||
Even though the section isn't allocated yet, this is where we will be
|
Even though the section isn't allocated yet, this is where we will be
|
||||||
putting it. */
|
putting it. The +1 on the value marks that the stub has not been
|
||||||
|
output yet - not that it is a Thumb function. */
|
||||||
bh = NULL;
|
bh = NULL;
|
||||||
val = globals->arm_glue_size + 1;
|
val = globals->arm_glue_size + 1;
|
||||||
_bfd_generic_link_add_one_symbol (link_info, globals->bfd_of_glue_owner,
|
_bfd_generic_link_add_one_symbol (link_info, globals->bfd_of_glue_owner,
|
||||||
|
@ -4047,6 +4048,10 @@ record_thumb_to_arm_glue (struct bfd_link_info *link_info,
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* The only trick here is using hash_table->thumb_glue_size as the value.
|
||||||
|
Even though the section isn't allocated yet, this is where we will be
|
||||||
|
putting it. The +1 on the value marks that the stub has not been
|
||||||
|
output yet - not that it is a Thumb function. */
|
||||||
bh = NULL;
|
bh = NULL;
|
||||||
val = hash_table->thumb_glue_size + 1;
|
val = hash_table->thumb_glue_size + 1;
|
||||||
_bfd_generic_link_add_one_symbol (link_info, hash_table->bfd_of_glue_owner,
|
_bfd_generic_link_add_one_symbol (link_info, hash_table->bfd_of_glue_owner,
|
||||||
|
@ -11240,7 +11245,7 @@ arm_map_one_stub (struct bfd_hash_entry *gen_entry,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
break;
|
break;
|
||||||
case arm_thumb_thumb_stub_long_branch:
|
case arm_thumb_thumb_stub_long_branch:
|
||||||
if (!elf32_arm_output_stub_sym (osi, stub_name, addr + 1, 16))
|
if (!elf32_arm_output_stub_sym (osi, stub_name, addr | 1, 16))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (!elf32_arm_output_map_sym (osi, ARM_MAP_THUMB, addr))
|
if (!elf32_arm_output_map_sym (osi, ARM_MAP_THUMB, addr))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
@ -11248,7 +11253,7 @@ arm_map_one_stub (struct bfd_hash_entry *gen_entry,
|
||||||
return FALSE;
|
return FALSE;
|
||||||
break;
|
break;
|
||||||
case arm_thumb_arm_v4t_stub_long_branch:
|
case arm_thumb_arm_v4t_stub_long_branch:
|
||||||
if (!elf32_arm_output_stub_sym (osi, stub_name, addr + 1, 20))
|
if (!elf32_arm_output_stub_sym (osi, stub_name, addr | 1, 20))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
if (!elf32_arm_output_map_sym (osi, ARM_MAP_THUMB, addr))
|
if (!elf32_arm_output_map_sym (osi, ARM_MAP_THUMB, addr))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
Loading…
Reference in New Issue