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
This commit is contained in:
Bryan Drewery 2016-06-05 23:05:14 +00:00
parent 4d40df1bff
commit 94bb24b387
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=301471
7 changed files with 13 additions and 40 deletions

View file

@ -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);

View file

@ -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,

View file

@ -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

View file

@ -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)
{

View file

@ -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)
{

View file

@ -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

View file

@ -29,4 +29,17 @@ CFLAGS+=-I${ELFTCDIR}/libelftc -I${ELFTCDIR}/common
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>