summaryrefslogtreecommitdiffstats
path: root/third_party
diff options
context:
space:
mode:
authorsimonb@chromium.org <simonb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-28 13:18:59 +0000
committersimonb@chromium.org <simonb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-05-28 13:18:59 +0000
commita647bc5db18087f15dd5f728289d2456d119857a (patch)
treef1f54c4735619a9e36bc2705c0d0663c769d1077 /third_party
parent39edc50e9c5c99093e9cd91f70be391f8d8508e3 (diff)
downloadchromium_src-a647bc5db18087f15dd5f728289d2456d119857a.zip
chromium_src-a647bc5db18087f15dd5f728289d2456d119857a.tar.gz
chromium_src-a647bc5db18087f15dd5f728289d2456d119857a.tar.bz2
Add libelf to src/third_party.
Supports a host tool that packs R_ARM_RELATIVE relocations into a more compact form. Description: Library to inspect and manipulate ELF files. This code is not considered security critical because it is built only for the host, to support host build tools. It is not linked into chrome. Local Modifications: This is complete elfutils source. For now we build only libelf. There are no local code changes. Review URL: https://codereview.chromium.org/259753004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@273198 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party')
-rw-r--r--third_party/elfutils/OWNERS2
-rw-r--r--third_party/elfutils/README.chromium3
-rw-r--r--third_party/elfutils/config.h106
-rw-r--r--third_party/elfutils/elfutils.gyp165
4 files changed, 274 insertions, 2 deletions
diff --git a/third_party/elfutils/OWNERS b/third_party/elfutils/OWNERS
index 69e5ec9..7623bd9 100644
--- a/third_party/elfutils/OWNERS
+++ b/third_party/elfutils/OWNERS
@@ -1,2 +1,2 @@
+rmcilroy@chromium.org
simonb@chromium.org
-bulach@chromium.org
diff --git a/third_party/elfutils/README.chromium b/third_party/elfutils/README.chromium
index ed4a92d..5755f22 100644
--- a/third_party/elfutils/README.chromium
+++ b/third_party/elfutils/README.chromium
@@ -15,4 +15,5 @@ the host, to support host build tools. It is not linked into chrome.
Local Modifications:
-There are no local code changes.
+config.h created by running configure and then anonymizing MODVERSION.
+No other local code changes.
diff --git a/third_party/elfutils/config.h b/third_party/elfutils/config.h
new file mode 100644
index 0000000..62b89a8
--- /dev/null
+++ b/third_party/elfutils/config.h
@@ -0,0 +1,106 @@
+/* config.h. Generated from config.h.in by configure. */
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Should ar and ranlib use -D behavior by default? */
+#define DEFAULT_AR_DETERMINISTIC false
+
+/* Defined if libdw should support GNU ref_alt FORM, dwz multi files. */
+/* #undef ENABLE_DWZ */
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* $libdir subdirectory containing libebl modules. */
+#define LIBEBL_SUBDIR "elfutils"
+
+/* Identifier for modules in the build. */
+#define MODVERSION "Unused"
+
+/* Define to 32 or 64 if a specific implementation is wanted. */
+/* #undef NATIVE_ELF */
+
+/* Name of package */
+#define PACKAGE "elfutils"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "https://bugzilla.redhat.com/"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "elfutils"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "elfutils 0.158"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "elfutils"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL ""
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "0.158"
+
+/* The size of `long', as computed by sizeof. */
+#define SIZEOF_LONG 8
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Support bzip2 decompression via -lbz2. */
+#define USE_BZLIB 1
+
+/* Defined if demangling is enabled */
+#define USE_DEMANGLE 1
+
+/* Defined if libraries should be thread-safe. */
+/* #undef USE_LOCKS */
+
+/* Support LZMA (xz) decompression via -llzma. */
+/* #undef USE_LZMA */
+
+/* Support gzip decompression via -lz. */
+#define USE_ZLIB 1
+
+/* Version number of package */
+#define VERSION "0.158"
+
+/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
+ `char[]'. */
+#define YYTEXT_POINTER 1
+
+/* Enable large inode numbers on Mac OS X 10.5. */
+#ifndef _DARWIN_USE_64_BIT_INODE
+# define _DARWIN_USE_64_BIT_INODE 1
+#endif
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+/* #undef _FILE_OFFSET_BITS */
+
+/* Define for large files, on AIX-style hosts. */
+/* #undef _LARGE_FILES */
+
+#include <eu-config.h>
diff --git a/third_party/elfutils/elfutils.gyp b/third_party/elfutils/elfutils.gyp
new file mode 100644
index 0000000..f336e7f
--- /dev/null
+++ b/third_party/elfutils/elfutils.gyp
@@ -0,0 +1,165 @@
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ 'targets': [
+ {
+ 'target_name': 'libelf',
+ 'toolsets': ['target'],
+ 'type': 'static_library',
+ 'defines': [
+ '_GNU_SOURCE',
+ 'HAVE_CONFIG_H',
+ ],
+ 'cflags': [
+ '-std=gnu99',
+ '-Wall',
+ '-Wshadow',
+ '-Werror',
+ '-Wunused',
+ '-Wextra',
+ '-Wformat=2',
+ ],
+ 'include_dirs': [
+ '.',
+ './src/libelf',
+ './src/lib',
+ ],
+ 'sources': [
+ 'config.h',
+
+ 'src/libelf/abstract.h',
+ 'src/libelf/common.h',
+ 'src/libelf/dl-hash.h',
+ 'src/libelf/elf.h',
+ 'src/libelf/elf-knowledge.h',
+ 'src/libelf/exttypes.h',
+ 'src/libelf/gelf.h',
+ 'src/libelf/gelf_xlate.h',
+ 'src/libelf/gnuhash_xlate.h',
+ 'src/libelf/libelf.h',
+ 'src/libelf/libelfP.h',
+ 'src/libelf/nlist.h',
+ 'src/libelf/note_xlate.h',
+ 'src/libelf/version_xlate.h',
+
+ 'src/libelf/elf32_checksum.c',
+ 'src/libelf/elf32_fsize.c',
+ 'src/libelf/elf32_getehdr.c',
+ 'src/libelf/elf32_getphdr.c',
+ 'src/libelf/elf32_getshdr.c',
+ 'src/libelf/elf32_newehdr.c',
+ 'src/libelf/elf32_newphdr.c',
+ 'src/libelf/elf32_offscn.c',
+ 'src/libelf/elf32_updatefile.c',
+ 'src/libelf/elf32_updatenull.c',
+ 'src/libelf/elf32_xlatetof.c',
+ 'src/libelf/elf32_xlatetom.c',
+ 'src/libelf/elf64_checksum.c',
+ 'src/libelf/elf64_fsize.c',
+ 'src/libelf/elf64_getehdr.c',
+ 'src/libelf/elf64_getphdr.c',
+ 'src/libelf/elf64_getshdr.c',
+ 'src/libelf/elf64_newehdr.c',
+ 'src/libelf/elf64_newphdr.c',
+ 'src/libelf/elf64_offscn.c',
+ 'src/libelf/elf64_updatefile.c',
+ 'src/libelf/elf64_updatenull.c',
+ 'src/libelf/elf64_xlatetof.c',
+ 'src/libelf/elf64_xlatetom.c',
+ 'src/libelf/elf_begin.c',
+ 'src/libelf/elf_clone.c',
+ 'src/libelf/elf_cntl.c',
+ 'src/libelf/elf_end.c',
+ 'src/libelf/elf_error.c',
+ 'src/libelf/elf_fill.c',
+ 'src/libelf/elf_flagdata.c',
+ 'src/libelf/elf_flagehdr.c',
+ 'src/libelf/elf_flagelf.c',
+ 'src/libelf/elf_flagphdr.c',
+ 'src/libelf/elf_flagscn.c',
+ 'src/libelf/elf_flagshdr.c',
+ 'src/libelf/elf_getarhdr.c',
+ 'src/libelf/elf_getaroff.c',
+ 'src/libelf/elf_getarsym.c',
+ 'src/libelf/elf_getbase.c',
+ 'src/libelf/elf_getdata.c',
+ 'src/libelf/elf_getdata_rawchunk.c',
+ 'src/libelf/elf_getident.c',
+ 'src/libelf/elf_getphdrnum.c',
+ 'src/libelf/elf_getscn.c',
+ 'src/libelf/elf_getshdrnum.c',
+ 'src/libelf/elf_getshdrstrndx.c',
+ 'src/libelf/elf_gnu_hash.c',
+ 'src/libelf/elf_hash.c',
+ 'src/libelf/elf_kind.c',
+ 'src/libelf/elf_memory.c',
+ 'src/libelf/elf_ndxscn.c',
+ 'src/libelf/elf_newdata.c',
+ 'src/libelf/elf_newscn.c',
+ 'src/libelf/elf_next.c',
+ 'src/libelf/elf_nextscn.c',
+ 'src/libelf/elf_rand.c',
+ 'src/libelf/elf_rawdata.c',
+ 'src/libelf/elf_rawfile.c',
+ 'src/libelf/elf_readall.c',
+ 'src/libelf/elf_scnshndx.c',
+ 'src/libelf/elf_strptr.c',
+ 'src/libelf/elf_update.c',
+ 'src/libelf/elf_version.c',
+ 'src/libelf/gelf_checksum.c',
+ 'src/libelf/gelf_fsize.c',
+ 'src/libelf/gelf_getauxv.c',
+ 'src/libelf/gelf_getclass.c',
+ 'src/libelf/gelf_getdyn.c',
+ 'src/libelf/gelf_getehdr.c',
+ 'src/libelf/gelf_getlib.c',
+ 'src/libelf/gelf_getmove.c',
+ 'src/libelf/gelf_getnote.c',
+ 'src/libelf/gelf_getphdr.c',
+ 'src/libelf/gelf_getrela.c',
+ 'src/libelf/gelf_getrel.c',
+ 'src/libelf/gelf_getshdr.c',
+ 'src/libelf/gelf_getsym.c',
+ 'src/libelf/gelf_getsyminfo.c',
+ 'src/libelf/gelf_getsymshndx.c',
+ 'src/libelf/gelf_getverdaux.c',
+ 'src/libelf/gelf_getverdef.c',
+ 'src/libelf/gelf_getvernaux.c',
+ 'src/libelf/gelf_getverneed.c',
+ 'src/libelf/gelf_getversym.c',
+ 'src/libelf/gelf_newehdr.c',
+ 'src/libelf/gelf_newphdr.c',
+ 'src/libelf/gelf_offscn.c',
+ 'src/libelf/gelf_update_auxv.c',
+ 'src/libelf/gelf_update_dyn.c',
+ 'src/libelf/gelf_update_ehdr.c',
+ 'src/libelf/gelf_update_lib.c',
+ 'src/libelf/gelf_update_move.c',
+ 'src/libelf/gelf_update_phdr.c',
+ 'src/libelf/gelf_update_rela.c',
+ 'src/libelf/gelf_update_rel.c',
+ 'src/libelf/gelf_update_shdr.c',
+ 'src/libelf/gelf_update_sym.c',
+ 'src/libelf/gelf_update_syminfo.c',
+ 'src/libelf/gelf_update_symshndx.c',
+ 'src/libelf/gelf_update_verdaux.c',
+ 'src/libelf/gelf_update_verdef.c',
+ 'src/libelf/gelf_update_vernaux.c',
+ 'src/libelf/gelf_update_verneed.c',
+ 'src/libelf/gelf_update_versym.c',
+ 'src/libelf/gelf_xlate.c',
+ 'src/libelf/gelf_xlatetof.c',
+ 'src/libelf/gelf_xlatetom.c',
+ 'src/libelf/libelf_crc32.c',
+ 'src/libelf/libelf_next_prime.c',
+ 'src/libelf/nlist.c',
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ './src/libelf',
+ ],
+ },
+ }],
+}