mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-19 17:18:24 +08:00
* config/tc-hppa.h (DIFF_EXPR_OK): Define for SOM target. Revise
comment regarding use of difference expressions. (TC_FORCE_RELOCATION_SUB_LOCAL): Define to 1.
This commit is contained in:
@ -1,5 +1,9 @@
|
|||||||
2008-09-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
2008-09-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||||||
|
|
||||||
|
* config/tc-hppa.h (DIFF_EXPR_OK): Define for SOM target. Revise
|
||||||
|
comment regarding use of difference expressions.
|
||||||
|
(TC_FORCE_RELOCATION_SUB_LOCAL): Define to 1.
|
||||||
|
|
||||||
* dw2gencfi.c (CFI_DIFF_EXPR_OK): Define if not defined.
|
* dw2gencfi.c (CFI_DIFF_EXPR_OK): Define if not defined.
|
||||||
(dot_cfi_personality): Use CFI_DIFF_EXPR_OK instead of DIFF_EXPR_OK.
|
(dot_cfi_personality): Use CFI_DIFF_EXPR_OK instead of DIFF_EXPR_OK.
|
||||||
(dot_cfi_lsda, output_cie, output_fde): Likewise.
|
(dot_cfi_lsda, output_cie, output_fde): Likewise.
|
||||||
|
@ -146,14 +146,23 @@ int hppa_fix_adjustable (struct fix *);
|
|||||||
two symbols. This includes the difference of two symbols when
|
two symbols. This includes the difference of two symbols when
|
||||||
one of them is undefined (this comes up in PIC code generation).
|
one of them is undefined (this comes up in PIC code generation).
|
||||||
|
|
||||||
We don't define DIFF_EXPR_OK because it does the wrong thing if
|
We allow the difference of two symbols when the subtract symbol is
|
||||||
the add symbol is undefined and the sub symbol is a symbol in
|
local to the relocation. This is implemented using R_HPPA_COMPLEX.
|
||||||
the same section as the relocation. We also need some way to
|
|
||||||
specialize some code in adjust_reloc_syms. */
|
This has some limitations. Difference expressions only work between
|
||||||
|
symbols in the same segment/quadrant of a module since the HP dynamic
|
||||||
|
loader relocates the text and data segments independently. Thus, a
|
||||||
|
difference expression can't be used between text and data symbols,
|
||||||
|
or between symbols in different executable modules. */
|
||||||
|
#define DIFF_EXPR_OK 1
|
||||||
|
#define TC_FORCE_RELOCATION_SUB_LOCAL(FIX) 1
|
||||||
#define UNDEFINED_DIFFERENCE_OK
|
#define UNDEFINED_DIFFERENCE_OK
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef OBJ_ELF
|
#ifdef OBJ_ELF
|
||||||
|
|
||||||
|
/* Difference expressions for the 64-bit HP-UX target have the same
|
||||||
|
limitations as those for the 32-bit SOM target. */
|
||||||
#define DIFF_EXPR_OK 1
|
#define DIFF_EXPR_OK 1
|
||||||
|
|
||||||
/* Handle .type psuedo. Given a type string of `millicode', set the
|
/* Handle .type psuedo. Given a type string of `millicode', set the
|
||||||
|
Reference in New Issue
Block a user