svn commit: r301471 - in head: contrib/elftoolchain/brandelf contrib/elftoolchain/elfcopy contrib/elftoolchain/elfdump contrib/elftoolchain/libdwarf contrib/elftoolchain/libelftc contrib/elftoolcha...

Bryan Drewery bdrewery at FreeBSD.org
Sun Jun 5 23:05:16 UTC 2016


Author: bdrewery
Date: Sun Jun  5 23:05:14 2016
New Revision: 301471
URL: https://svnweb.freebsd.org/changeset/base/301471

Log:
  Use the in-tree sys/elf_common.h to build libelftc.
  
  This fixes build failures on older releases that lack various
  definitions such as EM_AARCH64 (which was unfixed before this).
  
  Revert all of the recent compatibility changes that worked around this
  problem.
  
  This uses the same method of using the in-tree header as lib/libelf,
  lib/libdwarf and usr.bin/readelf.
  
  Reviewed by:	emaste
  Sponsored by:	EMC / Isilon Storage Division
  Differential Revision:	https://reviews.freebsd.org/D6734

Modified:
  head/contrib/elftoolchain/brandelf/brandelf.c
  head/contrib/elftoolchain/elfcopy/main.c
  head/contrib/elftoolchain/elfdump/elfdump.c
  head/contrib/elftoolchain/libdwarf/libdwarf_reloc.c
  head/contrib/elftoolchain/libelftc/elftc_reloc_type_str.c
  head/contrib/elftoolchain/readelf/readelf.c
  head/lib/libelftc/Makefile

Modified: head/contrib/elftoolchain/brandelf/brandelf.c
==============================================================================
--- head/contrib/elftoolchain/brandelf/brandelf.c	Sun Jun  5 23:05:10 2016	(r301470)
+++ head/contrib/elftoolchain/brandelf/brandelf.c	Sun Jun  5 23:05:14 2016	(r301471)
@@ -46,11 +46,6 @@
 
 ELFTC_VCSID("$Id: brandelf.c 3440 2016-04-07 14:51:47Z emaste $");
 
-/* Backwards compatability for older FreeBSD releases. */
-#ifndef ELFOSABI_CLOUDABI
-#define ELFOSABI_CLOUDABI 17
-#endif
-
 static int elftype(const char *);
 static const char *iselftype(int);
 static void printelftypes(void);

Modified: head/contrib/elftoolchain/elfcopy/main.c
==============================================================================
--- head/contrib/elftoolchain/elfcopy/main.c	Sun Jun  5 23:05:10 2016	(r301470)
+++ head/contrib/elftoolchain/elfcopy/main.c	Sun Jun  5 23:05:14 2016	(r301471)
@@ -41,11 +41,6 @@
 
 ELFTC_VCSID("$Id: main.c 3446 2016-05-03 01:31:17Z emaste $");
 
-/* Backwards compatability for older FreeBSD releases. */
-#ifndef ELFOSABI_CLOUDABI
-#define ELFOSABI_CLOUDABI 17
-#endif
-
 enum options
 {
 	ECP_ADD_GNU_DEBUGLINK,

Modified: head/contrib/elftoolchain/elfdump/elfdump.c
==============================================================================
--- head/contrib/elftoolchain/elfdump/elfdump.c	Sun Jun  5 23:05:10 2016	(r301470)
+++ head/contrib/elftoolchain/elfdump/elfdump.c	Sun Jun  5 23:05:14 2016	(r301471)
@@ -52,14 +52,6 @@
 
 ELFTC_VCSID("$Id: elfdump.c 3474 2016-05-17 20:44:53Z emaste $");
 
-/* Backwards compatability for older FreeBSD releases. */
-#ifndef EM_IAMCU
-#define EM_IAMCU 6
-#endif
-#ifndef EM_RISCV
-#define EM_RISCV 243
-#endif
-
 #if defined(ELFTC_NEED_ELF_NOTE_DEFINITION)
 #include "native-elf-format.h"
 #if ELFTC_CLASS == ELFCLASS32

Modified: head/contrib/elftoolchain/libdwarf/libdwarf_reloc.c
==============================================================================
--- head/contrib/elftoolchain/libdwarf/libdwarf_reloc.c	Sun Jun  5 23:05:10 2016	(r301470)
+++ head/contrib/elftoolchain/libdwarf/libdwarf_reloc.c	Sun Jun  5 23:05:14 2016	(r301471)
@@ -28,11 +28,6 @@
 
 ELFTC_VCSID("$Id: libdwarf_reloc.c 3198 2015-05-14 18:36:19Z emaste $");
 
-/* Backwards compatability for older FreeBSD releases. */
-#ifndef EM_IAMCU
-#define EM_IAMCU 6
-#endif
-
 Dwarf_Unsigned
 _dwarf_get_reloc_type(Dwarf_P_Debug dbg, int is64)
 {

Modified: head/contrib/elftoolchain/libelftc/elftc_reloc_type_str.c
==============================================================================
--- head/contrib/elftoolchain/libelftc/elftc_reloc_type_str.c	Sun Jun  5 23:05:10 2016	(r301470)
+++ head/contrib/elftoolchain/libelftc/elftc_reloc_type_str.c	Sun Jun  5 23:05:14 2016	(r301471)
@@ -31,14 +31,6 @@
 #include <libelftc.h>
 #include <stdio.h>
 
-/* Backwards compatability for older FreeBSD releases. */
-#ifndef EM_IAMCU
-#define EM_IAMCU 6
-#endif
-#ifndef EM_RISCV
-#define EM_RISCV 243
-#endif
-
 const char *
 elftc_reloc_type_str(unsigned int mach, unsigned int type)
 {

Modified: head/contrib/elftoolchain/readelf/readelf.c
==============================================================================
--- head/contrib/elftoolchain/readelf/readelf.c	Sun Jun  5 23:05:10 2016	(r301470)
+++ head/contrib/elftoolchain/readelf/readelf.c	Sun Jun  5 23:05:14 2016	(r301471)
@@ -50,15 +50,6 @@
 ELFTC_VCSID("$Id: readelf.c 3469 2016-05-15 23:16:09Z emaste $");
 
 /* Backwards compatability for older FreeBSD releases. */
-#ifndef ELFOSABI_CLOUDABI
-#define ELFOSABI_CLOUDABI 17
-#endif
-#ifndef EM_IAMCU
-#define EM_IAMCU 6
-#endif
-#ifndef EM_RISCV
-#define EM_RISCV 243
-#endif
 #ifndef	STB_GNU_UNIQUE
 #define	STB_GNU_UNIQUE 10
 #endif

Modified: head/lib/libelftc/Makefile
==============================================================================
--- head/lib/libelftc/Makefile	Sun Jun  5 23:05:10 2016	(r301470)
+++ head/lib/libelftc/Makefile	Sun Jun  5 23:05:14 2016	(r301471)
@@ -29,4 +29,17 @@ CFLAGS+=-I${ELFTCDIR}/libelftc -I${ELFTC
 
 MAN=
 
+# This same hack is in lib/libelf/Makefile and usr.bin/readelf/Makefile
+# We need to link against the correct version of these files. One
+# solution is to include ../../sys in the include path. This causes
+# problems when a header file in sys depends on a file in another
+# part of the tree, e.g. a machine dependent header.
+#
+SRCS+=		sys/elf_common.h
+CLEANDIRS=	sys
+CFLAGS+=	-I.
+sys/elf_common.h: ${SRCTOP}/sys/${.TARGET} .NOMETA
+	mkdir -p ${.OBJDIR}/sys
+	ln -sf ${.ALLSRC} ${.TARGET}
+
 .include <bsd.lib.mk>


More information about the svn-src-all mailing list