This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] Help diagnose problems with the metag target when mixing static and shared binaries.


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=6ec49e7c0aeb6d98e379319b565aee2c89388615

commit 6ec49e7c0aeb6d98e379319b565aee2c89388615
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Nov 18 09:27:41 2016 +0000

    Help diagnose problems with the metag target when mixing static and shared binaries.
    
    	PR ld/20675
    	* elf32-metag.c (elf_metag_relocate_section): Replace abort with
    	an informative error message.

Diff:
---
 bfd/ChangeLog     |  6 ++++++
 bfd/elf32-metag.c | 11 +++++++++--
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index fcc5b1c..b96b939 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,9 @@
+2016-11-18  Nick Clifton  <nickc@redhat.com>
+
+	PR ld/20675
+	* elf32-metag.c (elf_metag_relocate_section): Replace abort with
+	an informative error message.
+
 2016-11-15  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
 
 	PR ld/20789
diff --git a/bfd/elf32-metag.c b/bfd/elf32-metag.c
index 1557a37..ac78324 100644
--- a/bfd/elf32-metag.c
+++ b/bfd/elf32-metag.c
@@ -1820,7 +1820,7 @@ elf_metag_relocate_section (bfd *output_bfd,
 	      }
 
 	    if (tls_type == GOT_UNKNOWN)
-	      abort();
+	      abort ();
 
 	    if ((off & 1) != 0)
 	      off &= ~1;
@@ -1880,7 +1880,14 @@ elf_metag_relocate_section (bfd *output_bfd,
 		    else
 		      {
 			/* We don't support changing the TLS model.  */
-			abort ();
+			/* PR 20675 */
+			if (bfd_link_pic (info))
+			  _bfd_error_handler (_("%B(%A): multiple TLS models are not supported"),
+					      input_bfd, input_section, name);
+			else
+			  _bfd_error_handler (_("%B(%A): shared library symbol %s encountered whilst performing a static link"),
+					      input_bfd, input_section, name);
+			return FALSE;
 		      }
 
 		    cur_off += 8;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]