aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.7/gcc
Commit message (Collapse)AuthorAgeFilesLines
* Setup x86_64 ABI and add -mssse3 to x86 ABIPavel Chupin2014-06-201-1/+1
| | | | | | | | | | | 32-bit: replace -msse3 by -mssse3 64-bit: setup default options as -msse4.2 -mpopcnt Note: when multilib compiler is used -m32 will match 32-bit options and -m64 or default (neither -m32 nor -m64) will match 64-bit options. Change-Id: Ia20a03f54e3ff5857108e9ab0ae1c4c7c1e6cc7f Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
* [4.7, 4.8] Backport of two patches for additional SLM-tuning.Alexander Ivchenko2014-01-301-1/+1
| | | | | | | | | | | | | | | | | | | We don't have config/i386/x86-tune.def in 4.8, instead initial_ix86_tune_features is modified. This one is for 4.8 only. 2013-09-12 Yuri Rumyantsev <ysrumyan@gmail.com> * config/i386/x86-tune.def: Turn on X86_TUNE_AVOID_MEM_OPND_FOR_CMOVE for SLM. Update HImode imul cost for Silvermont 2013-12-13 Yuri Rumyantsev <ysrumyan@gmail.com> * config/i386/i386.c (slm_cost): Fix imul cost for HI. Change-Id: I3e6e7b157897e93bc3874738635db4ecf4e7f587 Signed-off-by: Alexander Ivchenko <alexander.ivchenko@intel.com>
* Backport fix to set mips_dbx_regno entries to IGNORED_DWARF_REGNUM by defaultSteve Ellcey2013-10-254-8/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2012-12-12 Steve Ellcey <sellcey@mips.com> * config/mips/mips.c (mips_option_override): Set mips_dbx_regno entries to IGNORED_DWARF_REGNUM by default. 2012-12-10 Steve Ellcey <sellcey@mips.com> PR target/54061 rtl.h (IGNORED_DWARF_REGNUM): New. * dwarf2out.c (reg_loc_descriptor): Check for IGNORED_DWARF_REGNUM. (mem_loc_descriptor): Ditto. * config/mips/mips.h (ALL_COP_REG_FIRST): New. (ALL_COP_REG_LAST): New. (ALL_COP_REG_NUM): Redefine using above macros. * config/mips/mips.c (mips_option_override): Set mips_dbx_regno coprocessor entries to IGNORED_DWARF_REGNUM. Error reads: target C++: libicui18n <= external/icu4c/i18n/olsontz.cpp external/icu4c/i18n/decimfmt.cpp: In member function 'virtual icu_50::UnicodeString& icu_50::DecimalFormat::format(const icu_50::StringPiece&, icu_50::UnicodeString&, icu_50::FieldPositionIterator*, UErrorCode&) const': external/icu4c/i18n/decimfmt.cpp:1322:1: internal compiler error: in dbx_reg_number, at dwarf2out.c:10185 See http://gcc.gnu.org/ml/gcc-patches/2012-12/msg00830.html Change-Id: I84110b5b54d8d9262043811eddb0edc1c42303f8
* 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-1/+116
| | | | | | | 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
* 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
* Fix segfault on const init to object addressAndrew Hsieh2013-06-202-2/+49
| | | | | | | | | | | | | | | See b.android.com/56508 and http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54986 Backport the fix in r193189 2012-11-05 Eric Botcazou <ebotcazou@adacore.com> PR tree-optimization/54986 * gimple-fold.c (canonicalize_constructor_val): Strip again all no-op conversions on entry but add them back on exit if needed. Change-Id: Ibedd829e7780ff78e7b90219ebb7c425f7d2fc01
* [4.7, 4.8] Extended Silvermont tuning.Pavel Chupin2013-06-043-5/+151
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Backport r199546 from trunk: 2013-05-31 Yuri Rumyantsev <yuri.s.rumyantsev@intel.com> Igor Zamyatin <igor.zamyatin@intel.com> Silvermont (SLM) architecture performance tuning. * config/i386/i386.h (enum ix86_tune_indices): Add X86_TUNE_SPLIT_MEM_OPND_FOR_FP_CONVERTS. (TARGET_SPLIT_MEM_OPND_FOR_FP_CONVERTS): New define. * config/i386/i386.c (initial_ix86_tune_features) <X86_TUNE_SPLIT_MEM_OPND_FOR_FP_CONVERTS>: Initialize. (ix86_lea_outperforms): Handle Silvermont tuning. (ix86_avoid_lea_for_add): Add new argument to ix86_lea_outperforms call. (ix86_use_lea_for_mov): Likewise. (ix86_avoid_lea_for_addr): Likewise. (ix86_lea_for_add_ok): Likewise. (exact_dependency_1): New function. (exact_store_load_dependency): Likewise. (ix86_adjust_cost): Handle Silvermont tuning. (do_reoder_for_imul): Likewise. (swap_top_of_ready_list): New function. (ix86_sched_reorder): Changed to handle Silvermont tuning. * config/i386/i386.md (peepholes that split memory operand in fp converts): New. Also backport r199611 with fixes for the patch above and previous SLM patch: 2013-06-03 Yuri Rumyantsev <yuri.s.rumyantsev@intel.com> * config/i386/i386.c (ix86_lea_outperforms): Fix formatting. (ix86_avoid_lea_for_addr): Likewise. (exact_dependency_1): Likewise. (ix86_adjust_cost): Likewise. (swap_top_of_ready_list): Fix formatting and !reload_completed check removed. (do_reorder_for_imul): Fix typo, formatting and !reload_completed check removed. (ix86_sched_reorder): Fix typo and formatting. (fold_builtin_cpu): Move M_INTEL_SLM at the end of processor types list. * config/i386/cpuinfo.c (INTEL_SLM): New enum value. Note that [4.7] part of the patch doesn't contain some of optimizations (IMUL) due to missed dependencies. [4.8] part of this backport is complete. Change-Id: I4b5f92b025aab217046f5b393527636f3cf25669 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
* [4.7, 4.8] Release basic tuning for new Silvermont architecturePavel Chupin2013-05-307-32/+896
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Support new switches: -march=slm/-mtune=slm This is backport of trunk r199444: 2013-05-30 Yuri Rumyantsev <yuri.s.rumyantsev@intel.com> Igor Zamyatin <igor.zamyatin@intel.com> Silvermont (SLM) architecture pipeline model, tuning and insn selection. * config.gcc: Add slm config options and target. * config/i386/slm.md: New. * config/i386/driver-i386.c (host_detect_local_cpu): Check * movbe. * gcc/config/i386/i386-c.c (ix86_target_macros_internal): New * case PROCESSOR_SLM. (ix86_target_macros_internal): Likewise. * gcc/config/i386/i386.c (slm_cost): New cost. (m_SLM): New macro flag. (initial_ix86_tune_features): Set m_SLM. (x86_accumulate_outgoing_args): Likewise. (x86_arch_always_fancy_math_387): Likewise. (processor_target_table): Add slm cost. (cpu_names): Add slm cpu name. (x86_option_override_internal): Set SLM ISA. (ix86_issue_rate): New case PROCESSOR_SLM. (ia32_multipass_dfa_lookahead): Likewise. (fold_builtin_cpu): Add slm. * config/i386/i386.h (TARGET_SLM): New target macro. (target_cpu_default): Add TARGET_CPU_DEFAULT_slm. (processor_type): Add PROCESSOR_SLM. * config/i386/i386.md (cpu): Add new value "slm". (slm.md): Include slm.md. * libgcc/config/i386/cpuinfo.c (INTEL_SLM): New enum value. Change-Id: I3ad6f5584e3fd5de52ac608dc699daaad24f2fe4 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
* [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>
* Remove hardcoded -m32 in compiler optionsPavel Chupin2013-05-221-1/+1
| | | | | | | | | | | | | It's required for x86_64 targets where we obviously don't want to enforce -m32. It shouldn't affect standard i686 targets because i686 is enforced on configure stage and it effectively removes 64-bit support, keeping -m32 default. Patch changes 4.7 and 4.8 only. x86_64 targets are not expected to be supported in older gcc versions due to many issues and dependencies. Change-Id: Id15a677a9d3b1712eb95aba92c2c5bd98f9ed1cc Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
* Fix ARM/GCC-4.7,4.8 generates insufficient alignment for NEON vst/vldAndrew Hsieh2013-05-151-2/+6
| | | | | | | | | | | | | | GCC allocates memory buffer and passes it as the first hidden argument for function return large composite type (ie. > 4 bytes for all NDK toolchain). Problem is that GCC doesn't observe the aligement required by the type, and ARM EABI only requires stack to be aligned to 8-byte. Please see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57271 for external bug tracking this issue and testcase. This CL offers temp relief before formal one Change-Id: I8004bc4208487e539ba8b0c9686c44ac86c37d83
* 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
* Merge "[4.7] x32: Backport x32 support into 4.7"Andrew Hsieh2013-04-2248-317/+1181
|\
| * [4.7] x32: Backport x32 support into 4.7Pavel Chupin2013-04-1848-317/+1181
| | | | | | | | | | | | | | | | This patch contains all gcc changes required to build x32 compiler. They are backported from 4.8/trunk. Change-Id: I923f639c1f0cee5812b0f555a39bab0bd0723865 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
* | 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
* 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
* Fixed GCC 4.7 ICE in redirect_eh_edge_1, at tree-eh.c:2214Andrew Hsieh2013-03-082-0/+25
| | | | | | | | | | | | | | http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=191571 2012-09-17 Jakub Jelinek <jakub@redhat.com> PR tree-optimization/54563 * tree-ssa-math-opts.c (execute_cse_sincos): Call gimple_purge_dead_eh_edges if last call has been changed. * g++.dg/torture/pr54563.C: New test. See https://code.google.com/p/android/issues/detail?id=52909 Change-Id: Ib0f8d0dd2faa5a8f0bdeb160da2e2cd0c24f5757
* 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
* Merge "Remove march/mtune/mfpmath hardcoded values"Andrew Hsieh2013-01-311-2/+1
|\
| * 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 GCC 4.7 ICE in build_data_member_initialization, at cp/semantics.c:5790Andrew Hsieh2013-01-252-2/+22
|/ | | | | | | | 2013-01-03 Jason Merrill <jason@redhat.com> PR c++/55856 * semantics.c (build_data_member_initialization): Handle DECL_EXPR. Change-Id: Ib34c16c4bc714875a49831ef8fb1691b392640cd
* Fix x86 GCC4.7 segfault in i386.c distance_non_agu_define_in_bb()Andrew Hsieh2013-01-224-33/+30
| | | | | | | | | | | | | | | | | | | | | | | | line #16514 "if (prev == BB_HEAD(bb))" causes segfault due to bb==NULL when compiling external/llvm/lib/Transforms/Scalar/SROA.cpp BUG: 8047767 ------------------------------------------------------------------ r186451 | vries | 2012-04-14 05:17:41 -0700 (Sat, 14 Apr 2012) | 13 lines 2012-04-14 Tom de Vries <tom@codesourcery.com> * cfgcleanup.c (try_optimize_cfg): Replace call to delete_insn_chain by call to delete_insn. Remove code to reorder BASIC_BLOCK note and DELETED_LABEL note, and move it to ... * cfgrtl.c (delete_insn): ... here. Change return type to void. (delete_insn_and_edges): Likewise. (delete_insn_chain): Handle new return type of delete_insn. Delete chain backwards rather than forwards. * rtl.h (delete_insn, delete_insn_and_edges): Change return type to void. * cfglayout.c (fixup_reorder_chain): Delete unused label. Change-Id: Ibc069a4267d063586003d49a805fb794f4041465
* 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+Bionic on ICS/GCC-4.7.2 for task parallelismGeunsik Lim2012-12-252-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch supports OpenMP library to parallelize the existing C/C++ code (e.g: for task parallelism) 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.7.2 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. we move the version of OpenMP from version 2.5 to version 3.1. 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.7.2 on Android/ARM devices as following. Please refer to the below example. geunsik@rhel6$> ./arm-linux-androideabi-gcc openmptest.c -L /usr/local/ktoolchain-cortexa9-ver2.5-20120515-bionic/arm-linux-androideabi/lib -lgomp -o openmptest [ENTER] geunsik@rhel6$> geunsik@rhel6$> geunsik@rhel6$> file ./openmptest ./openmptest: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), not stripped Change-Id: I20cb3c1ac5c000445c043310158179723bd69fe2 Signed-off-by: Geunsik Lim <leemgs@gmail.com> Acked-by: Geunsik Lim <geunsik.lim@gmail.com>
* Enable MIPS floating-point madd/msub/nmadd/nmsub/recip/rsqrt with 32-bit FPU.Chao-ying Fu2012-12-112-9/+4
|
* Backport r193554 to GCC4.7/x86 resotre earlier cmov behaviorAndrew Hsieh2012-12-062-2/+7
| | | | | | See http://gcc.gnu.org/viewcvs?view=revision&revision=193554 Change-Id: I069da55efd2d75fc8b5ad518090660131d6fec05
* Merge "[GCC 4.7] Backport a gimplify fix."Ben Cheng2012-12-051-0/+9
|\
| * [GCC 4.7] Backport a gimplify fix.Ben Cheng2012-12-051-0/+9
| | | | | | | | | | | | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55245 Change-Id: I3de4a11e2de0a144c70d5ce43f7b5bccb68fb671
* | 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
* Enable armv7/thumb2 multilib for arm-eabi.Ben Cheng2012-11-291-12/+17
| | | | | | | | | | | Configured multilib: > arm-eabi-gcc -print-multi-lib .; thumb;@mthumb thumb/thumb2;@mthumb@march=armv7 Change-Id: Ie6d951929432610a7317dd37bdf12cb97544e1b4
* Merge "Add -fstack-protector-strong to GCC 4.7"Andrew Hsieh2012-11-025-7/+235
|\
| * Add -fstack-protector-strong to GCC 4.7Andrew Hsieh2012-11-015-7/+235
| | | | | | | | | | | | See http://patchwork.ozlabs.org/patch/165025/ Change-Id: I369d8459cfe5baaf42ae9861fd7d8df8f90e48c2
* | Merge "Add -mstack-protector-guard= to x86 compilers"Andrew Hsieh2012-11-024-4/+30
|\ \
| * | Add -mstack-protector-guard= to x86 compilersAndrew Hsieh2012-11-014-4/+30
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* / Fix dom optimization which removes goto in dalvik dexoptPavel Chupin2012-11-012-19/+89
|/ | | | | | | | | | | | | | | | | | | | | | Can be seen in logcat by messages: E dalvikvm: Out-of-order map item: 0 then 0x70 E dalvikvm: ERROR: Byte swap + verify failed BZ: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54985 Backport r192745 and children r192746, r192754, r192852: PR tree-optimization/54985 * tree-ssa-threadedge.c (cond_arg_set_in_bb): New function * extracted from thread_across_edge. (thread_across_edge): Use it in all cases where we might thread across a back edge. * gcc.c-torture/execute/pr54985.c: New test. Change-Id: I45e0185b1b729de91749272d62d3d331fcf1cf71 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
* Merge "Simplify GCC 4.7 BASE-VER"Andrew Hsieh2012-10-301-1/+1
|\
| * Simplify GCC 4.7 BASE-VERAndrew Hsieh2012-10-301-1/+1
| | | | | | | | | | | | | | | | | | | | Change 4.7.2 -> 4.7 In NDK gnu-libstdc++ is built seperately and copied over to standalone. This change simplifies script doing that and make it less sensitive to future minor version upgrade Change-Id: I92e213906301cb48cdb53c64f205e82d60464be7
* | 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-233-4/+12
|\|
| * Enable x86/arm gcc defaultsAndrew Hsieh2012-10-233-4/+12
| | | | | | | | | | | | | | Used to be local NDK patch at $NDK/build/tools/toolchain-patches/ gcc/0004-Enable-x86-gcc-defaults.patch Change-Id: I6cb6ba8b29b7ba4f242f788a57bf0460289f0cbd
* | 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 "[4.7] Add -fuse-ld="Andrew Hsieh2012-10-098-40/+243
|\