This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
PATCH: Replace return FALSE with abort in x86 finish_dynamic_symbol
- From: "H.J. Lu" <hongjiu dot lu at intel dot com>
- To: binutils at sourceware dot org
- Date: Mon, 17 Sep 2012 11:38:38 -0700
- Subject: PATCH: Replace return FALSE with abort in x86 finish_dynamic_symbol
- Reply-to: "H.J. Lu" <hjl dot tools at gmail dot com>
It is too late for elf_link_output_extsym to do anything useful when
finish_dynamic_symbol returns FALSE. It is a linker internal bug and
we should fix it. I checked it in.
H.J.
---
* elf32-i386.c (elf_i386_finish_dynamic_symbol): Replace return
FALSE with abort.
* elf64-x86-64.c (elf_x86_64_finish_dynamic_symbol): Likewise.
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index 25e3a33..59feea2 100644
--- a/bfd/elf32-i386.c
+++ b/bfd/elf32-i386.c
@@ -4520,7 +4520,7 @@ elf_i386_finish_dynamic_symbol (bfd *output_bfd,
|| plt == NULL
|| gotplt == NULL
|| relplt == NULL)
- return FALSE;
+ abort ();
/* Get the index in the procedure linkage table which
corresponds to this symbol. This is the index of this symbol
diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
index 7daecb4..cccc5ca 100644
--- a/bfd/elf64-x86-64.c
+++ b/bfd/elf64-x86-64.c
@@ -4466,7 +4466,7 @@ elf_x86_64_finish_dynamic_symbol (bfd *output_bfd,
|| plt == NULL
|| gotplt == NULL
|| relplt == NULL)
- return FALSE;
+ abort ();
/* Get the index in the procedure linkage table which
corresponds to this symbol. This is the index of this symbol