summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cpukit/libdl/rtl-mdreloc-sparc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/cpukit/libdl/rtl-mdreloc-sparc.c b/cpukit/libdl/rtl-mdreloc-sparc.c
index 548c24132b..f8a4312a8a 100644
--- a/cpukit/libdl/rtl-mdreloc-sparc.c
+++ b/cpukit/libdl/rtl-mdreloc-sparc.c
@@ -232,8 +232,11 @@ rtems_rtl_elf_relocate_rela (rtems_rtl_obj* obj,
* We use the fact that relocation types are an `enum'
* Note: R_SPARC_6 is currently numerically largest.
*/
- if (type > R_TYPE(6))
+ if (type > R_TYPE(TLS_TPOFF64)) {
+ if (rtems_rtl_trace (RTEMS_RTL_TRACE_RELOC))
+ printf("rtl: invalid reloc type: %d\n", (int) type);
return rtems_rtl_elf_rel_failure;
+ }
value = rela->r_addend;