diff options
author | Alan Modra <amodra@gmail.com> | 2002-12-03 11:27:26 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2002-12-03 11:27:26 +0000 |
commit | 61b5f74bdbcdbcd3fdeaf6fdc664cd8570f056e6 (patch) | |
tree | 9eb9160333e34abafb00fdaba851bd2b62fd4fc9 /gas | |
parent | ae831be502bf99bc5da6b755f1d63a4dcea753c9 (diff) | |
download | gdb-61b5f74bdbcdbcd3fdeaf6fdc664cd8570f056e6.zip gdb-61b5f74bdbcdbcd3fdeaf6fdc664cd8570f056e6.tar.gz gdb-61b5f74bdbcdbcd3fdeaf6fdc664cd8570f056e6.tar.bz2 |
* config/tc-arm.c (arm_force_relocation): Return 0 for ARM_IMMEDIATE
and ARM_ADRL_IMMEDIATE.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-arm.c | 13 |
2 files changed, 14 insertions, 4 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index d74a0c6..d1694f3 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2002-12-03 Alan Modra <amodra@bigpond.net.au> + + * config/tc-arm.c (arm_force_relocation): Return 0 for ARM_IMMEDIATE + and ARM_ADRL_IMMEDIATE. + 2002-12-02 Nick Clifton <nickc@redhat.com> * gasp.c: Delete. It has been deprecated. diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index c5f776a..f78f100 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -2129,7 +2129,7 @@ typedef struct literal_pool symbolS * symbol; segT section; subsegT sub_section; - struct literal_pool * next; + struct literal_pool * next; } literal_pool; /* Pointer to a linked list of literal pools. */ @@ -2196,7 +2196,7 @@ find_or_make_literal_pool () static int add_to_lit_pool () { - literal_pool * pool; + literal_pool * pool; unsigned int entry; pool = find_or_make_literal_pool (); @@ -5796,7 +5796,7 @@ do_ldmstm (str) as_warn (_("if writeback register is in list, it must be the lowest reg in the list")); } } - + inst.instruction |= range; end_of_line (str); return; @@ -10294,7 +10294,7 @@ tc_gen_reloc (section, fixp) /* If this is called then the a literal has been referenced across a section boundary. */ as_bad_where (fixp->fx_file, fixp->fx_line, - _("literal referenced across section boundary")); + _("literal referenced across section boundary")); return NULL; #ifdef OBJ_ELF @@ -11526,6 +11526,11 @@ arm_force_relocation (fixp) || fixp->fx_r_type == BFD_RELOC_THUMB_PCREL_BRANCH23) return 1; + /* Resolve these relocations even if the symbol is extern or weak. */ + if (fixp->fx_r_type == BFD_RELOC_ARM_IMMEDIATE + || fixp->fx_r_type == BFD_RELOC_ARM_ADRL_IMMEDIATE) + return 0; + return S_FORCE_RELOC (fixp->fx_addsy); } |