aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.4.3/gcc
Commit message (Collapse)AuthorAgeFilesLines
* 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
* 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>
* 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-262-2/+3
|\
| * Modifications to enable OpenMP in Android.Keith Obenschain2012-03-232-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | 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 "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-191-7/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1020-16/+345
| | | | | | | | | | | | | | | 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
* Synchronize internal and external version. Merge the following patches:Doug Kwan2011-02-1415-54/+433
| | | | | | | | | | | | | -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
* Upgrade gcc-4.4.3 for Android toolchain.Jing Yu2011-01-30324-2143/+19809
| | | | | | | | | | | | | | - Backport upstream patches to support arm hardfp. - Backport gcc-4.5 patches to support -march=atom. Now it is able to build atom toolchain with glibc from this branch - Develop a bunch of optimizations - Fix a few arm dejagnu failures To-do list: - Support Android/atom - Fix ia32 bootstrap failure Change-Id: I5e10dcd21620d4d8ca984d1d1707a76067e61691
* Back port 2 upstream fixes for broken dejagnu tests.Jing Yu2011-01-0714-23/+34
| | | | | | upstream r156042 and r148110 Change-Id: Ic35d4be0fc74a4ae2b8c57a54affef975b79ed88
* Back port upstream patch r153779 for cortex-a9.Jing Yu2010-12-151-6/+180
| | | | | | | | The patch gives more detailed description of cortex-A9's pipeline. It in general improves performance on Cortex-A9. Use -mtune=cortex-a9 to take advantage of this feature. Change-Id: I803daa6631272a0dae3514b378b9f611b8fd2b54
* Fix a thumb1 code generation bug.Jing Yu2010-12-131-24/+19
| | | | | | | | | The problem was caused by backporting a patch from upstream without its necessary dependencies. This patch changes the implementation of cbranchqi4 so that we keep the optimization without generating bad code. Change-Id: Icbaf443ac6e85774cb664036941bf829c5e4c31e
* Backport upstream 4.6 patches to fix 2 gcc bugs.Jing Yu2010-11-044-73/+100
| | | | | | | | | Fix a bad interaction of inliner x return slot optimization x named value optimization Replace tst instruction with lsls for a single bit test Change-Id: I30c212d9e99c79eae182da66b97d9d9f4d738faf
* Backport upstream arm-linux-androideabi target to gcc-4.4.3.Jing Yu2010-07-2221-349/+333
| | | | | | | | | From now on, the general Android toolchain will be arm-linux-androideabi. arm-eabi toolchain built from this source does not contain Android specific configurations and will only be used to build Android kernel. Read recent changes in toolchain/build/README for more details. Change-Id: I7526576949b55809da5c24d34e1df884301c05b2
* commit gcc-4.4.3 which is used to build gcc-4.4.3 Android toolchain in master.Jing Yu2010-07-2230492-0/+5509353
The source is based on fsf gcc-4.4.3 and contains local patches which are recorded in gcc-4.4.3/README.google. Change-Id: Id8c6d6927df274ae9749196a1cc24dbd9abc9887