From: Cary Coutant Date: Thu, 19 Apr 2018 17:20:08 +0000 (-0700) Subject: Fix second bug where --icf=safe triggers segfault when linking ARM. X-Git-Tag: binutils-2_31~701 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d83d54033545c0e7b668950b127753c88a33f950;p=external%2Fbinutils.git Fix second bug where --icf=safe triggers segfault when linking ARM. When checking a R_ARM_TARGET[12] relocation, we need a valid target pointer, but the garbage collection code was passing a NULL instead. The previous fix for this bug fixed the call to scan.global_reloc_may_be_function_pointer, but missed the similar call to scan.local_reloc_may_be_function_pointer. gold/ PR gold/23046 * gc.h (gc_process_relocs): Pass target to scan.local_reloc_may_be_function_pointer. --- diff --git a/gold/ChangeLog b/gold/ChangeLog index 270ba8a..bc17a9e 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,9 @@ +2018-04-19 Cary Coutant + + PR gold/23046 + * gc.h (gc_process_relocs): Pass target to + scan.local_reloc_may_be_function_pointer. + 2018-04-18 Nick Clifton * po/es.po: Updated Spanish translation. diff --git a/gold/gc.h b/gold/gc.h index 00f383f..7c79c23 100644 --- a/gold/gc.h +++ b/gold/gc.h @@ -263,7 +263,7 @@ gc_process_relocs( if (is_ordinary && check_section_for_function_pointers && lsym.get_st_type() != elfcpp::STT_OBJECT - && scan.local_reloc_may_be_function_pointer(symtab, NULL, NULL, + && scan.local_reloc_may_be_function_pointer(symtab, NULL, target, src_obj, src_indx, NULL, reloc, r_type, lsym))