diff options
author | Ben Cheng <bccheng@google.com> | 2013-01-08 13:52:18 -0800 |
---|---|---|
committer | Ben Cheng <bccheng@google.com> | 2013-01-08 13:52:18 -0800 |
commit | eb4518cad3ddb67167efb364bd1c860d804165a1 (patch) | |
tree | dc4d6a588ac18154b4faedf8fe2753c53931cb5c | |
parent | 6d1b0b619fc23aee55625e199362acf3864f1dc0 (diff) | |
download | arm-linux-androideabi-4.7-eb4518cad3ddb67167efb364bd1c860d804165a1.tar.gz |
Refresh darwin toolchain.
1) Compilers built with optimization enabled.
2) libgomp and graphite enabled.
3) Bug fix in gold to handle integer divide instructions.
Change-Id: Icb4338bdef20f7a2126206a3d72aa547ccd092a0
77 files changed, 543 insertions, 43 deletions
@@ -1,28 +1,29 @@ Using built-in specs. -COLLECT_GCC=/Volumes/android/android-ndk-4.7/toolchains/arm-linux-androideabi-4.7/prebuilt/darwin-x86_64/bin/arm-linux-androideabi-gcc -COLLECT_LTO_WRAPPER=/Volumes/android/android-ndk-4.7/toolchains/arm-linux-androideabi-4.7/prebuilt/darwin-x86_64/bin/../libexec/gcc/arm-linux-androideabi/4.7/lto-wrapper +COLLECT_GCC=/Volumes/android/android-4.7-2013-01-08/toolchains/arm-linux-androideabi-4.7/prebuilt/darwin-x86_64//bin/arm-linux-androideabi-gcc +COLLECT_LTO_WRAPPER=/Volumes/android/android-4.7-2013-01-08/toolchains/arm-linux-androideabi-4.7/prebuilt/darwin-x86_64/bin/../libexec/gcc/arm-linux-androideabi/4.7/lto-wrapper Target: arm-linux-androideabi -Configured with: /Volumes/android/AOSP-toolchain/build/../gcc/gcc-4.7/configure --prefix=/Volumes/android/toolchain-build-4.7/prefix --target=arm-linux-androideabi --host=x86_64-apple-darwin --build=x86_64-apple-darwin --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --with-gmp=/Volumes/android/toolchain-build-4.7/temp-install --with-mpfr=/Volumes/android/toolchain-build-4.7/temp-install --with-mpc=/Volumes/android/toolchain-build-4.7/temp-install --without-ppl --without-cloog --disable-libssp --enable-threads --disable-nls --disable-libmudflap --disable-libgomp --disable-libstdc__-v3 --disable-sjlj-exceptions --disable-shared --disable-tls --disable-libitm --with-float=soft --with-fpu=vfp --with-arch=armv5te --enable-target-optspace --enable-initfini-array --disable-nls --prefix=/Volumes/android/toolchain-build-4.7/prefix --with-sysroot=/Volumes/android/toolchain-build-4.7/prefix/sysroot --with-binutils-version=2.22 --with-mpfr-version=2.4.1 --with-mpc-version=0.8.1 --with-gmp-version=5.0.5 --with-gcc-version=4.7 --with-gdb-version=7.3.x --with-gxx-include-dir=/Volumes/android/toolchain-build-4.7/prefix/include/c++/4.7 --disable-bootstrap --disable-libquadmath --disable-plugin --enable-gold --with-arch=armv5te --program-transform-name='s&^&arm-linux-androideabi-&' --enable-gold=default +Configured with: /Volumes/android/AOSP-toolchain/build/../gcc/gcc-4.7/configure --prefix=/Volumes/android/toolchain-build-linux-4.7/prefix --target=arm-linux-androideabi --host=x86_64-apple-darwin --build=x86_64-apple-darwin --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --with-gmp=/Volumes/android/toolchain-build-linux-4.7/temp-install --with-mpfr=/Volumes/android/toolchain-build-linux-4.7/temp-install --with-mpc=/Volumes/android/toolchain-build-linux-4.7/temp-install --with-cloog=/Volumes/android/toolchain-build-linux-4.7/temp-install --with-ppl=/Volumes/android/toolchain-build-linux-4.7/temp-install --disable-ppl-version-check --disable-cloog-version-check --enable-cloog-backend=isl --with-host-libstdcxx='-static-libgcc -lstdc++ -lm' --disable-libssp --enable-threads --disable-nls --disable-libmudflap --disable-libgomp --disable-libstdc__-v3 --disable-sjlj-exceptions --disable-shared --disable-tls --disable-libitm --with-float=soft --with-fpu=vfp --with-arch=armv5te --enable-target-optspace --enable-initfini-array --disable-nls --prefix=/Volumes/android/toolchain-build-linux-4.7/prefix --with-sysroot=/Volumes/android/toolchain-build-linux-4.7/prefix/sysroot --with-binutils-version=2.22 --with-mpfr-version=3.1.1 --with-mpc-version=1.0.1 --with-gmp-version=5.0.5 --with-gcc-version=4.7 --with-gdb-version=7.3.x --with-gxx-include-dir=/Volumes/android/toolchain-build-linux-4.7/prefix/include/c++/4.7 --with-bugurl=http://source.android.com/source/report-bugs.html --disable-bootstrap --disable-libquadmath --enable-plugins --enable-libgomp --enable-gold --enable-graphite=yes --with-cloog-version=0.17.0 --with-ppl-version=1.0 --with-arch=armv5te --program-transform-name='s&^&arm-linux-androideabi-&' --enable-gold=default Thread model: posix gcc version 4.7 (GCC) gcc: -commit 3c56f697e112c79fb5457538fdc373e348beca24 +commit a16b557938a0a448303fd913af1ff76e09674966 Author: Andrew Hsieh <andrewhsieh@google.com> - Initial checkin of unmodified gcc-5666.3.tar.gz + Revert "Enable _GLIBCXX_USE_CLOCK_MONOTONIC in libstdc++" binutils: -commit dc51c7a5e0e2620dc85e6c9c46027dce94a85e1f -Author: Pavel Chupin <pavel.v.chupin@intel.com> +commit 8415ff0aaeb157307bb01a45373dba81919882fc +Merge: 1ddae55 10ad6c0 +Author: Ben Cheng <bccheng@google.com> - Fix gold issue on fsck_msdos build when objects built by ICC + Merge "Fix the "DIV usage mismatch between blah.o and output" error" gdb: -commit ab1098c4c1c197b6508d86989b4e60d48e0fd512 -Author: Ryan V. Bissell <rbissell@nvidia.com> +commit b3c689cb0c6e1e6cbcaff9bc9ae35c3d6eec86a3 +Author: Pavel Chupin <pavel.v.chupin@intel.com> - bionic support for library-list-svr4.dtd + Fix mingw build with plugins enabled gmp: commit e6b9669dafc6a5f83c80b4b4176359b78bccdc90 @@ -31,16 +32,16 @@ Author: David 'Digit' Turner <digit@google.com> Add gmp-5.0.5.tar.bz2 mpfr: -commit bde731396c38c8d5b0bca800aace6a690d0d2978 -Author: Jing Yu <jingyu@google.com> +commit bfcf1bfa38469208aaad8873cd4c68781061d90f +Author: Andrew Hsieh <andrewhsieh@google.com> - add mpfr-2.4.2.tar.bz2 + add mpfr-3.1.1.tar.bz2 build: -commit 106603b925b7f20177c5b7613535d9d43ed35b7d -Author: Andrew Hsieh <andrewhsieh@google.com> +commit ff90ad8552285bacc0569276dc7aa2a623d2cb95 +Author: Pavel Chupin <pavel.v.chupin@intel.com> - Options brought in from core combo for IA + Statically link libgcc and libstdc++ into gold expat: commit 40172a0ae9d40a068f1e1a48ffcf6a1ccf765ed5 diff --git a/arm-linux-androideabi/bin/ar b/arm-linux-androideabi/bin/ar Binary files differindex ac5c433..535ce5e 100755 --- a/arm-linux-androideabi/bin/ar +++ b/arm-linux-androideabi/bin/ar diff --git a/arm-linux-androideabi/bin/as b/arm-linux-androideabi/bin/as Binary files differindex 0c70905..0c6f6e8 100755 --- a/arm-linux-androideabi/bin/as +++ b/arm-linux-androideabi/bin/as diff --git a/arm-linux-androideabi/bin/c++ b/arm-linux-androideabi/bin/c++ Binary files differindex 708dcaa..9dbb7df 100755 --- a/arm-linux-androideabi/bin/c++ +++ b/arm-linux-androideabi/bin/c++ diff --git a/arm-linux-androideabi/bin/g++ b/arm-linux-androideabi/bin/g++ Binary files differindex 1a5bd6a..0500175 100755 --- a/arm-linux-androideabi/bin/g++ +++ b/arm-linux-androideabi/bin/g++ diff --git a/arm-linux-androideabi/bin/gcc b/arm-linux-androideabi/bin/gcc Binary files differindex 259f26d..9711383 100755 --- a/arm-linux-androideabi/bin/gcc +++ b/arm-linux-androideabi/bin/gcc diff --git a/arm-linux-androideabi/bin/ld b/arm-linux-androideabi/bin/ld Binary files differindex a528ef0..0ddb534 100755 --- a/arm-linux-androideabi/bin/ld +++ b/arm-linux-androideabi/bin/ld diff --git a/arm-linux-androideabi/bin/ld.bfd b/arm-linux-androideabi/bin/ld.bfd Binary files differindex 8b10b46..e3cd290 100755 --- a/arm-linux-androideabi/bin/ld.bfd +++ b/arm-linux-androideabi/bin/ld.bfd diff --git a/arm-linux-androideabi/bin/ld.gold b/arm-linux-androideabi/bin/ld.gold Binary files differindex a528ef0..0ddb534 100755 --- a/arm-linux-androideabi/bin/ld.gold +++ b/arm-linux-androideabi/bin/ld.gold diff --git a/arm-linux-androideabi/bin/nm b/arm-linux-androideabi/bin/nm Binary files differindex 8aa03fc..b2533b9 100755 --- a/arm-linux-androideabi/bin/nm +++ b/arm-linux-androideabi/bin/nm diff --git a/arm-linux-androideabi/bin/objcopy b/arm-linux-androideabi/bin/objcopy Binary files differindex 92e7192..b702dd9 100755 --- a/arm-linux-androideabi/bin/objcopy +++ b/arm-linux-androideabi/bin/objcopy diff --git a/arm-linux-androideabi/bin/objdump b/arm-linux-androideabi/bin/objdump Binary files differindex 6674ebd..0d41bf9 100755 --- a/arm-linux-androideabi/bin/objdump +++ b/arm-linux-androideabi/bin/objdump diff --git a/arm-linux-androideabi/bin/ranlib b/arm-linux-androideabi/bin/ranlib Binary files differindex 2e787b5..168c92a 100755 --- a/arm-linux-androideabi/bin/ranlib +++ b/arm-linux-androideabi/bin/ranlib diff --git a/arm-linux-androideabi/bin/strip b/arm-linux-androideabi/bin/strip Binary files differindex 3e40042..7957538 100755 --- a/arm-linux-androideabi/bin/strip +++ b/arm-linux-androideabi/bin/strip diff --git a/arm-linux-androideabi/lib/armv7-a/libgomp.a b/arm-linux-androideabi/lib/armv7-a/libgomp.a Binary files differnew file mode 100644 index 0000000..6ea5334 --- /dev/null +++ b/arm-linux-androideabi/lib/armv7-a/libgomp.a diff --git a/arm-linux-androideabi/lib/armv7-a/libgomp.spec b/arm-linux-androideabi/lib/armv7-a/libgomp.spec new file mode 100644 index 0000000..ec773a8 --- /dev/null +++ b/arm-linux-androideabi/lib/armv7-a/libgomp.spec @@ -0,0 +1,3 @@ +# This spec file is read by gcc when linking. It is used to specify the +# standard libraries we need in order to link with -fopenmp. +*link_gomp: -lgomp diff --git a/arm-linux-androideabi/lib/armv7-a/thumb/libgomp.a b/arm-linux-androideabi/lib/armv7-a/thumb/libgomp.a Binary files differnew file mode 100644 index 0000000..84e27f3 --- /dev/null +++ b/arm-linux-androideabi/lib/armv7-a/thumb/libgomp.a diff --git a/arm-linux-androideabi/lib/armv7-a/thumb/libgomp.spec b/arm-linux-androideabi/lib/armv7-a/thumb/libgomp.spec new file mode 100644 index 0000000..ec773a8 --- /dev/null +++ b/arm-linux-androideabi/lib/armv7-a/thumb/libgomp.spec @@ -0,0 +1,3 @@ +# This spec file is read by gcc when linking. It is used to specify the +# standard libraries we need in order to link with -fopenmp. +*link_gomp: -lgomp diff --git a/arm-linux-androideabi/lib/libgomp.a b/arm-linux-androideabi/lib/libgomp.a Binary files differnew file mode 100644 index 0000000..fc6d5cd --- /dev/null +++ b/arm-linux-androideabi/lib/libgomp.a diff --git a/arm-linux-androideabi/lib/libgomp.spec b/arm-linux-androideabi/lib/libgomp.spec new file mode 100644 index 0000000..ec773a8 --- /dev/null +++ b/arm-linux-androideabi/lib/libgomp.spec @@ -0,0 +1,3 @@ +# This spec file is read by gcc when linking. It is used to specify the +# standard libraries we need in order to link with -fopenmp. +*link_gomp: -lgomp diff --git a/arm-linux-androideabi/lib/thumb/libgomp.a b/arm-linux-androideabi/lib/thumb/libgomp.a Binary files differnew file mode 100644 index 0000000..e5d5834 --- /dev/null +++ b/arm-linux-androideabi/lib/thumb/libgomp.a diff --git a/arm-linux-androideabi/lib/thumb/libgomp.spec b/arm-linux-androideabi/lib/thumb/libgomp.spec new file mode 100644 index 0000000..ec773a8 --- /dev/null +++ b/arm-linux-androideabi/lib/thumb/libgomp.spec @@ -0,0 +1,3 @@ +# This spec file is read by gcc when linking. It is used to specify the +# standard libraries we need in order to link with -fopenmp. +*link_gomp: -lgomp diff --git a/bin/arm-linux-androideabi-addr2line b/bin/arm-linux-androideabi-addr2line Binary files differindex b750460..ad1c097 100755 --- a/bin/arm-linux-androideabi-addr2line +++ b/bin/arm-linux-androideabi-addr2line diff --git a/bin/arm-linux-androideabi-ar b/bin/arm-linux-androideabi-ar Binary files differindex ac5c433..535ce5e 100755 --- a/bin/arm-linux-androideabi-ar +++ b/bin/arm-linux-androideabi-ar diff --git a/bin/arm-linux-androideabi-as b/bin/arm-linux-androideabi-as Binary files differindex 28dc497..0c6f6e8 100755 --- a/bin/arm-linux-androideabi-as +++ b/bin/arm-linux-androideabi-as diff --git a/bin/arm-linux-androideabi-c++ b/bin/arm-linux-androideabi-c++ Binary files differindex 1a5bd6a..082e2dd 100755 --- a/bin/arm-linux-androideabi-c++ +++ b/bin/arm-linux-androideabi-c++ diff --git a/bin/arm-linux-androideabi-c++filt b/bin/arm-linux-androideabi-c++filt Binary files differindex 5b0a26f..0ef9280 100755 --- a/bin/arm-linux-androideabi-c++filt +++ b/bin/arm-linux-androideabi-c++filt diff --git a/bin/arm-linux-androideabi-cpp b/bin/arm-linux-androideabi-cpp Binary files differindex 965808d..41481d2 100755 --- a/bin/arm-linux-androideabi-cpp +++ b/bin/arm-linux-androideabi-cpp diff --git a/bin/arm-linux-androideabi-elfedit b/bin/arm-linux-androideabi-elfedit Binary files differindex 7e00d22..ad7947f 100755 --- a/bin/arm-linux-androideabi-elfedit +++ b/bin/arm-linux-androideabi-elfedit diff --git a/bin/arm-linux-androideabi-g++ b/bin/arm-linux-androideabi-g++ Binary files differindex ccc887f..0500175 100755 --- a/bin/arm-linux-androideabi-g++ +++ b/bin/arm-linux-androideabi-g++ diff --git a/bin/arm-linux-androideabi-gcc b/bin/arm-linux-androideabi-gcc Binary files differindex 7023e8c..f4948ee 100755 --- a/bin/arm-linux-androideabi-gcc +++ b/bin/arm-linux-androideabi-gcc diff --git a/bin/arm-linux-androideabi-gcc-4.7 b/bin/arm-linux-androideabi-gcc-4.7 Binary files differindex 156ca93..a2e57b1 100755 --- a/bin/arm-linux-androideabi-gcc-4.7 +++ b/bin/arm-linux-androideabi-gcc-4.7 diff --git a/bin/arm-linux-androideabi-gcc-ar b/bin/arm-linux-androideabi-gcc-ar Binary files differindex e95176d..5aa7d9f 100755 --- a/bin/arm-linux-androideabi-gcc-ar +++ b/bin/arm-linux-androideabi-gcc-ar diff --git a/bin/arm-linux-androideabi-gcc-nm b/bin/arm-linux-androideabi-gcc-nm Binary files differindex 21211c9..23117a1 100755 --- a/bin/arm-linux-androideabi-gcc-nm +++ b/bin/arm-linux-androideabi-gcc-nm diff --git a/bin/arm-linux-androideabi-gcc-ranlib b/bin/arm-linux-androideabi-gcc-ranlib Binary files differindex ef0e2d6..11def0a 100755 --- a/bin/arm-linux-androideabi-gcc-ranlib +++ b/bin/arm-linux-androideabi-gcc-ranlib diff --git a/bin/arm-linux-androideabi-gcov b/bin/arm-linux-androideabi-gcov Binary files differindex 6278a1b..a1f83cc 100755 --- a/bin/arm-linux-androideabi-gcov +++ b/bin/arm-linux-androideabi-gcov diff --git a/bin/arm-linux-androideabi-gdb b/bin/arm-linux-androideabi-gdb Binary files differindex e92c627..e22ca28 100755 --- a/bin/arm-linux-androideabi-gdb +++ b/bin/arm-linux-androideabi-gdb diff --git a/bin/arm-linux-androideabi-gdbtui b/bin/arm-linux-androideabi-gdbtui Binary files differindex e59491f..d57f709 100755 --- a/bin/arm-linux-androideabi-gdbtui +++ b/bin/arm-linux-androideabi-gdbtui diff --git a/bin/arm-linux-androideabi-gprof b/bin/arm-linux-androideabi-gprof Binary files differindex bbd1591..028ef78 100755 --- a/bin/arm-linux-androideabi-gprof +++ b/bin/arm-linux-androideabi-gprof diff --git a/bin/arm-linux-androideabi-ld b/bin/arm-linux-androideabi-ld Binary files differindex a528ef0..0ddb534 100755 --- a/bin/arm-linux-androideabi-ld +++ b/bin/arm-linux-androideabi-ld diff --git a/bin/arm-linux-androideabi-ld.bfd b/bin/arm-linux-androideabi-ld.bfd Binary files differindex 11e39c3..5097eb1 100755 --- a/bin/arm-linux-androideabi-ld.bfd +++ b/bin/arm-linux-androideabi-ld.bfd diff --git a/bin/arm-linux-androideabi-ld.gold b/bin/arm-linux-androideabi-ld.gold Binary files differindex a528ef0..0ddb534 100755 --- a/bin/arm-linux-androideabi-ld.gold +++ b/bin/arm-linux-androideabi-ld.gold diff --git a/bin/arm-linux-androideabi-nm b/bin/arm-linux-androideabi-nm Binary files differindex bbf2fa7..b2533b9 100755 --- a/bin/arm-linux-androideabi-nm +++ b/bin/arm-linux-androideabi-nm diff --git a/bin/arm-linux-androideabi-objcopy b/bin/arm-linux-androideabi-objcopy Binary files differindex 44cd3a2..8dc06d3 100755 --- a/bin/arm-linux-androideabi-objcopy +++ b/bin/arm-linux-androideabi-objcopy diff --git a/bin/arm-linux-androideabi-objdump b/bin/arm-linux-androideabi-objdump Binary files differindex 6674ebd..0d41bf9 100755 --- a/bin/arm-linux-androideabi-objdump +++ b/bin/arm-linux-androideabi-objdump diff --git a/bin/arm-linux-androideabi-ranlib b/bin/arm-linux-androideabi-ranlib Binary files differindex 2e787b5..168c92a 100755 --- a/bin/arm-linux-androideabi-ranlib +++ b/bin/arm-linux-androideabi-ranlib diff --git a/bin/arm-linux-androideabi-readelf b/bin/arm-linux-androideabi-readelf Binary files differindex f7c4d8d..9a574eb 100755 --- a/bin/arm-linux-androideabi-readelf +++ b/bin/arm-linux-androideabi-readelf diff --git a/bin/arm-linux-androideabi-run b/bin/arm-linux-androideabi-run Binary files differindex 1336232..74fbb6c 100755 --- a/bin/arm-linux-androideabi-run +++ b/bin/arm-linux-androideabi-run diff --git a/bin/arm-linux-androideabi-size b/bin/arm-linux-androideabi-size Binary files differindex b8c8a11..c0155fb 100755 --- a/bin/arm-linux-androideabi-size +++ b/bin/arm-linux-androideabi-size diff --git a/bin/arm-linux-androideabi-strings b/bin/arm-linux-androideabi-strings Binary files differindex 52295a4..bc451e2 100755 --- a/bin/arm-linux-androideabi-strings +++ b/bin/arm-linux-androideabi-strings diff --git a/bin/arm-linux-androideabi-strip b/bin/arm-linux-androideabi-strip Binary files differindex 3e40042..fbf5237 100755 --- a/bin/arm-linux-androideabi-strip +++ b/bin/arm-linux-androideabi-strip diff --git a/include/bfd.h b/include/bfd.h index 1c5f96d..193cb92 100644 --- a/include/bfd.h +++ b/include/bfd.h @@ -80,7 +80,7 @@ extern "C" { #define LITSTRCPY(DEST,STR2) memcpy ((DEST), (STR2), sizeof (STR2)) -#define BFD_SUPPORTS_PLUGINS 0 +#define BFD_SUPPORTS_PLUGINS 1 /* The word size used by BFD on the host. This may be 64 with a 32 bit target if the host is 64 bit, or if other 64 bit targets have diff --git a/include/plugin-api.h b/include/plugin-api.h new file mode 100644 index 0000000..3220142 --- /dev/null +++ b/include/plugin-api.h @@ -0,0 +1,401 @@ +/* plugin-api.h -- External linker plugin API. */ + +/* Copyright 2009, 2010 Free Software Foundation, Inc. + Written by Cary Coutant <ccoutant@google.com>. + + This file is part of binutils. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, + MA 02110-1301, USA. */ + +/* This file defines the interface for writing a linker plugin, which is + described at < http://gcc.gnu.org/wiki/whopr/driver >. */ + +#ifndef PLUGIN_API_H +#define PLUGIN_API_H + +#ifdef HAVE_STDINT_H +#include <stdint.h> +#elif defined(HAVE_INTTYPES_H) +#include <inttypes.h> +#endif +#include <sys/types.h> +#if !defined(HAVE_STDINT_H) && !defined(HAVE_INTTYPES_H) && \ + !defined(UINT64_MAX) && !defined(uint64_t) +#error can not find uint64_t type +#endif + +#ifdef __cplusplus +extern "C" +{ +#endif + +/* Status code returned by most API routines. */ + +enum ld_plugin_status +{ + LDPS_OK = 0, + LDPS_NO_SYMS, /* Attempt to get symbols that haven't been added. */ + LDPS_BAD_HANDLE, /* No claimed object associated with given handle. */ + LDPS_ERR + /* Additional Error codes TBD. */ +}; + +/* The version of the API specification. */ + +enum ld_plugin_api_version +{ + LD_PLUGIN_API_VERSION = 1 +}; + +/* The type of output file being generated by the linker. */ + +enum ld_plugin_output_file_type +{ + LDPO_REL, + LDPO_EXEC, + LDPO_DYN, + LDPO_PIE +}; + +/* An input file managed by the plugin library. */ + +struct ld_plugin_input_file +{ + const char *name; + int fd; + off_t offset; + off_t filesize; + void *handle; +}; + +/* A symbol belonging to an input file managed by the plugin library. */ + +struct ld_plugin_symbol +{ + char *name; + char *version; + int def; + int visibility; + uint64_t size; + char *comdat_key; + int resolution; +}; + +/* An object's section. */ + +struct ld_plugin_section +{ + const void* handle; + unsigned int shndx; +}; + +/* Whether the symbol is a definition, reference, or common, weak or not. */ + +enum ld_plugin_symbol_kind +{ + LDPK_DEF, + LDPK_WEAKDEF, + LDPK_UNDEF, + LDPK_WEAKUNDEF, + LDPK_COMMON +}; + +/* The visibility of the symbol. */ + +enum ld_plugin_symbol_visibility +{ + LDPV_DEFAULT, + LDPV_PROTECTED, + LDPV_INTERNAL, + LDPV_HIDDEN +}; + +/* How a symbol is resolved. */ + +enum ld_plugin_symbol_resolution +{ + LDPR_UNKNOWN = 0, + + /* Symbol is still undefined at this point. */ + LDPR_UNDEF, + + /* This is the prevailing definition of the symbol, with references from + regular object code. */ + LDPR_PREVAILING_DEF, + + /* This is the prevailing definition of the symbol, with no + references from regular objects. It is only referenced from IR + code. */ + LDPR_PREVAILING_DEF_IRONLY, + + /* This definition was pre-empted by a definition in a regular + object file. */ + LDPR_PREEMPTED_REG, + + /* This definition was pre-empted by a definition in another IR file. */ + LDPR_PREEMPTED_IR, + + /* This symbol was resolved by a definition in another IR file. */ + LDPR_RESOLVED_IR, + + /* This symbol was resolved by a definition in a regular object + linked into the main executable. */ + LDPR_RESOLVED_EXEC, + + /* This symbol was resolved by a definition in a shared object. */ + LDPR_RESOLVED_DYN, + + /* This is the prevailing definition of the symbol, with no + references from regular objects. It is only referenced from IR + code, but the symbol is exported and may be referenced from + a dynamic object (not seen at link time). */ + LDPR_PREVAILING_DEF_IRONLY_EXP +}; + +/* The plugin library's "claim file" handler. */ + +typedef +enum ld_plugin_status +(*ld_plugin_claim_file_handler) ( + const struct ld_plugin_input_file *file, int *claimed); + +/* The plugin library's "all symbols read" handler. */ + +typedef +enum ld_plugin_status +(*ld_plugin_all_symbols_read_handler) (void); + +/* The plugin library's cleanup handler. */ + +typedef +enum ld_plugin_status +(*ld_plugin_cleanup_handler) (void); + +/* The linker's interface for registering the "claim file" handler. */ + +typedef +enum ld_plugin_status +(*ld_plugin_register_claim_file) (ld_plugin_claim_file_handler handler); + +/* The linker's interface for registering the "all symbols read" handler. */ + +typedef +enum ld_plugin_status +(*ld_plugin_register_all_symbols_read) ( + ld_plugin_all_symbols_read_handler handler); + +/* The linker's interface for registering the cleanup handler. */ + +typedef +enum ld_plugin_status +(*ld_plugin_register_cleanup) (ld_plugin_cleanup_handler handler); + +/* The linker's interface for adding symbols from a claimed input file. */ + +typedef +enum ld_plugin_status +(*ld_plugin_add_symbols) (void *handle, int nsyms, + const struct ld_plugin_symbol *syms); + +/* The linker's interface for getting the input file information with + an open (possibly re-opened) file descriptor. */ + +typedef +enum ld_plugin_status +(*ld_plugin_get_input_file) (const void *handle, + struct ld_plugin_input_file *file); + +typedef +enum ld_plugin_status +(*ld_plugin_get_view) (const void *handle, const void **viewp); + +/* The linker's interface for releasing the input file. */ + +typedef +enum ld_plugin_status +(*ld_plugin_release_input_file) (const void *handle); + +/* The linker's interface for retrieving symbol resolution information. */ + +typedef +enum ld_plugin_status +(*ld_plugin_get_symbols) (const void *handle, int nsyms, + struct ld_plugin_symbol *syms); + +/* The linker's interface for adding a compiled input file. */ + +typedef +enum ld_plugin_status +(*ld_plugin_add_input_file) (const char *pathname); + +/* The linker's interface for adding a library that should be searched. */ + +typedef +enum ld_plugin_status +(*ld_plugin_add_input_library) (const char *libname); + +/* The linker's interface for adding a library path that should be searched. */ + +typedef +enum ld_plugin_status +(*ld_plugin_set_extra_library_path) (const char *path); + +/* The linker's interface for issuing a warning or error message. */ + +typedef +enum ld_plugin_status +(*ld_plugin_message) (int level, const char *format, ...); + +/* The linker's interface for retrieving the number of sections in an object. + The handle is obtained in the claim_file handler. This interface should + only be invoked in the claim_file handler. This function sets *COUNT to + the number of sections in the object. */ + +typedef +enum ld_plugin_status +(*ld_plugin_get_input_section_count) (const void* handle, unsigned int *count); + +/* The linker's interface for retrieving the section type of a specific + section in an object. This interface should only be invoked in the + claim_file handler. This function sets *TYPE to an ELF SHT_xxx value. */ + +typedef +enum ld_plugin_status +(*ld_plugin_get_input_section_type) (const struct ld_plugin_section section, + unsigned int *type); + +/* The linker's interface for retrieving the name of a specific section in + an object. This interface should only be invoked in the claim_file handler. + This function sets *SECTION_NAME_PTR to a null-terminated buffer allocated + by malloc. The plugin must free *SECTION_NAME_PTR. */ + +typedef +enum ld_plugin_status +(*ld_plugin_get_input_section_name) (const struct ld_plugin_section section, + char **section_name_ptr); + +/* The linker's interface for retrieving the contents of a specific section + in an object. This interface should only be invoked in the claim_file + handler. This function sets *SECTION_CONTENTS to point to a buffer that is + valid until clam_file handler returns. It sets *LEN to the size of the + buffer. */ + +typedef +enum ld_plugin_status +(*ld_plugin_get_input_section_contents) (const struct ld_plugin_section section, + const unsigned char **section_contents, + size_t* len); + +/* The linker's interface for specifying the desired order of sections. + The sections should be specifed using the array SECTION_LIST in the + order in which they should appear in the final layout. NUM_SECTIONS + specifies the number of entries in each array. This should be invoked + in the all_symbols_read handler. */ + +typedef +enum ld_plugin_status +(*ld_plugin_update_section_order) (const struct ld_plugin_section *section_list, + unsigned int num_sections); + +/* The linker's interface for specifying that reordering of sections is + desired so that the linker can prepare for it. This should be invoked + before update_section_order, preferably in the claim_file handler. */ + +typedef +enum ld_plugin_status +(*ld_plugin_allow_section_ordering) (void); + +enum ld_plugin_level +{ + LDPL_INFO, + LDPL_WARNING, + LDPL_ERROR, + LDPL_FATAL +}; + +/* Values for the tv_tag field of the transfer vector. */ + +enum ld_plugin_tag +{ + LDPT_NULL = 0, + LDPT_API_VERSION, + LDPT_GOLD_VERSION, + LDPT_LINKER_OUTPUT, + LDPT_OPTION, + LDPT_REGISTER_CLAIM_FILE_HOOK, + LDPT_REGISTER_ALL_SYMBOLS_READ_HOOK, + LDPT_REGISTER_CLEANUP_HOOK, + LDPT_ADD_SYMBOLS, + LDPT_GET_SYMBOLS, + LDPT_ADD_INPUT_FILE, + LDPT_MESSAGE, + LDPT_GET_INPUT_FILE, + LDPT_RELEASE_INPUT_FILE, + LDPT_ADD_INPUT_LIBRARY, + LDPT_OUTPUT_NAME, + LDPT_SET_EXTRA_LIBRARY_PATH, + LDPT_GNU_LD_VERSION, + LDPT_GET_VIEW, + LDPT_GET_INPUT_SECTION_COUNT, + LDPT_GET_INPUT_SECTION_TYPE, + LDPT_GET_INPUT_SECTION_NAME, + LDPT_GET_INPUT_SECTION_CONTENTS, + LDPT_UPDATE_SECTION_ORDER, + LDPT_ALLOW_SECTION_ORDERING, + LDPT_GET_SYMBOLS_V2 +}; + +/* The plugin transfer vector. */ + +struct ld_plugin_tv +{ + enum ld_plugin_tag tv_tag; + union + { + int tv_val; + const char *tv_string; + ld_plugin_register_claim_file tv_register_claim_file; + ld_plugin_register_all_symbols_read tv_register_all_symbols_read; + ld_plugin_register_cleanup tv_register_cleanup; + ld_plugin_add_symbols tv_add_symbols; + ld_plugin_get_symbols tv_get_symbols; + ld_plugin_add_input_file tv_add_input_file; + ld_plugin_message tv_message; + ld_plugin_get_input_file tv_get_input_file; + ld_plugin_get_view tv_get_view; + ld_plugin_release_input_file tv_release_input_file; + ld_plugin_add_input_library tv_add_input_library; + ld_plugin_set_extra_library_path tv_set_extra_library_path; + ld_plugin_get_input_section_count tv_get_input_section_count; + ld_plugin_get_input_section_type tv_get_input_section_type; + ld_plugin_get_input_section_name tv_get_input_section_name; + ld_plugin_get_input_section_contents tv_get_input_section_contents; + ld_plugin_update_section_order tv_update_section_order; + ld_plugin_allow_section_ordering tv_allow_section_ordering; + } tv_u; +}; + +/* The plugin library's "onload" entry point. */ + +typedef +enum ld_plugin_status +(*ld_plugin_onload) (struct ld_plugin_tv *tv); + +#ifdef __cplusplus +} +#endif + +#endif /* !defined(PLUGIN_API_H) */ diff --git a/lib/gcc/arm-linux-androideabi/4.7/armv7-a/libgcc.a b/lib/gcc/arm-linux-androideabi/4.7/armv7-a/libgcc.a Binary files differindex 27e55d3..d2c07a7 100644 --- a/lib/gcc/arm-linux-androideabi/4.7/armv7-a/libgcc.a +++ b/lib/gcc/arm-linux-androideabi/4.7/armv7-a/libgcc.a diff --git a/lib/gcc/arm-linux-androideabi/4.7/armv7-a/libgcov.a b/lib/gcc/arm-linux-androideabi/4.7/armv7-a/libgcov.a Binary files differindex dcbced3..e0a99d0 100644 --- a/lib/gcc/arm-linux-androideabi/4.7/armv7-a/libgcov.a +++ b/lib/gcc/arm-linux-androideabi/4.7/armv7-a/libgcov.a diff --git a/lib/gcc/arm-linux-androideabi/4.7/armv7-a/thumb/libgcc.a b/lib/gcc/arm-linux-androideabi/4.7/armv7-a/thumb/libgcc.a Binary files differindex 91f4956..1d8f9d8 100644 --- a/lib/gcc/arm-linux-androideabi/4.7/armv7-a/thumb/libgcc.a +++ b/lib/gcc/arm-linux-androideabi/4.7/armv7-a/thumb/libgcc.a diff --git a/lib/gcc/arm-linux-androideabi/4.7/armv7-a/thumb/libgcov.a b/lib/gcc/arm-linux-androideabi/4.7/armv7-a/thumb/libgcov.a Binary files differindex 257feef..9c94b08 100644 --- a/lib/gcc/arm-linux-androideabi/4.7/armv7-a/thumb/libgcov.a +++ b/lib/gcc/arm-linux-androideabi/4.7/armv7-a/thumb/libgcov.a diff --git a/lib/gcc/arm-linux-androideabi/4.7/include-fixed/linux/a.out.h b/lib/gcc/arm-linux-androideabi/4.7/include-fixed/linux/a.out.h index 306398e..c597c05 100644 --- a/lib/gcc/arm-linux-androideabi/4.7/include-fixed/linux/a.out.h +++ b/lib/gcc/arm-linux-androideabi/4.7/include-fixed/linux/a.out.h @@ -2,7 +2,7 @@ It has been auto-edited by fixincludes from: - "/Volumes/android/toolchain-build-4.7/prefix/sysroot/usr/include/linux/a.out.h" + "/Volumes/android/toolchain-build-linux-4.7/prefix/sysroot/usr/include/linux/a.out.h" This had to be done to correct non-standard usages in the original, manufacturer supplied header file. */ diff --git a/lib/gcc/arm-linux-androideabi/4.7/include-fixed/stdio.h b/lib/gcc/arm-linux-androideabi/4.7/include-fixed/stdio.h index 357841c..3415fac 100644 --- a/lib/gcc/arm-linux-androideabi/4.7/include-fixed/stdio.h +++ b/lib/gcc/arm-linux-androideabi/4.7/include-fixed/stdio.h @@ -2,7 +2,7 @@ It has been auto-edited by fixincludes from: - "/Volumes/android/toolchain-build-4.7/prefix/sysroot/usr/include/stdio.h" + "/Volumes/android/toolchain-build-linux-4.7/prefix/sysroot/usr/include/stdio.h" This had to be done to correct non-standard usages in the original, manufacturer supplied header file. */ @@ -48,7 +48,7 @@ #define _STDIO_H_ #include <sys/cdefs.h> -#include <sys/_types.h> +#include <sys/types.h> /* __gnuc_va_list and size_t must be defined by stdio.h according to Posix */ #define __need___va_list @@ -58,30 +58,9 @@ #define __need_size_t #include <stddef.h> +#define __need_NULL #include <stddef.h> -#if __BSD_VISIBLE || __POSIX_VISIBLE || __XPG_VISIBLE -#include <sys/types.h> /* XXX should be removed */ -#endif - -#ifndef _SIZE_T_DEFINED_ -#define _SIZE_T_DEFINED_ -typedef unsigned long size_t; -#endif - -#ifndef _OFF_T_DEFINED_ -#define _OFF_T_DEFINED_ -typedef long off_t; -#endif - -#ifndef NULL -#ifdef __GNUG__ -#define NULL __null -#else -#define NULL 0L -#endif -#endif - #define _FSTDIO /* Define for new stdio with functions. */ typedef off_t fpos_t; /* stdio file position type */ diff --git a/lib/gcc/arm-linux-androideabi/4.7/include/omp.h b/lib/gcc/arm-linux-androideabi/4.7/include/omp.h new file mode 100644 index 0000000..f0bb026 --- /dev/null +++ b/lib/gcc/arm-linux-androideabi/4.7/include/omp.h @@ -0,0 +1,107 @@ +/* Copyright (C) 2005, 2007, 2008, 2009, 2011 Free Software Foundation, Inc. + Contributed by Richard Henderson <rth@redhat.com>. + + This file is part of the GNU OpenMP Library (libgomp). + + Libgomp is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3, or (at your option) + any later version. + + Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + FOR A PARTICULAR PURPOSE. See the GNU General Public License for + more details. + + Under Section 7 of GPL version 3, you are granted additional + permissions described in the GCC Runtime Library Exception, version + 3.1, as published by the Free Software Foundation. + + You should have received a copy of the GNU General Public License and + a copy of the GCC Runtime Library Exception along with this program; + see the files COPYING3 and COPYING.RUNTIME respectively. If not, see + <http://www.gnu.org/licenses/>. */ + +#ifndef OMP_H +#define OMP_H 1 + +#ifndef _LIBGOMP_OMP_LOCK_DEFINED +#define _LIBGOMP_OMP_LOCK_DEFINED 1 +/* These two structures get edited by the libgomp build process to + reflect the shape of the two types. Their internals are private + to the library. */ + +typedef struct +{ + unsigned char _x[4] + __attribute__((__aligned__(4))); +} omp_lock_t; + +typedef struct +{ + unsigned char _x[12] + __attribute__((__aligned__(4))); +} omp_nest_lock_t; +#endif + +typedef enum omp_sched_t +{ + omp_sched_static = 1, + omp_sched_dynamic = 2, + omp_sched_guided = 3, + omp_sched_auto = 4 +} omp_sched_t; + +#ifdef __cplusplus +extern "C" { +# define __GOMP_NOTHROW throw () +#else +# define __GOMP_NOTHROW __attribute__((__nothrow__)) +#endif + +extern void omp_set_num_threads (int) __GOMP_NOTHROW; +extern int omp_get_num_threads (void) __GOMP_NOTHROW; +extern int omp_get_max_threads (void) __GOMP_NOTHROW; +extern int omp_get_thread_num (void) __GOMP_NOTHROW; +extern int omp_get_num_procs (void) __GOMP_NOTHROW; + +extern int omp_in_parallel (void) __GOMP_NOTHROW; + +extern void omp_set_dynamic (int) __GOMP_NOTHROW; +extern int omp_get_dynamic (void) __GOMP_NOTHROW; + +extern void omp_set_nested (int) __GOMP_NOTHROW; +extern int omp_get_nested (void) __GOMP_NOTHROW; + +extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW; +extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW; + +extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; +extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW; + +extern double omp_get_wtime (void) __GOMP_NOTHROW; +extern double omp_get_wtick (void) __GOMP_NOTHROW; + +void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW; +void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW; +int omp_get_thread_limit (void) __GOMP_NOTHROW; +void omp_set_max_active_levels (int) __GOMP_NOTHROW; +int omp_get_max_active_levels (void) __GOMP_NOTHROW; +int omp_get_level (void) __GOMP_NOTHROW; +int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW; +int omp_get_team_size (int) __GOMP_NOTHROW; +int omp_get_active_level (void) __GOMP_NOTHROW; + +int omp_in_final (void) __GOMP_NOTHROW; + +#ifdef __cplusplus +} +#endif + +#endif /* OMP_H */ diff --git a/lib/gcc/arm-linux-androideabi/4.7/libgcc.a b/lib/gcc/arm-linux-androideabi/4.7/libgcc.a Binary files differindex 880aef5..ee8585b 100644 --- a/lib/gcc/arm-linux-androideabi/4.7/libgcc.a +++ b/lib/gcc/arm-linux-androideabi/4.7/libgcc.a diff --git a/lib/gcc/arm-linux-androideabi/4.7/libgcov.a b/lib/gcc/arm-linux-androideabi/4.7/libgcov.a Binary files differindex 1a154ee..95a5957 100644 --- a/lib/gcc/arm-linux-androideabi/4.7/libgcov.a +++ b/lib/gcc/arm-linux-androideabi/4.7/libgcov.a diff --git a/lib/gcc/arm-linux-androideabi/4.7/thumb/libgcc.a b/lib/gcc/arm-linux-androideabi/4.7/thumb/libgcc.a Binary files differindex 56e74b4..4ed9f78 100644 --- a/lib/gcc/arm-linux-androideabi/4.7/thumb/libgcc.a +++ b/lib/gcc/arm-linux-androideabi/4.7/thumb/libgcc.a diff --git a/lib/gcc/arm-linux-androideabi/4.7/thumb/libgcov.a b/lib/gcc/arm-linux-androideabi/4.7/thumb/libgcov.a Binary files differindex a080e24..f2df29a 100644 --- a/lib/gcc/arm-linux-androideabi/4.7/thumb/libgcov.a +++ b/lib/gcc/arm-linux-androideabi/4.7/thumb/libgcov.a diff --git a/lib/libarm-linux-android-sim.a b/lib/libarm-linux-android-sim.a Binary files differindex ab17cb2..84e7b99 100644 --- a/lib/libarm-linux-android-sim.a +++ b/lib/libarm-linux-android-sim.a diff --git a/lib/x86_64/libiberty.a b/lib/x86_64/libiberty.a Binary files differindex d31569a..792f738 100644 --- a/lib/x86_64/libiberty.a +++ b/lib/x86_64/libiberty.a diff --git a/lib32/libbfd.a b/lib32/libbfd.a Binary files differindex 2b15215..80fdd1f 100644 --- a/lib32/libbfd.a +++ b/lib32/libbfd.a diff --git a/lib32/libiberty.a b/lib32/libiberty.a Binary files differindex 4f313f1..4603484 100644 --- a/lib32/libiberty.a +++ b/lib32/libiberty.a diff --git a/lib32/libintl.a b/lib32/libintl.a Binary files differindex 41c4fe1..80c0618 100644 --- a/lib32/libintl.a +++ b/lib32/libintl.a diff --git a/libexec/gcc/arm-linux-androideabi/4.7/cc1 b/libexec/gcc/arm-linux-androideabi/4.7/cc1 Binary files differindex f05b4f2..345a67a 100755 --- a/libexec/gcc/arm-linux-androideabi/4.7/cc1 +++ b/libexec/gcc/arm-linux-androideabi/4.7/cc1 diff --git a/libexec/gcc/arm-linux-androideabi/4.7/cc1plus b/libexec/gcc/arm-linux-androideabi/4.7/cc1plus Binary files differindex a31311a..6d4a30a 100755 --- a/libexec/gcc/arm-linux-androideabi/4.7/cc1plus +++ b/libexec/gcc/arm-linux-androideabi/4.7/cc1plus diff --git a/libexec/gcc/arm-linux-androideabi/4.7/collect2 b/libexec/gcc/arm-linux-androideabi/4.7/collect2 Binary files differindex 6ca334f..666d561 100755 --- a/libexec/gcc/arm-linux-androideabi/4.7/collect2 +++ b/libexec/gcc/arm-linux-androideabi/4.7/collect2 diff --git a/libexec/gcc/arm-linux-androideabi/4.7/liblto_plugin.0.so b/libexec/gcc/arm-linux-androideabi/4.7/liblto_plugin.0.so Binary files differindex 9d8dae8..9d55d0e 100755 --- a/libexec/gcc/arm-linux-androideabi/4.7/liblto_plugin.0.so +++ b/libexec/gcc/arm-linux-androideabi/4.7/liblto_plugin.0.so diff --git a/libexec/gcc/arm-linux-androideabi/4.7/liblto_plugin.so b/libexec/gcc/arm-linux-androideabi/4.7/liblto_plugin.so Binary files differindex 9d8dae8..9d55d0e 100755 --- a/libexec/gcc/arm-linux-androideabi/4.7/liblto_plugin.so +++ b/libexec/gcc/arm-linux-androideabi/4.7/liblto_plugin.so diff --git a/libexec/gcc/arm-linux-androideabi/4.7/lto-wrapper b/libexec/gcc/arm-linux-androideabi/4.7/lto-wrapper Binary files differindex e60058a..b43fee3 100755 --- a/libexec/gcc/arm-linux-androideabi/4.7/lto-wrapper +++ b/libexec/gcc/arm-linux-androideabi/4.7/lto-wrapper diff --git a/libexec/gcc/arm-linux-androideabi/4.7/lto1 b/libexec/gcc/arm-linux-androideabi/4.7/lto1 Binary files differindex 8f733fa..ed30302 100755 --- a/libexec/gcc/arm-linux-androideabi/4.7/lto1 +++ b/libexec/gcc/arm-linux-androideabi/4.7/lto1 diff --git a/libexec/gcc/arm-linux-androideabi/4.7/plugin/gengtype b/libexec/gcc/arm-linux-androideabi/4.7/plugin/gengtype Binary files differnew file mode 100755 index 0000000..463ad80 --- /dev/null +++ b/libexec/gcc/arm-linux-androideabi/4.7/plugin/gengtype |