Skip to content

Commit

Permalink
Upgrade elfutils from version 0.97 to 0.138
Browse files Browse the repository at this point in the history
This upgrade is in preparation for adding perf to the Android tree, where
perf needs newer version of elfutils.

This particular snapshot also cleans up the current makefile where only
the host version of libelf.a (needed by elftree). Additional build
targets for libebl.a, libebl_arm.a, and libebl_sh.a are eliminated since
they are not used in the tree at all.

Changes that build other target modules and associated modifications to
work with bionic will be added later.

Change-Id: Ifa808ba5ad2881ccb2c0cf44d134931faad801e1
  • Loading branch information
Ben Cheng committed Mar 9, 2012
1 parent 669e96f commit cc6695e
Show file tree
Hide file tree
Showing 821 changed files with 101,219 additions and 43,364 deletions.
1,419 changes: 966 additions & 453 deletions ABOUT-NLS

Large diffs are not rendered by default.

382 changes: 132 additions & 250 deletions Android.mk
@@ -1,265 +1,147 @@
LOCAL_PATH:= $(call my-dir)
LOCAL_PATH := $(call my-dir)

COMMON_SOURCES:=\
lib/xmalloc.c \
lib/xstrdup.c \
lib/xstrndup.c
supported_platforms := linux-x86 darwin-x86
cur_platform := $(filter $(HOST_OS)-$(HOST_ARCH),$(supported_platforms))

ifdef cur_platform
#
# libelf
# host libelf
#

include $(CLEAR_VARS)

LOCAL_SRC_FILES:=$(COMMON_SOURCES)
LOCAL_SRC_FILES+=\
libelf/elf32_checksum.c \
libelf/elf32_fsize.c \
libelf/elf32_getehdr.c \
libelf/elf32_getphdr.c \
libelf/elf32_getshdr.c \
libelf/elf32_newehdr.c \
libelf/elf32_newphdr.c \
libelf/elf32_updatefile.c \
libelf/elf32_updatenull.c \
libelf/elf32_xlatetof.c \
libelf/elf32_xlatetom.c \
libelf/elf64_checksum.c \
libelf/elf64_fsize.c \
libelf/elf64_getehdr.c \
libelf/elf64_getphdr.c \
libelf/elf64_getshdr.c \
libelf/elf64_newehdr.c \
libelf/elf64_newphdr.c \
libelf/elf64_updatefile.c \
libelf/elf64_updatenull.c \
libelf/elf64_xlatetof.c \
libelf/elf64_xlatetom.c \
libelf/elf_begin.c \
libelf/elf_clone.c \
libelf/elf_cntl.c \
libelf/elf_end.c \
libelf/elf_error.c \
libelf/elf_fill.c \
libelf/elf_flagdata.c \
libelf/elf_flagehdr.c \
libelf/elf_flagelf.c \
libelf/elf_flagphdr.c \
libelf/elf_flagscn.c \
libelf/elf_flagshdr.c \
libelf/elf_getarhdr.c \
libelf/elf_getarsym.c \
libelf/elf_getbase.c \
libelf/elf_getdata.c \
libelf/elf_getident.c \
libelf/elf_getscn.c \
libelf/elf_getshnum.c \
libelf/elf_getshstrndx.c \
libelf/elf_hash.c \
libelf/elf_kind.c \
libelf/elf_memory.c \
libelf/elf_ndxscn.c \
libelf/elf_newdata.c \
libelf/elf_newscn.c \
libelf/elf_next.c \
libelf/elf_nextscn.c \
libelf/elf_rand.c \
libelf/elf_rawdata.c \
libelf/elf_rawfile.c \
libelf/elf_readall.c \
libelf/elf_strptr.c \
libelf/elf_update.c \
libelf/elf_version.c \
libelf/gelf_checksum.c \
libelf/gelf_freechunk.c \
libelf/gelf_fsize.c \
libelf/gelf_getclass.c \
libelf/gelf_getdyn.c \
libelf/gelf_getehdr.c \
libelf/gelf_getlib.c \
libelf/gelf_getmove.c \
libelf/gelf_getphdr.c \
libelf/gelf_getrel.c \
libelf/gelf_getrela.c \
libelf/gelf_getshdr.c \
libelf/gelf_getsym.c \
libelf/gelf_getsyminfo.c \
libelf/gelf_getsymshndx.c \
libelf/gelf_getverdaux.c \
libelf/gelf_getverdef.c \
libelf/gelf_getvernaux.c \
libelf/gelf_getverneed.c \
libelf/gelf_getversym.c \
libelf/gelf_newehdr.c \
libelf/gelf_newphdr.c \
libelf/gelf_rawchunk.c \
libelf/gelf_update_dyn.c \
libelf/gelf_update_ehdr.c \
libelf/gelf_update_lib.c \
libelf/gelf_update_move.c \
libelf/gelf_update_phdr.c \
libelf/gelf_update_rel.c \
libelf/gelf_update_rela.c \
libelf/gelf_update_shdr.c \
libelf/gelf_update_sym.c \
libelf/gelf_update_syminfo.c \
libelf/gelf_update_symshndx.c \
libelf/gelf_update_verdaux.c \
libelf/gelf_update_verdef.c \
libelf/gelf_update_vernaux.c \
libelf/gelf_update_verneed.c \
libelf/gelf_update_versym.c \
libelf/gelf_xlate.c \
libelf/gelf_xlatetof.c \
libelf/gelf_xlatetom.c \
libelf/libelf_crc32.c \
libelf/libelf_next_prime.c \
libelf/nlist.c
LIBELF_SRC_FILES := \
libelf/elf32_checksum.c \
libelf/elf32_fsize.c \
libelf/elf32_getehdr.c \
libelf/elf32_getphdr.c \
libelf/elf32_getshdr.c \
libelf/elf32_newehdr.c \
libelf/elf32_newphdr.c \
libelf/elf32_offscn.c \
libelf/elf32_updatefile.c \
libelf/elf32_updatenull.c \
libelf/elf32_xlatetof.c \
libelf/elf32_xlatetom.c \
libelf/elf64_checksum.c \
libelf/elf64_fsize.c \
libelf/elf64_getehdr.c \
libelf/elf64_getphdr.c \
libelf/elf64_getshdr.c \
libelf/elf64_newehdr.c \
libelf/elf64_newphdr.c \
libelf/elf64_offscn.c \
libelf/elf64_updatefile.c \
libelf/elf64_updatenull.c \
libelf/elf64_xlatetof.c \
libelf/elf64_xlatetom.c \
libelf/elf_begin.c \
libelf/elf_clone.c \
libelf/elf_cntl.c \
libelf/elf_end.c \
libelf/elf_error.c \
libelf/elf_fill.c \
libelf/elf_flagdata.c \
libelf/elf_flagehdr.c \
libelf/elf_flagelf.c \
libelf/elf_flagphdr.c \
libelf/elf_flagscn.c \
libelf/elf_flagshdr.c \
libelf/elf_getarhdr.c \
libelf/elf_getaroff.c \
libelf/elf_getarsym.c \
libelf/elf_getbase.c \
libelf/elf_getdata.c \
libelf/elf_getdata_rawchunk.c \
libelf/elf_getident.c \
libelf/elf_getscn.c \
libelf/elf_getshnum.c \
libelf/elf_getshstrndx.c \
libelf/elf_gnu_hash.c \
libelf/elf_hash.c \
libelf/elf_kind.c \
libelf/elf_memory.c \
libelf/elf_ndxscn.c \
libelf/elf_newdata.c \
libelf/elf_newscn.c \
libelf/elf_next.c \
libelf/elf_nextscn.c \
libelf/elf_rand.c \
libelf/elf_rawdata.c \
libelf/elf_rawfile.c \
libelf/elf_readall.c \
libelf/elf_scnshndx.c \
libelf/elf_strptr.c \
libelf/elf_update.c \
libelf/elf_version.c \
libelf/gelf_checksum.c \
libelf/gelf_fsize.c \
libelf/gelf_getauxv.c \
libelf/gelf_getclass.c \
libelf/gelf_getdyn.c \
libelf/gelf_getehdr.c \
libelf/gelf_getlib.c \
libelf/gelf_getmove.c \
libelf/gelf_getnote.c \
libelf/gelf_getphdr.c \
libelf/gelf_getrela.c \
libelf/gelf_getrel.c \
libelf/gelf_getshdr.c \
libelf/gelf_getsym.c \
libelf/gelf_getsyminfo.c \
libelf/gelf_getsymshndx.c \
libelf/gelf_getverdaux.c \
libelf/gelf_getverdef.c \
libelf/gelf_getvernaux.c \
libelf/gelf_getverneed.c \
libelf/gelf_getversym.c \
libelf/gelf_newehdr.c \
libelf/gelf_newphdr.c \
libelf/gelf_offscn.c \
libelf/gelf_update_auxv.c \
libelf/gelf_update_dyn.c \
libelf/gelf_update_ehdr.c \
libelf/gelf_update_lib.c \
libelf/gelf_update_move.c \
libelf/gelf_update_phdr.c \
libelf/gelf_update_rela.c \
libelf/gelf_update_rel.c \
libelf/gelf_update_shdr.c \
libelf/gelf_update_sym.c \
libelf/gelf_update_syminfo.c \
libelf/gelf_update_symshndx.c \
libelf/gelf_update_verdaux.c \
libelf/gelf_update_verdef.c \
libelf/gelf_update_vernaux.c \
libelf/gelf_update_verneed.c \
libelf/gelf_update_versym.c \
libelf/gelf_xlate.c \
libelf/gelf_xlatetof.c \
libelf/gelf_xlatetom.c \
libelf/libelf_crc32.c \
libelf/libelf_next_prime.c \
libelf/nlist.c

LOCAL_SRC_FILES := $(LIBELF_SRC_FILES)

LOCAL_C_INCLUDES := $(LOCAL_PATH)/lib $(LOCAL_PATH)/libelf

LOCAL_C_INCLUDES += $(LOCAL_PATH)/host-$(HOST_OS)-fixup

LOCAL_CFLAGS += -DHAVE_CONFIG_H -std=gnu99 -D_GNU_SOURCE

# to suppress the "pointer of type ‘void *’ used in arithmetic" warning
LOCAL_CFLAGS += -Wno-pointer-arith

ifeq ($(HOST_OS),linux)
LOCAL_CFLAGS +=-include $(LOCAL_PATH)/config-compat-linux.h
endif
ifeq ($(HOST_OS),darwin)
LOCAL_CFLAGS +=-include $(LOCAL_PATH)/config-compat-darwin.h
endif
ifeq ($(HOST_OS),windows)
LOCAL_CFLAGS +=-include $(LOCAL_PATH)/config-compat-cygwin.h
endif
ifeq ($(HOST_OS),freebsd)
LOCAL_CFLAGS +=-include $(LOCAL_PATH)/config-compat-freebsd.h
endif

LOCAL_MODULE:= libelf

LOCAL_CFLAGS += -include $(LOCAL_PATH)/config.h
ifeq ($(HOST_OS),windows)
LOCAL_CFLAGS += -Doff64_t=_off64_t
else
LOCAL_CFLAGS += -Doff64_t=__off64_t
endif

LOCAL_C_INCLUDES:=$(LOCAL_PATH)/lib/ $(LOCAL_PATH)/libelf/

include $(BUILD_HOST_STATIC_LIBRARY)

#
# libebl
#

include $(CLEAR_VARS)

LOCAL_SRC_FILES:=$(COMMON_SOURCES)
LOCAL_SRC_FILES+=\
libebl/eblbackendname.c \
libebl/eblclosebackend.c \
libebl/eblcorenote.c \
libebl/eblcorenotetypename.c \
libebl/ebldebugscnp.c \
libebl/ebldynamictagcheck.c \
libebl/ebldynamictagname.c \
libebl/eblgotpcreloccheck.c \
libebl/eblgstrtab.c \
libebl/eblmachineflagcheck.c \
libebl/eblmachineflagname.c \
libebl/eblobjecttypename.c \
libebl/eblobjnote.c \
libebl/eblobjnotetypename.c \
libebl/eblopenbackend.c \
libebl/eblosabiname.c \
libebl/eblreloctypecheck.c \
libebl/eblreloctypename.c \
libebl/eblrelocvaliduse.c \
libebl/eblsectionname.c \
libebl/eblsectiontypename.c \
libebl/eblsegmenttypename.c \
libebl/eblshflagscombine.c \
libebl/eblstrtab.c \
libebl/eblsymbolbindingname.c \
libebl/eblsymboltypename.c \
libebl/eblwstrtab.c

ifeq ($(HOST_OS),linux)
LOCAL_CFLAGS +=-include $(LOCAL_PATH)/config-compat-linux.h
endif
ifeq ($(HOST_OS),darwin)
LOCAL_CFLAGS +=-include $(LOCAL_PATH)/config-compat-darwin.h
endif
ifeq ($(HOST_OS),windows)
LOCAL_CFLAGS +=-include $(LOCAL_PATH)/config-compat-cygwin.h
endif
ifeq ($(HOST_OS),freebsd)
LOCAL_CFLAGS +=-include $(LOCAL_PATH)/config-compat-freebsd.h
LOCAL_CFLAGS += -fnested-functions
endif

LOCAL_MODULE:=libebl
# to fix machine-dependent issues
LOCAL_CFLAGS += -include $(LOCAL_PATH)/host-$(HOST_OS)-fixup/AndroidFixup.h

LOCAL_CFLAGS += -include $(LOCAL_PATH)/config.h -DLIBSTR=\"$(LOCAL_MODULE)\" -Dstpcpy=strcpy
ifeq ($(HOST_OS),windows)
LOCAL_CFLAGS += -Doff64_t=_off64_t
else
LOCAL_CFLAGS += -Doff64_t=__off64_t
endif

LOCAL_C_INCLUDES:=$(LOCAL_PATH)/lib/ $(LOCAL_PATH)/libelf/ $(LOCAL_PATH)/libebl/
LOCAL_MODULE := libelf

include $(BUILD_HOST_STATIC_LIBRARY)

#
# libebl_arm
#

include $(CLEAR_VARS)

#LOCAL_SRC_FILES:=$(COMMON_SOURCES)
LOCAL_SRC_FILES+=\
libebl/arm_destr.c \
libebl/arm_init.c \
libebl/arm_symbol.c

ifeq ($(HOST_OS),linux)
endif
ifeq ($(HOST_OS),darwin)
endif

LOCAL_MODULE:=libebl_arm

LOCAL_CFLAGS += -include $(LOCAL_PATH)/config.h
ifeq ($(HOST_OS),windows)
LOCAL_CFLAGS += -Doff64_t=_off64_t
else
LOCAL_CFLAGS += -Doff64_t=__off64_t
endif

LOCAL_C_INCLUDES:=$(LOCAL_PATH)/lib/ $(LOCAL_PATH)/libelf/ $(LOCAL_PATH)/libebl/

include $(BUILD_HOST_STATIC_LIBRARY)


#
# libebl_sh
#

include $(CLEAR_VARS)

LOCAL_SRC_FILES+=\
libebl/sh_destr.c \
libebl/sh_init.c \
libebl/sh_symbol.c

ifeq ($(HOST_OS),linux)
endif
ifeq ($(HOST_OS),darwin)
endif

LOCAL_MODULE:=libebl_sh

LOCAL_CFLAGS += -include $(LOCAL_PATH)/config.h
ifeq ($(HOST_OS),windows)
LOCAL_CFLAGS += -Doff64_t=_off64_t
else
LOCAL_CFLAGS += -Doff64_t=__off64_t
endif

LOCAL_C_INCLUDES:=$(LOCAL_PATH)/lib/ $(LOCAL_PATH)/libelf/ $(LOCAL_PATH)/libebl/

include $(BUILD_HOST_STATIC_LIBRARY)
endif #cur_platform

0 comments on commit cc6695e

Please sign in to comment.