From c6f9b9a14126a36d97ae9cbb59064eab067d2edc Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Tue, 24 Apr 2001 08:06:04 +0000 Subject: [PATCH] If a SYMBOL_REF is in the constant pool, use the pool's SYMBOL_REF. From-SVN: r41518 --- gcc/ChangeLog | 3 +++ gcc/dwarf2out.c | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a083a5b8ae7..7569d1225ba 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,8 @@ 2001-04-24 Nick Clifton + * dwarf2out.c (mem_loc_descriptor): If a SYMBOL_REF is in the + constant pool, use the pool's SYMBOL_REF instead. + * config/v850/v850.h (STRICT_ALIGNMENT): Always set, even for the v850e. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 9be55d8ff6d..b709d07ee07 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -7117,6 +7117,12 @@ mem_loc_descriptor (rtl, mode) pool. */ case CONST: case SYMBOL_REF: + /* Alternatively, the symbol in the constant pool can be referenced + by a different symbol. */ + if (GET_CODE (rtl) == SYMBOL_REF + && CONSTANT_POOL_ADDRESS_P (rtl)) + rtl = get_pool_constant (rtl); + mem_loc_result = new_loc_descr (DW_OP_addr, 0, 0); mem_loc_result->dw_loc_oprnd1.val_class = dw_val_class_addr; mem_loc_result->dw_loc_oprnd1.v.val_addr = save_rtx (rtl); -- 2.30.2