aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.4.3
Commit message (Collapse)AuthorAgeFilesLines
* [4.4.3] Backport of the patch from trunk/4.8 for fixing issue 54623Andrew Hsieh2013-05-272-0/+11
| | | | | | | | | | | | | 2013-05-24 Alexander Ivchenko <alexander.ivchenko@intel.com> PR tree-ssa/57385 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Check that index is not negative. See f63aa0156b8ef6b30304890529cbf642e8f78ebd and https://code.google.com/p/android/issues/detail?id=54623 Change-Id: I3dbba928565414575b9438bb1467fec21506fbc8
* Add new GCC/MIPS option -mldc1-sdc1Andrew Hsieh2013-04-262-1/+5
| | | | | | | | ldc1/sdc1 needs memory to be 8-byte aligned. This option is on by default for arch supports it, but can be turned off by "-mno-ldc1-sdc1" to workaround issue, for example. Change-Id: I14291dc4280e75f6c765c933b60eb1b7cd44f974
* Fix GCC4.4.3/4.6/4.7 to supress -export-dynamic for statically linked programsAndrew Hsieh2013-04-121-2/+3
| | | | | | | | | r191401 | jingyu | 2012-09-18 01:33:05 +0800 (Tue, 18 Sep 2012) | 6 lines 2012-09-17 Ben Cheng <bccheng@google.com * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Suppress the dynamic linker commands for statically linked programs. Change-Id: Ib8a27fb054ddb12242d500ef8b3ceb2b0215cb3e
* Misc fixesAndrew Hsieh2013-04-041-1/+1
| | | | | | | | | | 1. Fixed darwin build of GCC 4.8/X86 by removing trailing ',' from the last item of enum. Not discovered before because GCC 4.8 now builds with -Wall -Werror, and gcc-4.2.1 in darwin is picky about that 2. Fixed -fuse-ld=mcld Change-Id: I7b65edfb76841f14c3290acb5a98f556d00e1139
* MIPS GCC 4.4.3 use .cfi_* directives by defaultAndrew Hsieh2013-03-261-1/+1
| | | | | | | | | Since we are building GCC 4.4.3 with binutils-2.21 whose ld has support for read-only .eh_frames Without this, "ld.mcld --eh-frame-hdr" very often Change-Id: Ie77b5e8eba02edc4fa44de060cb37fc1d569f027
* Merge "Fix GCC 4.4.3/4.6/4.7 openmp support to use libgomp/config/linux"Andrew Hsieh2013-03-085-3/+108
|\
| * Fix GCC 4.4.3/4.6/4.7 openmp support to use libgomp/config/linuxAndrew Hsieh2013-03-075-3/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Android does support SYS_gettid and SYS_futex which allows libgomp to use libgomp/config/linux/* instead of libgomp/config/posix and enables more features such as thread affinity. For GCC4.4.3/ARM, the missing linux/futex.h is copied from GCC 4.6 Also guard the new sc_nprocessors_actu with __ANDROID__, and fix return value in proc.c Change-Id: Ib22496075ac5e41c5f44f5160d1b34a5609c168b
* | GNU libstdc++ --enable-linux-futexAndrew Hsieh2013-03-072-0/+17
|/ | | | Change-Id: Ib97053768252b05decd513825ae45757b220f7d4
* Merge "GCC 4.6/4.4.3: OpenMP: Better CPU count detection for Linux"Andrew Hsieh2013-03-061-3/+186
|\
| * GCC 4.6/4.4.3: OpenMP: Better CPU count detection for LinuxAndrew Hsieh2013-03-061-3/+186
| | | | | | | | | | | | See related b3cd55a4e23e443cc4561424e22c27fe7f05b5c1 Change-Id: Ie43b94f27841b1560f2ce4b2ba163b8584f39ebc
* | GCC4.6/4.4.3: Use default visibility for the __cxa functions in eh_arm.ccAndrew Hsieh2013-03-061-0/+12
|/ | | | | | See related: 811925038a83c20dad6250957e3082e1039c0c77 Change-Id: Ibafc1a0d77bee2340c5279c4c90f5046b1080425
* Fixed GCC 4.6/4.7 ICE gen_thumb_movhi_clobber at config/arm/arm.md:5832Andrew Hsieh2013-03-052-1/+2
| | | | | | | See issue https://code.google.com/p/android/issues/detail?id=52732, and fix http://gcc.gnu.org/ml/gcc-patches/2010-12/msg00732.html Change-Id: If4759a637e5fb6f9c351c11b79d7f9f682ca2ab2
* Fix MIPS GCC to emit -m elf32ltsmip for linkerAndrew Hsieh2013-02-281-0/+1
| | | | | | | | | | ARM/X86 GCC in NDK explicitly emit -m armelf_linux_eabi and -m elf_i386, respectively, for linker. Fix MIPS to do the same, to help mclinker which is built vanilla and relies on either filename (eg. eg. arm-linux-androideabi-ld.mcd implies arm) or -mtriple/-march/-m to figure out the target Change-Id: I236786d0e90a3152225de1eea5e73e3de4ac3f84
* Add mclinker support: -fuse-ld=mcldAndrew Hsieh2013-02-213-0/+21
| | | | | | http://code.google.com/p/mclinker/ Change-Id: Ic9d88a86298eddaccf3c7da8405efb2b2f0d3e70
* Use memalign instead of posix_memalign in GCC x86 mm_malloc.hAndrew Hsieh2013-02-201-0/+6
| | | | | | | | | | | | | | posix_memalign doesn't exist in NDK. Code inludes ?mmintrin.h which in turn includes mm_malloc.h may fail to link For AOSP platform build which uses the same compiler, add -DHAVE_POSIX_MEMALIGN to restore the original behavior. Other than non-zero return value which _mm_alloc already ignores, both paths are functioanlly identical (under the hood dlmalloc.c in 32-bit ensure alignment is at least 16-byte) Change-Id: I55e9bb8b80e1b55baa9744920df10fcf83218300
* Remove march/mtune/mfpmath hardcoded valuesPavel Chupin2013-01-311-2/+1
| | | | | | | | They should be passed in configure to work correctly. See https://android-review.googlesource.com/50815 Change-Id: I2aeb0375132ba985a51c397ee386af1ff4a47c32 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
* Disable libstdc versioningAndrew Hsieh2013-01-112-2/+2
| | | | | | | Used to be first half of NDK local patch at $NDK/build/tools/ toolchain-patches/gcc/0006-Disable-libstdc-versioning.patch Change-Id: I8ac0f14d20f32a4f946ffd6fd5756a2ab556e99b
* Revert "Enable _GLIBCXX_USE_CLOCK_MONOTONIC in libstdc++"Andrew Hsieh2013-01-032-2/+2
| | | | | | | | This reverts commit bd342f0491128ad15e6ea4ff241e243b753137c9 In favor of later/better fix in 75d889ea23f0ff1ecaa5cb79b435aca25460a4c9 Change-Id: Iae68d49b39b528d790c7404e657f3daa32a19864
* Enable _GLIBCXX_USE_CLOCK_MONOTONIC in libstdc++Andrew Hsieh2012-12-292-2/+2
| | | | | | | | | This is needed to provide "steady_clock" (or monotonic_clock in GCC 4.6/4.4.3) in <chrono> See http://code.google.com/p/android/issues/detail?id=39680 Change-Id: I0c31704971dc15751ce936f563de7c42a4e645a6
* Fix OpenMPAndrew Hsieh2012-12-275-9/+14
| | | | | | | | | | | | | | Based on 1271761f530c0050154e8d526b95f952df551751, 92c478dba755a1a2f6f00ff390666acbffd41982, and 51df2e98d22e2c6f5d2a16860bc8fc3644179c1d. With the following modifications: 1. Translate -pthread to -lc instead of -lpthread Android doesn't have (has pthread* in libc.so instead) 2. Because of 1., we can restore to the original order of LINUX_OR_ANDROID_LD Change-Id: I505250c32b9908cb17bb269dc26e73c91669c07f
* Merge "Modifications to enable OpenMP in Android."Andrew Hsieh2012-12-265-3/+62
|\
| * Modifications to enable OpenMP in Android.Keith Obenschain2012-03-235-3/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch enables OpenMP support in the Android NDK by modifying the following: Specify that pthreads are supported in -lc instead of -lpthread (linux-android.h) Change the order of ANDROID_LIB_SPEC and LINUX_TARGET_LIB_SPEC so the above change will take precedence (linux-eabi.h) Modified autoconf for libgomp to check to see if the pthread libraries exist in libc (configure.ac) Added include to env.c so PAGE_SIZE is defined. To enable these changes, add "--enable-libgomp" to configure command under build-gcc.sh. Change-Id: I8b460159b768f64f5198ef5494346cdf75510250 Signed-off-by: Keith Obenschain <obenschaink@gmail.com>
* | Patch GCC libstdc++ 4.4.3/4.6/4.7 to work with Clang in C++11Andrew Hsieh2012-12-1221-105/+94
| | | | | | | | | | | | | | | | See http://clang.llvm.org/cxx_status.html http://code.google.com/p/android/issues/detail?id=39600 https://android-review.googlesource.com/#/c/47836/ Change-Id: I1e625592dcc66fa952e0965bf86e8255cac6ca72
* | Enable MIPS floating-point madd/msub/nmadd/nmsub/recip/rsqrt with 32-bit FPU.Chao-ying Fu2012-12-112-9/+4
| |
* | Fix GCC 4.6 ARM ICE at reload1.c:1061Andrew Hsieh2012-12-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See http://code.google.com/p/android/issues/detail?id=20862 Disable r172951 in -O0 to fix issue. r172951 optimizes the case when the estimated funciton size is small, all branches in funciton become short jump, ie. the function doesn't contain far jump which clobber register "lr". Unfortunately the estimation may not be correct before register allocation because spill code may increase the function size and invalidate the assumption about whether to save/restore "lr" or not. Fortunately, "lr" is already save/restored when the funciton use r4-r7 or contains spill code. r172951 works because register allocator must exhaust r4-r7 before spill code, so the size estimation when r4-r7 are NOT used is accurate. Unfortunately this isn't the case in -O0 when compiler doesn't use r4-r7 at all yet somehow the size estimation is wrong. Disable it for -O0 r172951 | carrot | 2011-04-26 09:55:33 +0800 (Tue, 26 Apr 2011) | 5 lines * gcc/config/arm/arm.c (SHORTEST_FAR_JUMP_LENGTH): New constant. (estimate_function_length): New function. (thumb_far_jump_used_p): No far jump is needed in short function. Change-Id: I0973d2141787332fc61501fbe76dc7c44c9d1282
* | Merge "Fix GCC 4.4.3 ARM ICE at postreload.c:396"Andrew Hsieh2012-11-284-21/+48
|\ \
| * | Fix GCC 4.4.3 ARM ICE at postreload.c:396Andrew Hsieh2012-11-284-21/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport r147577 to fix issue http://code.google.com/p/android/issues/detail?id=22345 2009-05-15 Paul Brook <paul@codesourcery.com> Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/arm/arm.c (neon_vector_mem_operand): Handle element/structure loads. Allow PRE_DEC. (output_move_neon): Handle PRE_DEC. (arm_print_operand): Add 'A' for neon structure loads. * config/arm/arm-protos.h (neon_vector_mem_operand): Update prototype. * config/arm/neon.md (neon_mov): Update comment. * config/arm/constraints.md (Un, Us): Update neon_vector_mem_operand calls. (Um): New constraint. Change-Id: I3eb5e7ab55277cfe04b1c6833d656c1426b24708
* | | Fix GCC 4.4.3 ARM ICE at emit-rtl.c:1954Andrew Hsieh2012-11-282-4/+39
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport r167430 to fix issue http://code.google.com/p/android/issues/detail?id=22336 r167430 | froydnj | 2010-12-03 23:16:34 +0800 (Fri, 03 Dec 2010) | 10 lines gcc/ * config/arm/arm.c (arm_legitimate_index_p): Split VALID_NEON_QREG_MODE and VALID_NEON_DREG_MODE cases. Permit slightly larger constants in the latter case. (thumb2_legitimate_index_p): Likewise. gcc/testsuite/ * gcc.target/arm/neon-offset-1.c: New test. Change-Id: Id78164ff2c29b042998a79b26556bb44ff8b8dec
* | Add helper functions to GCC 4.4.3 for Thumb1 compressed dispatch-table callAndrew Hsieh2012-11-279-13/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is partial port of r148770 to resolve GCC 4.4.3 linker error when taking library armeabi/libgabi++_static.a compiled by later GCC. ./obj/local/armeabi/libgabi++_static.a(dwarf_helper.o): In function __cxxabiv1::readEncodedPointer(unsigned char const**, unsigned char)': dwarf_helper.cc:(.text+0x74): undefined reference to __gnu_thumb1_case_sqi' This change is partial because it only provides enough helper functions in lib1funcs.asm, but doesn't enable GCC 4.4.3 to geneate Thumb1 compressed dispatch-table. ------------------------------------------------------------------------ r148770 | rearnsha | 2009-06-22 04:48:15 +0800 (Mon, 22 Jun 2009) | 27 lines * arm.c (thumb1_output_casesi): New function. * arm.h (CASE_VECTOR_PC_RELATIVE): Thumb-1 code is also relative if optimizing for size or PIC. (CASE_VECTOR_SHORTEN_MODE): Handle thumb-1. * arm.md (UNSPEC_THUMB1_CASESI): New constant. (casesi): Handle Thumb-1 when optimizing for size or PIC. (thumb1_casesi_internal_pic): New expand rule. (thumb1_casesi_dispatch): New pattern. * aout.h (ASM_OUTPUT_ADDR_DIFF_ELT): Use shortened vectors for thumb-1 mode. * coff.h (JUMP_TABLES_IN_TEXT_SECTION): Thumb-1 jump tables are now in the text seciton when PIC or optimizing for size. * elf.h (JUMP_TABLES_IN_TEXT_SECTION): Likewise. * lib1funcs.asm ([__ARM_EABI__]): Add an attribute describing stack preservation properties of code. (__gnu_thumb1_case_sqi, __gnu_thumb1_case_uqi): New functions. (__gnu_thumb1_case_shi, __gnu_thumb1_case_uhi): New functions. (__gnu_thumb1_case_si): New function. * t-arm (LIB1ASMSRC): Define here. (LIB1ASMFUNCS): Add some common functions. * t-arm-elf (LIB1ASMSRC): Delete. (LIB1ASMFUNCS): Append to existing set. * t-pe (LIB1ASMSRC, LIB1ASMFUNCS): Likewise. * t-strongarm-elf (LIB1ASMSRC, LIB1ASMFUNCS): Likewise. * t-symbian (LIB1ASMFUNCS): Likewise. * t-vxworks (LIB1ASMSRC, LIB1ASMFUNCS): Likewise. * t-wince-pe (LIB1ASMSRC, LIB1ASMFUNCS): Likewise. Change-Id: I293661cd65b60854b485326a003a474b59104eeb
* | Add -mstack-protector-guard= to x86 compilersAndrew Hsieh2012-11-014-3/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To choose between "global" (default) and "tls" (new) for -fstack-protector, -fstack-protector-all, and -fstack-protector-strong (GCC 4.6+). Note that this alone doesn't enable any -fstack-protector* For NDK: The default "global" generates code backward compatible with older bionic For AOSP: build may add "-mstack-protector-guard=tls" to build platform code with new bionic (*1) Related CL: https://android-review.googlesource.com/#/c/45416 (*1) https://android-review.googlesource.com/#/c/45784 Change-Id: Iedf5b7ae5148572db2e35f0add93bc3d13511304
* | Return to %gs:20 code generation for -fstack-protector on x86Pavel Chupin2012-10-301-3/+3
| | | | | | | | | | | | | | | | | | After https://android-review.googlesource.com/#/c/45416 bionic provides stack-protector random value per each thread at %gs:20. Therefore return compiler back to %gs:20 code gen, same as for glibc. Change-Id: I76c68f0c99846d247f34e0ea781a7f1c305659b9 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
* | Merge "Enable x86/arm gcc defaults"Andrew Hsieh2012-10-234-11/+37
|\ \
| * | Enable x86/arm gcc defaultsAndrew Hsieh2012-10-234-11/+37
| | | | | | | | | | | | | | | | | | | | | Used to be local NDK patch at $NDK/build/tools/toolchain-patches/ gcc/0004-Enable-x86-gcc-defaults.patch Change-Id: I6cb6ba8b29b7ba4f242f788a57bf0460289f0cbd
* | | Merge "Workaround for Android __cxa_finalize bug"Andrew Hsieh2012-10-231-0/+8
|\ \ \
| * | | Workaround for Android __cxa_finalize bugAndrew Hsieh2012-10-231-0/+8
| |/ / | | | | | | | | | | | | | | | | | | Used to be local NDK patch at $NDK/build/tools/toolchain-patches/ gcc/0003-Work-around-for-Android-__cxa_finalize-bug.patch Change-Id: I8f8039ba010af169185de6f276a45317ecd42170
* | | Merge "Enable assembler linker default for security"Andrew Hsieh2012-10-235-5/+17
|\ \ \
| * | | Enable assembler linker default for securityAndrew Hsieh2012-10-235-5/+17
| |/ / | | | | | | | | | | | | | | | | | | Used to be local NDK patch at $NDK/build/tools/toolchain-patches/ gcc/0009-Enable-assembler-linker-default-for-security.patch Change-Id: I0211ee770e9d4db036361390fcb5892d4e39356f
* | | Merge "Add MIPS Android support and default to little-endian"Andrew Hsieh2012-10-234-9/+48
|\ \ \
| * | | Add MIPS Android support and default to little-endianAndrew Hsieh2012-10-234-9/+48
| |/ / | | | | | | | | | | | | | | | | | | Used to be local NDK patch at $NDK/build/tools/toolchain-patches/ gcc/0007-Add-MIPS-Android-support-and-default-to-Little-Endia.patch Change-Id: Idd91e833ad64defdf93d95a8d4bf99f898c358a1
* / / Use the correct CRT files with shared link optionAndrew Hsieh2012-10-231-2/+2
|/ / | | | | | | | | | | | | Used to be local NDK patch at $NDK/build/tools/toolchain-patches/ gcc/0005-Use-the-correct-CRT-files-with-shared-link-option.patch Change-Id: I6d46e8e7eb8f72b40319694531dd88cf6a327b3f
* | Fix GCC 4.4.3 GNU libstdc++ to NOT merge typeinfo names by defaultAndrew Hsieh2012-09-194-37/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Back port r149964, r153734, r153742 and r153768, with later revision reverts previous one (some "partially", or nothing would have left :) This issue is fixed in GCC 4.6 (NDK r8b+). See the new gcc-4.4.3/libstdc++-v3/libsupc++/typeinfo for details. Related issue/discussion: http://code.google.com/p/android/issues/detail?id=22165 https://groups.google.com/forum/#!msg/android-ndk/FlnuAOIKHOo/kLEwaBso7KYJ%5B1-25%5D Change-Id: I0ef9d5001c82f2eb5472a1c4fd60b07d33e0ab1f
* | Fix GCC 4.4.3 crashes on NEON specific typedef for floatAndrew Hsieh2012-09-1310-59/+71
| | | | | | | | | | | | | | | | Backport the following: r152030, r152242, r152408, and r153858 Related issue: http://code.google.com/p/android/issues/detail?id=34613 Change-Id: I44563f618220fbe9e01915962fe411ac2f385bbb
* | Fix MIPS GCC __builtin_unreachable issue compiling LLVMAndrew Hsieh2012-09-061-1/+4
| | | | | | | | | | | | | | See Bug 54369: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54369 Change-Id: I1a84f7c95e05e26b2906e79947a43f64d5621362
* | Backport from trunk r189840 and r187586: stack-protector fixes for 4.4.3Pavel Chupin2012-09-035-3/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2012-07-25 Sergey Melnikov <sergey.melnikov@intel.com> * config/i386/i386.md (stack_protect_set): Disable the pattern for Android since Android libc (bionic) does not provide random value for stack protection guard at gs:0x14. Guard value will be provided from external symbol (default implementation). (stack_protect_set_<mode>): Likewise. (stack_protect_test): Likewise. (stack_protect_test_<mode>): Likewise. * gcc/defaults.h: Define macro TARGET_HAS_BIONIC to 0 - target * does not have Bionic by default * config/linux.h: Redefine macro TARGET_HAS_BIONIC to * (OPTION_BIONIC) Macro OPTION_BIONIC is defined in this file and provides Bionic accessibility status 2012-05-16 Igor Zamyatin <igor.zamyatin@intel.com> * configure.ac: Stack protector enabling for Android targets. * configure: Regenerate. Change-Id: I878562dd0bed8069011246c29c1ac6ce1c353644 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
* | Disable warning: the mangling of <va_list> has changed in GCC 4.4Andrew Hsieh2012-08-301-0/+13
|/ | | | | | For GCC 4.4.3. Same as the previous fix for GCC 4.6 Change-Id: I342083fdc2b7534c3b31ade0060a528a446de038
* Sync internal and external version:Doug Kwan2011-06-1025-17/+415
| | | | | | | | | | | | | | | Changes: -x86 security patch (for ChromeOS) -Fix bug in inlining. -Fix freestanding C++ library build: http://gcc.gnu.org/viewcvs?view=revision&revision=173220 -Fix out-of-range branches in Thumb-2 mode. -Fix gcda file corruption problem. -Hanlde LDFLAGS_FOR_TARGETS in configure. This is a backport of upstrem patch r173558. -Backport upstream fix for Atom performance at r164379. Change-Id: Id5a6cfb8949cbd390a0bb3546d55d83383ee4f8c
* Merge "xgcc compiles need to use the Android crt files as specified in ↵Doug Kwan2011-04-072-2/+2
|\ | | | | | | LDFLAGS_FOR_TARGET"
| * xgcc compiles need to use the Android crt files as specified in ↵Bruce Beare2011-03-172-2/+2
| | | | | | | | | | | | | | LDFLAGS_FOR_TARGET Change-Id: If494615b055cd5c001ffd7a1722bcbdf9b88abd8 Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
* | Update gcc-4.4.3 for building libsupc++ in freestanding mode.Doug Kwan2011-03-163-2/+9
|/ | | | | | -Backport upstream patch from gcc rev 171019. Change-Id: I177e4e11f38d57c6ca1d065ebf3e8a37d9bacc33
* Synchronize internal and external version. Merge the following patches:Doug Kwan2011-02-1416-54/+472
| | | | | | | | | | | | | -Added a more helpful error message when the profile is corrupted. -Added check for abnormal ssa names in the analysis phase of the vectorizer so that it prevents a potential ICE. -Replace floating-point calculations with fixed-point calculations when computing inlining priority to eliminate floating-point non-determinism on 32-bit x86. -Use .init_array/.fini_array sections instead of .ctor/.dtor when configured with --enable-initfini-array. Change-Id: I32f22dae5bcd4d229be321ee10dfeaa11a04cbac