mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-11-27 03:51:15 +08:00
* write.c (fixup_segment) [TC_DONT_FIX_NON_ADJUSTABLE]: Use
obj_fix_adjustable() and tc_fix_adjustable() to tell whether to add a symbol's address. Removed all target-specific #ifdefs that used to accomplished the same. * config/tc-v850.h (TC_DONT_FIX_NON_ADJUSTABLE): Define. * config/tc-m68k.h (TC_DONT_FIX_NON_ADJUSTABLE): Define. * config/tc-arm.h (TC_DONT_FIX_NON_ADJUSTABLE): Define. * config/tc-i960.h (TC_DONT_FIX_NON_ADJUSTABLE): Define. * config/tc-i386.h (TC_DONT_FIX_NON_ADJUSTABLE): Define.
This commit is contained in:
parent
2ac374c471
commit
021986386e
@ -1,3 +1,15 @@
|
||||
2000-08-18 Alexandre Oliva <aoliva@redhat.com>
|
||||
|
||||
* write.c (fixup_segment) [TC_DONT_FIX_NON_ADJUSTABLE]: Use
|
||||
obj_fix_adjustable() and tc_fix_adjustable() to tell whether to
|
||||
add a symbol's address. Removed all target-specific #ifdefs that
|
||||
used to accomplished the same.
|
||||
* config/tc-v850.h (TC_DONT_FIX_NON_ADJUSTABLE): Define.
|
||||
* config/tc-m68k.h (TC_DONT_FIX_NON_ADJUSTABLE): Define.
|
||||
* config/tc-arm.h (TC_DONT_FIX_NON_ADJUSTABLE): Define.
|
||||
* config/tc-i960.h (TC_DONT_FIX_NON_ADJUSTABLE): Define.
|
||||
* config/tc-i386.h (TC_DONT_FIX_NON_ADJUSTABLE): Define.
|
||||
|
||||
2000-08-17 Kazu Hirata <kazu@hxi.com>
|
||||
|
||||
* dwarf2dbg.c: Fix formatting.
|
||||
|
@ -116,6 +116,10 @@
|
||||
#define TC_FIX_TYPE PTR
|
||||
#define TC_INIT_FIX_DATA(FIXP) ((FIXP)->tc_fix_data = NULL)
|
||||
|
||||
/* This arranges for gas/write.c to not apply a relocation if
|
||||
obj_fix_adjustable() says it is not adjustable. */
|
||||
#define TC_DONT_FIX_NON_ADJUSTABLE 1
|
||||
|
||||
#ifdef OBJ_ELF
|
||||
#include "write.h" /* For definition of fixS */
|
||||
#define obj_fix_adjustable(fixP) arm_fix_adjustable (fixP)
|
||||
|
@ -38,6 +38,10 @@ struct fix;
|
||||
type. The idea is that if the original type is already some kind of PIC
|
||||
relocation, we leave it alone, otherwise we give it the desired type */
|
||||
|
||||
/* This arranges for gas/write.c to not apply a relocation if
|
||||
tc_fix_adjustable() says it is not adjustable. */
|
||||
#define TC_DONT_FIX_NON_ADJUSTABLE 1
|
||||
|
||||
#define tc_fix_adjustable(X) tc_i386_fix_adjustable(X)
|
||||
extern int tc_i386_fix_adjustable PARAMS ((struct fix *));
|
||||
|
||||
|
@ -153,6 +153,10 @@ extern int i960_validate_fix PARAMS ((struct fix *, segT, symbolS **));
|
||||
&& ! S_IS_COMMON ((FIX)->fx_addsy)))
|
||||
#endif
|
||||
|
||||
/* This arranges for gas/write.c to not apply a relocation if
|
||||
tc_fix_adjustable() says it is not adjustable. */
|
||||
#define TC_DONT_FIX_NON_ADJUSTABLE 1
|
||||
|
||||
#ifndef OBJ_ELF
|
||||
#define tc_fix_adjustable(FIXP) ((FIXP)->fx_bsr == 0)
|
||||
#else
|
||||
|
@ -173,6 +173,10 @@ while (0)
|
||||
&& S_IS_DEFINED ((FIX)->fx_addsy) \
|
||||
&& ! S_IS_COMMON ((FIX)->fx_addsy)))
|
||||
|
||||
/* This arranges for gas/write.c to not apply a relocation if
|
||||
tc_fix_adjustable() says it is not adjustable. */
|
||||
#define TC_DONT_FIX_NON_ADJUSTABLE 1
|
||||
|
||||
#define tc_fix_adjustable(X) tc_m68k_fix_adjustable(X)
|
||||
extern int tc_m68k_fix_adjustable PARAMS ((struct fix *));
|
||||
#define elf_tc_final_processing m68k_elf_final_processing
|
||||
|
@ -1,5 +1,5 @@
|
||||
/* tc-v850.h -- Header file for tc-v850.c.
|
||||
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||
Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GAS, the GNU Assembler.
|
||||
|
||||
@ -37,6 +37,10 @@
|
||||
#define MD_APPLY_FIX3
|
||||
#define md_operand(x)
|
||||
|
||||
/* This arranges for gas/write.c to not apply a relocation if
|
||||
obj_fix_adjustable() says it is not adjustable. */
|
||||
#define TC_DONT_FIX_NON_ADJUSTABLE 1
|
||||
|
||||
#define obj_fix_adjustable(fixP) v850_fix_adjustable(fixP)
|
||||
#define TC_FORCE_RELOCATION(fixp) v850_force_relocation(fixp)
|
||||
extern int v850_force_relocation PARAMS ((struct fix *));
|
||||
|
16
gas/write.c
16
gas/write.c
@ -2706,17 +2706,17 @@ fixup_segment (fixP, this_segment_type)
|
||||
else
|
||||
{
|
||||
seg_reloc_count++;
|
||||
#if !(defined (TC_V850) && defined (OBJ_ELF))
|
||||
#if !(defined (TC_M68K) && defined (OBJ_ELF))
|
||||
#if !(defined (TC_ARM) && defined (OBJ_ELF))
|
||||
#if !(defined (TC_I960) && defined (OBJ_ELF))
|
||||
#if !defined (TC_I386) || !(defined (OBJ_ELF) || defined (OBJ_COFF)) || defined (TE_PE)
|
||||
add_number += S_GET_VALUE (add_symbolP);
|
||||
#endif
|
||||
#endif
|
||||
#ifdef TC_DONT_FIX_NON_ADJUSTABLE
|
||||
if (1
|
||||
#ifdef obj_fix_adjustable
|
||||
&& obj_fix_adjustable (fixP)
|
||||
#endif
|
||||
#ifdef tc_fix_adjustable
|
||||
&& tc_fix_adjustable (fixP)
|
||||
#endif
|
||||
)
|
||||
#endif
|
||||
add_number += S_GET_VALUE (add_symbolP);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user