aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>2010-10-12 19:00:30 +0000
committerIan Lance Taylor <ian@airs.com>2010-10-12 19:00:30 +0000
commit3cef71791839860d05c8c4246c4e1ce2520b44ca (patch)
treefed8610f762e9bf605348536bed9c2ef922e4935
parent93c17e06d2bbc70353ed0e8df3456f4cb35346f8 (diff)
downloadgdb-3cef71791839860d05c8c4246c4e1ce2520b44ca.zip
gdb-3cef71791839860d05c8c4246c4e1ce2520b44ca.tar.gz
gdb-3cef71791839860d05c8c4246c4e1ce2520b44ca.tar.bz2
* arm.cc (Target_arm::Scan::local): Report the unsupported reloc
error for the deprecated relocations. (Target_arm::Scan::global): Likewise. (Target_arm::Relocate::relocate): Likewise.
-rw-r--r--gold/ChangeLog7
-rw-r--r--gold/arm.cc25
2 files changed, 23 insertions, 9 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 88bc150..98581f6 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,10 @@
+2010-10-12 Viktor Kutuzov <vkutuzov@accesssoftek.com>
+
+ * arm.cc (Target_arm::Scan::local): Report the unsupported reloc
+ error for the deprecated relocations.
+ (Target_arm::Scan::global): Likewise.
+ (Target_arm::Relocate::relocate): Likewise.
+
2010-10-12 Richard Sandiford <richard.sandiford@linaro.org>
* fileread.cc (Input_file::find_file): Initialize *found_name
diff --git a/gold/arm.cc b/gold/arm.cc
index d6590f0..269fe69 100644
--- a/gold/arm.cc
+++ b/gold/arm.cc
@@ -7633,7 +7633,6 @@ Target_arm<big_endian>::Scan::local(Symbol_table* symtab,
}
break;
- case elfcpp::R_ARM_PC24:
case elfcpp::R_ARM_REL32:
case elfcpp::R_ARM_LDR_PC_G0:
case elfcpp::R_ARM_SBREL32:
@@ -7644,9 +7643,6 @@ Target_arm<big_endian>::Scan::local(Symbol_table* symtab,
case elfcpp::R_ARM_CALL:
case elfcpp::R_ARM_JUMP24:
case elfcpp::R_ARM_THM_JUMP24:
- case elfcpp::R_ARM_LDR_SBREL_11_0_NC:
- case elfcpp::R_ARM_ALU_SBREL_19_12_NC:
- case elfcpp::R_ARM_ALU_SBREL_27_20_CK:
case elfcpp::R_ARM_SBREL31:
case elfcpp::R_ARM_PREL31:
case elfcpp::R_ARM_MOVW_PREL_NC:
@@ -7850,6 +7846,10 @@ Target_arm<big_endian>::Scan::local(Symbol_table* symtab,
}
break;
+ case elfcpp::R_ARM_PC24:
+ case elfcpp::R_ARM_LDR_SBREL_11_0_NC:
+ case elfcpp::R_ARM_ALU_SBREL_19_12_NC:
+ case elfcpp::R_ARM_ALU_SBREL_27_20_CK:
default:
unsupported_reloc_local(object, r_type);
break;
@@ -8028,9 +8028,6 @@ Target_arm<big_endian>::Scan::global(Symbol_table* symtab,
case elfcpp::R_ARM_SBREL32:
case elfcpp::R_ARM_THM_PC8:
case elfcpp::R_ARM_BASE_PREL:
- case elfcpp::R_ARM_LDR_SBREL_11_0_NC:
- case elfcpp::R_ARM_ALU_SBREL_19_12_NC:
- case elfcpp::R_ARM_ALU_SBREL_27_20_CK:
case elfcpp::R_ARM_MOVW_PREL_NC:
case elfcpp::R_ARM_MOVT_PREL:
case elfcpp::R_ARM_THM_MOVW_PREL_NC:
@@ -8093,7 +8090,6 @@ Target_arm<big_endian>::Scan::global(Symbol_table* symtab,
}
break;
- case elfcpp::R_ARM_PC24:
case elfcpp::R_ARM_THM_CALL:
case elfcpp::R_ARM_PLT32:
case elfcpp::R_ARM_CALL:
@@ -8262,6 +8258,10 @@ Target_arm<big_endian>::Scan::global(Symbol_table* symtab,
}
break;
+ case elfcpp::R_ARM_PC24:
+ case elfcpp::R_ARM_LDR_SBREL_11_0_NC:
+ case elfcpp::R_ARM_ALU_SBREL_19_12_NC:
+ case elfcpp::R_ARM_ALU_SBREL_27_20_CK:
default:
unsupported_reloc_global(object, r_type, gsym);
break;
@@ -9040,8 +9040,15 @@ Target_arm<big_endian>::Relocate::relocate(
view, address, view_size);
break;
+ // The known and unknown unsupported and/or deprecated relocations.
+ case elfcpp::R_ARM_PC24:
+ case elfcpp::R_ARM_LDR_SBREL_11_0_NC:
+ case elfcpp::R_ARM_ALU_SBREL_19_12_NC:
+ case elfcpp::R_ARM_ALU_SBREL_27_20_CK:
default:
- gold_unreachable();
+ // Just silently leave the method. We should get an appropriate error
+ // message in the scan methods.
+ break;
}
// Report any errors.