| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Change-Id: I0abe59f7705b3eccc6b2f123af75b2e30917696a
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This pass optimize GOT_PREL (already exists in toolchain/gcc/gcc-4.6)
Backport from svn://gcc.gnu.org/svn/gcc/branches/google/gcc-4_6-mobile
UNSPEC_GOT_PREL_SYM is now in new file arm/unspecs.md
4.9 port is slightly different due to changes in gcc passes
See Google b/14811006
r173209 | carrot | 2011-04-30 16:07:46 +0800 (Sat, 30 Apr 2011) | 21 lines
* hooks.c (hook_rtx_void_null): New function.
* hooks.h (hook_rtx_void_null): New prototype.
* target.def (got_access): New hook vector declaration.
* tree-pass.h (pass_simplify_got): New pass.
* timevar.def (TV_SIMPLIFY_GOT): New TV id.
* simplify-got.c: New source file.
* Makefile.in (simplify-got.o): Add a new file.
* passes.c (init_optimization_passes): Add a new pass.
* config/arm/arm.c (arm_output_addr_const_extra): Output GOT_PREL
relocation.
(arm_get_pic_reg): New function.
(arm_clear_pic_reg): New function.
(arm_can_simplify_got_access): New function.
(arm_loaded_global_var): New function.
(arm_load_global_address): New function.
* config/arm/arm.md (UNSPEC_GOT_PREL_SYM): New UNSPEC symbol.
* testsuite/gcc.target/arm/got1.c: New testcase.
* testsuite/gcc.target/arm/got2.c: New testcase.
Change-Id: I91e881df19bb6937a5fbcc8e6b83d158717c7773
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
1. *.orig files are artifact after patch
2. restore 3 testdata which were reset to zero-byte in last rebase
Change-Id: I32e80c33349249cb11397b57698c2a241793652c
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I0f1fcf69c5076d8534c5c45562745e1a37adb197
|
|/
|
|
|
|
|
|
|
|
| |
2013-10-30 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/58854
* config/arm/arm.c (arm_expand_epilogue_apcs_frame): Emit
* blockage.
Change-Id: I6edddcf212f4185ab55a3a17bc7a80b1ab6b64b7
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|/
|
|
| |
Change-Id: Ic8a60b7563f5172440fd40788605163a0cca6e30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
Also see 78a68e851a2f6f9d00367cd38eeedf670bb80f01
Change-Id: Iad4deda17414f3165714da0b60f9f8cb2a6ef052
|
|
|
|
|
|
|
|
|
| |
See b6e375800c9a2f02a732cbdf5e87a860c3d954e1,
1271761f530c0050154e8d526b95f952df551751,
92c478dba755a1a2f6f00ff390666acbffd41982 and
51df2e98d22e2c6f5d2a16860bc8fc3644179c1d.
Change-Id: I7b01524a5516dd31b26a68cccc616a066893db39
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Configured multilib:
> arm-eabi-gcc -print-multi-lib
.;
thumb;@mthumb
thumb/thumb2;@mthumb@march=armv7
See 978fb74a5c086cc5572dc2e3f37d207acad969d7
Change-Id: Ia04c9e23cb5abb924702639c6c0f3afc9c485ff0
|
|
|
|
|
|
|
|
|
|
|
| |
See c779c1ff50bde450eb49b3998353804602c4d963
Used to be local NDK patch at $NDK/build/tools/toolchain-patches/
gcc/0004-Enable-x86-gcc-defaults.patch
Also see 5578813961a205a7c5d3e9da8a1b5ec00d4dac3c
They should be passed in configure to work correctly.
See https://android-review.googlesource.com/50815
Change-Id: I0be1f1111870070f25d92d390d2738b52315865d
|
|
|
|
|
|
|
|
|
| |
Used to be local NDK patch at $NDK/build/tools/toolchain-patches/
gcc/0009-Enable-assembler-linker-default-for-security.patch
See 7e66b0108987a56a58c6150672fe7cf8cf88e69a
Change-Id: Ia668c962b7251dd673cc028dac8a111b1aeeb47d
|
|
|
|
|
|
|
|
|
| |
Please see commit message of the same fix in previous GCC
GCC 4.7 3800bda255b20023e993ed786674f70c909d60b5
GCC 4.6 a9fcd9b1ecb8954f67738a94b8553ab234d6def5
GCC 4.4.3 329ca6fa5d9972ad6dad8387036b4dbe9cfa1f27
Change-Id: I288f349d2140918babf3a872728da02c5706a971
|
|
Change-Id: I0719d8a6d0f69b367a6ab6f10eb75622dbf12771
|