aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.6
Commit message (Collapse)AuthorAgeFilesLines
* Fix host 64-bit gcc4.6 buildAndrew Hsieh2014-03-051-1/+1
| | | | | | | | | | | | | | ANDROID_CC1_SPEC should be used with argument, otherwise it's not expanded and fail compilation. Note that we are not building 64-bit 4.6 target toolchain. 64-bit target toolchains are built from 4.7 and up instead. This issue only occurs when building 64-bit host compiler (x86_64), eg. aosp/prebuilts/gcc/linux-x86/host. The argument doesn't matter, although we put "-fPIC" to be consistent with its 32-bit counterpart Change-Id: I746b14a6e4471a4bd62fb4e29b574669d4b7a9d1
* [4.6, 4.8] Add additional multilib option: mfloat-abi=hardAndrew Hsieh2013-12-261-3/+4
| | | | | | | | | | | | Only available with "-march=armv7-a", this CL add two set of libraries 1. "armv7-a/hard": -march=armv7-a -mfloat-abi=hard 2. "armv7-a/thumb/hard": -march=armv7-a -mthumb -mfloat-abi=hard Note that -mhard-float implies -mfloat-abi=hard, which in turns select one of the above /hard libraries dependeing on the presence of -mthumb or not. (ie. no need to explicitly specifly -mfloat-abi=hard after -mhard-float) Change-Id: Ib803ecaa911082d6bc4f98b542d7d28e98be6726
* [4.6, 4.8] Add -mtune=intel supportPavel Chupin2013-12-094-6/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is backport of r205719 and r205754 from trunk. Now -mtune=intel matches -mtune=slm for 4.8 and -mtune=atom for 4.6. As written in gcc-4.8 docs: Produce code optimized for the most current Intel processors, which are Haswell and Silvermont for this version of GCC. If you know the CPU on which your code will run, then you should use the corresponding -mtune or -march option instead of -mtune=intel. But, if you want your application performs better on both Haswell and Silvermont, then you should use this option. As new Intel processors are deployed in the marketplace, the behavior of this option will change. Therefore, if you upgrade to a newer version of GCC, code generation controlled by this option will change to reflect the most current Intel processors at the time that version of GCC is released. There is no -march=intel option because -march indicates the instruction set the compiler can use, and there is no common instruction set applicable to all processors. In contrast, -mtune indicates the processor (or, in this case, collection of processors) for which the code is optimized. Change-Id: I3ec4c3b5423d9b3547cd8e3aa77a18af3fd89598 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
* [4.6] Backport of two patches for fixing build with texinfo-5.0.Alexander Ivchenko2013-11-116-20/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2013-03-20 Jack Howarth <howarth@bromo.med.uc.edu> PR bootstrap/56258 * doc/generic.texi (POINTER_PLUS_EXPR): Use @item instead of @itemx. (PLUS_EXPR): Likewise. * doc/cppopts.texi (--help): Likewise. * doc/invoke.texi (-fenable-@var{kind}-@var{pass}): Likewise (-fdump-rtl-cprop_hardreg): Likewise. (-fdump-rtl-csa): Likewise. (-fdump-rtl-dce): Likewise. (-fdump-rtl-dbr): Likewise. (-fdump-rtl-into_cfglayout): Likewise. (-fdump-rtl-outof_cfglayout): Likewise. (@gccoptlist): Move misplaced bracket. 2013-02-21 Jakub Jelinek <jakub@redhat.com> PR bootstrap/56258 * doc/invoke.texi (-fdump-rtl-pro_and_epilogue): Use @item instead of @itemx. 2013-02-21 Jakub Jelinek <jakub@redhat.com> PR bootstrap/56258 * gnat-style.texi (@title): Remove @hfill. * projects.texi: Avoid line wrapping inside of @pxref or @xref. 2013-02-21 Jakub Jelinek <jakub@redhat.com> PR bootstrap/56258 * doc/cp-tools.texinfo (Virtual Machine Options): Use just one @gccoptlist instead of 3 separate ones. Change-Id: Ib38dac55a3a3517a2f98588d93b5301368299b68 Signed-off-by: Alexander Ivchenko <alexander.ivchenko@intel.com>
* Extend MIPS GCC4.6/4.7/4.8 -mldc1-sdc1 to control ldxc1/sdxc1 tooIceberg Fu2013-08-302-3/+3
| | | | | | | | | | | | | -mldc1-sdc1 now also controls codegen of ldxc1/sdxc1, the indexed versions (where address of load/store is computed from sum of two registers) of ldc1/sdc1 which are already controlled by this option. Although double (or struct containing double) is always aligned and the stock does guarantee 8-byte alignment, this option is to workaround issue when double is allocated from a custom allocator w/o honoring 8-byte minimal alignment. Change-Id: I79433976509b885b5699d62693fd3154bb752abf
* Add MXU support in gcc4.6/4.7/4.8 with -mmxuAndrew Hsieh2013-08-152-0/+5
| | | | | | For Ingenic MXU. Change-Id: Ie7b465c971e3642b3244ac1a77b6f86be4ab4fea
* [4.6,4.7] Always enable --eh-frame-hdr for static executableAndrew Hsieh2013-08-079-4/+118
| | | | | | | See 23e3137ee2897464b051599b85a09f130d3ad05d for the reason why. backport 4.8 patch from http://gcc.gnu.org/ml/gcc-patches/2012-09/msg00969.html Change-Id: I9496e11f314e5e2ec9359b993016723ab6366dad
* Merge "Add an internal switch -minline-thumb1-jumptable to ARM gcc4.6/4.7/4.8"Andrew Hsieh2013-08-074-3/+9
|\
| * Add an internal switch -minline-thumb1-jumptable to ARM gcc4.6/4.7/4.8Lai Wei-Chih2013-08-024-3/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Default is off (ie. no changes of behavior), meaning that gcc may generate thumb1 jumptable helper calls (eg. __gnu_thumb1_case_sqi) for switch/case. Use -minline-thumb1-jumptable to compile code which can be linked with compiler-rt where helper __gnu_thumb1_case_* doesn't exist. This is mainly for use to compile NDK gabi++/stlport/libc++ to be independent of libgcc.a. The only affected binaries are all in armeabi. ABIs armeabi-v7a and x86/mips aren't affected. Size differences are libgabi++_static.a 176286 -> 176538 +0.1% libstlport_static.a 1406346 -> 1413318 +0.5% libc++_static.a 2426814 -> 2439074 +0.5% Change-Id: I582898955b28e53e988a91bc1a64b76fba677e58
* | [4.6,4.8] Add stack unwinding directives for __aeabi_idiv0 in libgcc.aAndrew Hsieh2013-08-032-1/+8
|/ | | | | | Same fix to 4.7 in 5ea1e88a7f14a78a01d95f66e388eb15908a5225 Change-Id: I1b2ce4ad72e6b2a327183703d9e49295cf2bad25
* Fix gcc4.6 thumb2 fails to generate 16bit relative jump tableAndrew Hsieh2013-07-241-1/+1
| | | | | | | | | 2011-08-12 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> PR target/48328 * config/arm/arm.h (CASE_VECTOR_SHORTEN_MODE): Fix distance for tbh instructions. Change-Id: Ic269b2a12c727059714ef7653bc63eaccfd74f90
* Fix GCC 4.6 ARM broken -Os on boost 1.52.0Andrew Hsieh2013-06-212-4/+13
| | | | | | | | | | | | | | | | | See b.andriod.com/42891 Back port r190971 2012-09-05 Bin Cheng <bin.cheng@arm.com> Backport from 2012-09-04 mainline r190919 PR target/45070 * config/arm/arm.c (thumb1_extra_regs_pushed): Handle return value of size less than 4 bytes by using macro ARM_NUM_INTS. (thumb1_unexpanded_epilogue): Use macro ARM_NUM_INTS. Change-Id: Ib43bc77abae8d487e82802c8c1f1cce87d5a7e5e
* [4.6], [4.7], [4.8] Backport of the patch from trunk/4.8 for fixingAlexander Ivchenko2013-05-242-0/+11
| | | | | | | | | | | | | | this issue: https://code.google.com/p/android/issues/detail?id=54623 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. Change-Id: I8c83a3f9992b60d3f59c2b8e123ecda7c398d07e Signed-off-by: Alexander Ivchenko <alexander.ivchenko@intel.com>
* 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
* Merge "Use READELF_FOR_TARGET in GCC 4.6/4.7"Andrew Hsieh2013-03-272-3/+7
|\
| * Use READELF_FOR_TARGET in GCC 4.6/4.7Andrew Hsieh2013-03-262-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In darwin where readelf isn't available, gcc/configure fails to set HAVE_LD_PERSONALITY_RELAXATION for MIPS, causes TARGET_WRITABLE_EH_FRAME=1 and flag_dwarf2_cfi_asm=0 (ie. disable CFI directive), and fails ld.mcld It's curious that the successful detection of the /tmp/ndk-$USER/gcc/binutils-2.21/readelf requires binutils to exist in the GCC's source tree, according to gcc/configure. Other tools (objdump, nm, ld, as, etc) can be successfully located because of OBJDUMP_FOR_TARGET, NM_FOR_TARGET, etc. Fix to look for READELF_FOR_TARGET in gcc/configure See https://android-review.googlesource.com/#/c/54760 https://android-review.googlesource.com/#/c/54770 https://android-review.googlesource.com/#/c/54710 Change-Id: I8b057a70d43389d3d9d02b5c54b8365ebe6487d1
* | Add for READELF and READELF_FOR_TARGET for GCC 4.6Andrew Hsieh2013-03-265-0/+439
|/ | | | | | | | | | | | | | | | | | 2011-11-09 Roland McGrath <mcgrathr@google.com> * configure.ac: Add tool checks for READELF and READELF_FOR_TARGET. * configure: Rebuild. * Makefile.def (flags_to_pass): Add READELF_FOR_TARGET. * Makefile.tpl (READELF, READELF_FOR_TARGET): New variables. (HOST_EXPORTS): Add READELF, READELF_FOR_TARGET. (BASE_FLAGS_TO_PASS): Add READELF_FOR_TARGET. (BASE_TARGET_EXPORTS, EXTRA_HOST_FLAGS, EXTRA_TARGET_FLAGS): Add READELF. * Makefile.in: Rebuild. 2011-11-09 Jason Merrill <jason@redhat.com> Change-Id: I6f8c1e7ef25a9232d7f1ed549cdb8f02a0b044b0
* Merge "Fix GCC 4.4.3/4.6/4.7 openmp support to use libgomp/config/linux"Andrew Hsieh2013-03-084-3/+28
|\
| * Fix GCC 4.4.3/4.6/4.7 openmp support to use libgomp/config/linuxAndrew Hsieh2013-03-074-3/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-276-11/+15
| | | | | | | | | | | | | | 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
* Support OpenMP for task parallelism on Android-ICS/GCC-4.6.3Geunsik Lim2012-12-255-4/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch supports OpenMP library to parallelize the existing C/C++ code rapidly/easily without any modification of android platform on multicore embedded devices. The original patch is made by Keith Obenschain (using GCC 4.4.3). .Archive - https://android-review.googlesource.com/#/c/34491/ I just moved GCC version from 4.4.3 to 4.6.3 for ktoolchain version 2.5. The patch is good to me when I evaluate a lot of C/C++ source code with OpenMP's #parama. Please, refer to the "kandroid toolchain" menu in www.kandroid.org to compile source code including bionic and openmp library on real Android devices. http://kandroid.org/board/board.php?board=toolchain&command=body&no=16 I tested Openmp library with the latest GCC 4.6.3 on Android/ARM devices as following. Please refer to the below example. geunsik@invain-rhel6$> ./arm-linux-androideabi-gcc openmptest.c -L /usr/local/ktoolchain-cortexa9-ver2.5-bionic/ arm-linux-androideabi/lib -lgomp -o openmptest [ENTER] geunsik@invain-rhel6$> geunsik@invain-rhel6$> geunsik@invain-rhel6$> file ./openmptest ./openmptest: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), not stripped Change-Id: I55b6a6c2205c09dd6b923f9da07b185167145e87 Signed-off-by: Geunsik Lim <leemgs@gmail.com> Acked-by: Geunsik Lim <geunsik.lim@gmail.com> Acked-by: Geunsik Lim <geunsik.lim@samsung.com>
* Fix GCC 4.6 build with cloog-0.17.0Andrew Hsieh2012-12-201-1/+5
| | | | | | | | | | | | Backport r176618. 2011-07-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> PR bootstrap/49797 * graphite-clast-to-gimple.c (CLOOG_LANGUAGE_C): Provide if missing. (set_cloog_options): Use it. Change-Id: I8fba41908ee8dd25c2407ec63f4b3b72a64deca4
* Merge "Fix ARM GCC 4.6/4.7 fail to links code using 64-bit atomic built-in"Andrew Hsieh2012-12-121-0/+4
|\
| * Fix ARM GCC 4.6/4.7 fail to links code using 64-bit atomic built-inAndrew Hsieh2012-12-121-0/+4
| | | | | | | | | | | | | | | | | | | | For ARM w/o dmb a helper function is called for 64-bit atomic built-in, which call __write when helper version is too old. Change to call write instead for Android. See http://code.google.com/p/android/issues/detail?id=41297 Change-Id: I98218576c5223628c0c76870623788f07675f6e5
* | Patch GCC libstdc++ 4.4.3/4.6/4.7 to work with Clang in C++11Andrew Hsieh2012-12-121-1/+1
|/ | | | | | | | 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
|
* Fixed GCC elides lambdasAndrew Hsieh2012-12-043-11/+56
| | | | | | | | | | | | | | | | | | | | | | | | See http://code.google.com/p/android/issues/detail?id=35933 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54170 Backport of r194098 to both GCC 4.6 and 4.7 /cp 2012-12-03 Paolo Carlini <paolo.carlini@oracle.com> PR c++/54170 * cvt.c (cp_convert_to_pointer): Don't discard side-effects from expressions of nullptr_t. * typeck.c (build_ptrmemfunc): Likewise. /testsuite 2012-12-03 Paolo Carlini <paolo.carlini@oracle.com> PR c++/54170 * g++.dg/cpp0x/lambda/lambda-nullptr.C: New. Change-Id: I4c90f9e06262a54796302773b36eb5bac7b4f1fa
* Fix GCC 4.6 ARM ICE at reload1.c:1061Andrew Hsieh2012-12-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Backport 64-bit built-in atomic functions for ARM to GCC 4.6Andrew Hsieh2012-11-2212-304/+956
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | r179983 | rsandifo | 2011-10-14 22:39:32 +0800 (Fri, 14 Oct 2011) | 12 lines 2011-10-14 David Alan Gilbert <david.gilbert@linaro.org> * gcc.dg/di-longlong64-sync-1.c: New test. * gcc.dg/di-sync-multithread.c: New test. * gcc.target/arm/di-longlong64-sync-withhelpers.c: New test. * gcc.target/arm/di-longlong64-sync-withldrexd.c: New test. * lib/target-supports.exp: (arm_arch_*_ok): Series of effective-target tests for v5, v6, v6k, and v7-a, and add-options helpers. (check_effective_target_arm_arm_ok): New helper. (check_effective_target_sync_longlong): New helper. r179982 | rsandifo | 2011-10-14 22:39:10 +0800 (Fri, 14 Oct 2011) | 8 lines 2011-10-14 David Alan Gilbert <david.gilbert@linaro.org> * config/arm/linux-atomic-64bit.c: New (based on linux-atomic.c). * config/arm/linux-atomic.c: Change comment to point to 64bit version. (SYNC_LOCK_RELEASE): Instantiate 64bit version. * config/arm/t-linux-eabi: Pull in linux-atomic-64bit.c. r179981 | rsandifo | 2011-10-14 22:38:58 +0800 (Fri, 14 Oct 2011) | 44 lines 2011-10-14 David Alan Gilbert <david.gilbert@linaro.org> * config/arm/arm.c (arm_output_ldrex): Support ldrexd. (arm_output_strex): Support strexd. (arm_output_it): New helper to output it in Thumb2 mode only. (arm_output_sync_loop): Support DI mode. Change comment to not support const_int. (arm_expand_sync): Support DI mode. * config/arm/arm.h (TARGET_HAVE_LDREXBHD): Split into LDREXBH and LDREXD. * config/arm/iterators.md (NARROW): move from sync.md. (QHSD): New iterator for all current ARM integer modes. (SIDI): New iterator for SI and DI modes only. * config/arm/sync.md (sync_predtab): New mode_attr. (sync_compare_and_swapsi): Fold into sync_compare_and_swap<mode>. (sync_lock_test_and_setsi): Fold into sync_lock_test_and_setsi<mode>. (sync_<sync_optab>si): Fold into sync_<sync_optab><mode>. (sync_nandsi): Fold into sync_nand<mode>. (sync_new_<sync_optab>si): Fold into sync_new_<sync_optab><mode>. (sync_new_nandsi): Fold into sync_new_nand<mode>. (sync_old_<sync_optab>si): Fold into sync_old_<sync_optab><mode>. (sync_old_nandsi): Fold into sync_old_nand<mode>. (sync_compare_and_swap<mode>): Support SI & DI. (sync_lock_test_and_set<mode>): Likewise. (sync_<sync_optab><mode>): Likewise. (sync_nand<mode>): Likewise. (sync_new_<sync_optab><mode>): Likewise. (sync_new_nand<mode>): Likewise. (sync_old_<sync_optab><mode>): Likewise. (sync_old_nand<mode>): Likewise. (arm_sync_compare_and_swapsi): Turn into iterator on SI & DI. (arm_sync_lock_test_and_setsi): Likewise. (arm_sync_new_<sync_optab>si): Likewise. (arm_sync_new_nandsi): Likewise. (arm_sync_old_<sync_optab>si): Likewise. (arm_sync_old_nandsi): Likewise. (arm_sync_compare_and_swap<mode> NARROW): use sync_predtab, fix indent. (arm_sync_lock_test_and_setsi<mode> NARROW): Likewise. (arm_sync_new_<sync_optab><mode> NARROW): Likewise. (arm_sync_new_nand<mode> NARROW): Likewise. (arm_sync_old_<sync_optab><mode> NARROW): Likewise. (arm_sync_old_nand<mode> NARROW): Likewise. r179980 | rsandifo | 2011-10-14 22:38:42 +0800 (Fri, 14 Oct 2011) | 6 lines 2011-10-14 David Alan Gilbert <david.gilbert@linaro.org> PR target/48126 * config/arm/arm.c (arm_output_sync_loop): Move label before barrier. r179979 | rsandifo | 2011-10-14 22:38:30 +0800 (Fri, 14 Oct 2011) | 5 lines 2011-10-14 David Alan Gilbert <david.gilbert@linaro.org> * config/arm/arm.h (TARGET_HAVE_DMB_MCR): MCR Not available in Thumb1. Change-Id: Ic27fcf0b49e835cefdafb24fbba2f6023059d2b3
* Backported from mainlineJakub Jelinek2012-11-143-1/+20
| | | | | | | | | | | | | 2012-02-14 Jakub Jelinek <jakub@redhat.com> PR c/52181 * c-decl.c (merge_decls): Copy DECL_USER_ALIGN bit from olddecl to newdecl. * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits. * c-c++-common/pr52181.c: New test.
* Add -mstack-protector-guard= to x86 compilersAndrew Hsieh2012-11-014-4/+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-4/+4
| | | | | | | | | 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 "Port MIPS Android support to GCC-4.6/4.7"Andrew Hsieh2012-10-233-11/+50
|\
| * Port MIPS Android support to GCC-4.6/4.7Andrew Hsieh2012-10-233-11/+50
| | | | | | | | | | | | | | Used to be local NDK patch at $NDK/build/tools/toolchain-patches/ gcc/0008-Port-MIPS-Android-support-to-GCC-4.6.patch Change-Id: I486ea194683b370dcb038488a92fadef7e2da1ac
* | Merge "Enable x86/arm gcc defaults"Andrew Hsieh2012-10-234-6/+14
|\|
| * Enable x86/arm gcc defaultsAndrew Hsieh2012-10-234-6/+14
| | | | | | | | | | | | | | Used to be local NDK patch at $NDK/build/tools/toolchain-patches/ gcc/0004-Enable-x86-gcc-defaults.patch Change-Id: I6cb6ba8b29b7ba4f242f788a57bf0460289f0cbd