libelf = ../libelf/libelf.so
libdw = ../libdw/libdw.so
- i386_initreg.c \
+# The following is minimal set of backends that we link with libdw to
+# avoid dlopen. Note repeats files below because some backends reuse
+# each others files.
+static_SRCS = i386_init.c i386_symbol.c i386_corenote.c i386_cfi.c \
+ i386_retval.c i386_regs.c i386_auxv.c i386_syscall.c \
- x86_64_initreg.c x32_corenote.c \
++ i386_initreg.c i386_unwind.c \
+ x86_64_init.c x86_64_symbol.c x86_64_corenote.c x86_64_cfi.c \
+ x86_64_retval.c x86_64_regs.c x86_64_syscall.c \
- aarch64_initreg.c \
++ x86_64_initreg.c x86_64_unwind.c x32_corenote.c \
+ ia64_init.c ia64_symbol.c ia64_regs.c ia64_retval.c \
+ aarch64_init.c aarch64_regs.c aarch64_symbol.c \
+ aarch64_corenote.c aarch64_retval.c aarch64_cfi.c \
++ aarch64_initreg.c aarch64_unwind.c \
+ ppc_init.c ppc_symbol.c ppc_retval.c ppc_regs.c \
+ ppc_corenote.c ppc_auxv.c ppc_attrs.c ppc_syscall.c \
+ ppc_cfi.c ppc_initreg.c \
+ ppc64_init.c ppc64_symbol.c ppc64_retval.c ppc64_corenote.c \
+ ppc64_resolve_sym.c \
+ s390_init.c s390_symbol.c s390_regs.c s390_retval.c \
+ s390_corenote.c s390x_corenote.c s390_cfi.c s390_initreg.c \
+ s390_unwind.c bpf_init.c bpf_regs.c
+
+libebl_static_pic_a_SOURCES = $(static_SRCS)
+am_libebl_static_pic_a_OBJECTS = $(static_SRCS:.c=.os)
+
i386_SRCS = i386_init.c i386_symbol.c i386_corenote.c i386_cfi.c \
i386_retval.c i386_regs.c i386_auxv.c i386_syscall.c \
- i386_initreg.c
+ i386_initreg.c i386_unwind.c
cpu_i386 = ../libcpu/libcpu_i386.a
libebl_i386_pic_a_SOURCES = $(i386_SRCS)
am_libebl_i386_pic_a_OBJECTS = $(i386_SRCS:.c=.os)
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
- AC_INIT([elfutils],[0.168],[https://sourceware.org/bugzilla],[elfutils],[http://elfutils.org/])
+ AC_INIT([elfutils],[0.169],[https://sourceware.org/bugzilla],[elfutils],[http://elfutils.org/])
+
++dnl Workaround for older autoconf < 2.64
++m4_ifndef([AC_PACKAGE_URL],
++ [AC_DEFINE([PACKAGE_URL], ["http://elfutils.org/"],
++ [Define to home page for this package])
++ AC_SUBST([PACKAGE_URL], ["http://elfutils.org/"])])
+
dnl Workaround for older autoconf < 2.64
m4_ifndef([AC_PACKAGE_URL],
[AC_DEFINE([PACKAGE_URL], ["http://elfutils.org/"],
#include <string.h>
#include <stdio.h>
+ #include <system.h>
#include <libeblP.h>
+const char *i386_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen);
+const char *x86_64_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen);
+const char *ppc_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen);
+const char *ppc64_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen);
+const char *ia64_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen);
+const char *s390_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen);
+const char *aarch64_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen);
+const char *bpf_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen);
/* This table should contain the complete list of architectures as far
as the ELF specification is concerned. */
testfiles testfile33
testrun ${abs_top_builddir}/src/elflint -q testfile33
-testrun ${abs_top_builddir}/src/elflint -q --gnu-ld testfile42
+ testfiles testfile42
-testrun ${abs_top_builddir}/src/elflint -q --gnu-ld testfile42z
++# sparc unsupported
++#testrun ${abs_top_builddir}/src/elflint -q --gnu-ld testfile42
+
+ # Contains debuginfo, compress it, recheck
+ tempfiles testfile42z
+ testrun ${abs_top_builddir}/src/elfcompress -f -q -o testfile42z testfile42
++# sparc unsupported
++#testrun ${abs_top_builddir}/src/elflint -q --gnu-ld testfile42z
+
testfiles testfile46
testrun ${abs_top_builddir}/src/elflint -q testfile46
. $srcdir/test-subr.sh
--# See run-addrcfi.sh for testfilearm.
--
# = testfileppc32attrs.s =
# .gnu_attribute 8,1
# .gnu_attribute 12,1
#
# gcc -m32 -c testfileppc32attrs.s
- testfiles testfileppc32attrs.o
-# = testfilesparc64attrs.s =
-# .gnu_attribute 4,0x0aaaaaaa
-# .gnu_attribute 8,0x00000055
-#
-# gcc -c testfilesparc64attrs.s
-
+ # = testfileppc64attrs.s =
+ # .gnu_attribute 4,3
+ #
+ # gcc -c testfileppc64attrs.s
+
-testfiles testfilearm testfileppc32attrs.o testfilesparc64attrs.o testfileppc64attrs.o
+
-testrun_compare ${abs_top_builddir}/src/readelf -A testfilearm <<\EOF
-
-Object attributes section [27] '.ARM.attributes' of 53 bytes at offset 0x718:
- Owner Size
- aeabi 52
- File: 42
- CPU_name: 7-A
- CPU_arch: v7
- CPU_arch_profile: Application
- ARM_ISA_use: Yes
- THUMB_ISA_use: Thumb-2
- VFP_arch: VFPv3-D16
- ABI_PCS_wchar_t: 4
- ABI_FP_rounding: Needed
- ABI_FP_denormal: Needed
- ABI_FP_exceptions: Needed
- ABI_FP_number_model: IEEE 754
- ABI_align8_needed: Yes
- ABI_align8_preserved: Yes, except leaf SP
- ABI_enum_size: int
- ABI_HardFP_use: SP and DP
- ABI_VFP_args: VFP registers
- CPU_unaligned_access: v6
-EOF
++testfiles testfileppc32attrs.o testfileppc64attrs.o
testrun_compare ${abs_top_builddir}/src/readelf -A testfileppc32attrs.o <<\EOF
GNU_Power_ABI_Struct_Return: r3/r4
EOF
-testrun_compare ${abs_top_builddir}/src/readelf -A testfilesparc64attrs.o <<\EOF
-
-Object attributes section [ 4] '.gnu.attributes' of 21 bytes at offset 0x40:
- Owner Size
- gnu 20
- File: 12
- GNU_Sparc_HWCAPS: div32,v8plus,vis,asi_blk_init,vis3,random,fjfmau,asi_cache_sparing,des,camellia,sha1,sha512,mont,cbcond
- GNU_Sparc_HWCAPS2: fjathplus,adp,mwait,xmont
-EOF
-
+ testrun_compare ${abs_top_builddir}/src/readelf -A testfileppc64attrs.o <<\EOF
+
+ Object attributes section [ 4] '.gnu.attributes' of 16 bytes at offset 0x40:
+ Owner Size
+ gnu 15
+ File: 7
+ GNU_Power_ABI_FP: Single-precision hard float
+ EOF
+
exit 0