From 6eabfa967042e60221a66b4b2cb6f603336a2619 Mon Sep 17 00:00:00 2001 From: Kai Wang Date: Tue, 21 Jan 2014 20:42:15 +0000 Subject: [PATCH] Reapply revisions r237528, r237531 and r238741 which make libelf properly include sys/ headers from the source tree instead of the host. These patches are also applied to libdwarf since libdwarf requires the same sys/ headers as libelf. --- lib/libdwarf/Makefile | 13 +++++++++++++ lib/libelf/Makefile | 13 +++++++++++++ 2 files changed, 26 insertions(+) diff --git a/lib/libdwarf/Makefile b/lib/libdwarf/Makefile index 5366733c4c1d..aa4197fb1540 100644 --- a/lib/libdwarf/Makefile +++ b/lib/libdwarf/Makefile @@ -75,14 +75,27 @@ SRCS= \ INCS= dwarf.h libdwarf.h +# +# 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/elf32.h sys/elf64.h sys/elf_common.h + GENSRCS= dwarf_pubnames.c dwarf_pubtypes.c dwarf_weaks.c \ dwarf_funcs.c dwarf_vars.c dwarf_types.c \ dwarf_pro_pubnames.c dwarf_pro_weaks.c \ dwarf_pro_funcs.c dwarf_pro_types.c \ dwarf_pro_vars.c CLEANFILES= ${GENSRCS} +CLEANDIRS= sys CFLAGS+= -I. -I${SRCDIR} -I${TOP}/common -I${TOP}/libelf +sys/elf32.h sys/elf64.h sys/elf_common.h: ${.CURDIR}/../../sys/${.TARGET} + mkdir -p ${.OBJDIR}/sys + ln -sf ${.CURDIR}/../../sys/${.TARGET} ${.TARGET} + LDADD+= -lelf DPADD+= ${LIBELF} diff --git a/lib/libelf/Makefile b/lib/libelf/Makefile index f1200920d958..58692cfe0f3e 100644 --- a/lib/libelf/Makefile +++ b/lib/libelf/Makefile @@ -65,10 +65,23 @@ SRCS= elf.c \ INCS= libelf.h gelf.h +# +# 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/elf32.h sys/elf64.h sys/elf_common.h + GENSRCS= libelf_fsize.c libelf_msize.c libelf_convert.c CLEANFILES= ${GENSRCS} +CLEANDIRS= sys CFLAGS+= -I. -I${SRCDIR} -I${TOP}/common +sys/elf32.h sys/elf64.h sys/elf_common.h: ${.CURDIR}/../../sys/${.TARGET} + mkdir -p ${.OBJDIR}/sys + ln -sf ${.CURDIR}/../../sys/${.TARGET} ${.TARGET} + SHLIB_MAJOR= 1 MAN= elf.3 \