Commit graph

413 commits

Author SHA1 Message Date
Ying Wang
5859f105fa Merge "Enable NX protections" 2013-12-13 00:04:42 +00:00
Ben Cheng
cd7b02d911 Add an explicit definition of __ANDROID__=1
Once the aarch64 toolchain is refreshed this will be removed.
Also removed some CFLAG duplications.

Change-Id: I42fd86931263af82042ea696196fb25e948fe9cb
2013-12-12 13:08:55 -08:00
Joshua J. Drake
afb45637b2 Enable NX protections
Add -Wa,--noexecstack and -Wl,-z,noexecstack as default
flags when compiling host-side applications.  This enables
NX protections, which prevent code from executing on the
stack or heap.  NX protections make exploiting memory
corruption issues more challenging and is an important
security feature.

Change-Id: Iae580abe887e01f9029ec2a4e0fc0aae496724a4
2013-12-12 10:47:08 -08:00
Ying Wang
8a373fd5ae Merge "Added TARGET_IS_64_BIT flag for x86_64 and aarch64" 2013-12-11 17:52:26 +00:00
Alexey Volkov
a1779eb11b Added TARGET_IS_64_BIT flag for x86_64 and aarch64
Change-Id: Ibdf9dafa3aeaf4b58b4a559ed05e36e2793bf6ed
Signed-off-by: Alexey Volkov <alexey.v.volkov@intel.com>
2013-12-11 17:18:56 +04:00
Narayan Kamath
e2d27887be A few more Java7 related clean ups.
- Separate SDK checking from version checking and
  make messages clearer.
- Add explicit source & target versions for javac to
  make things clearer.
- Rename flag from EXPERIMENTAL_USE_JAVA7_OPENJDK to
  EXPERIMENTAL_USE_JAVA7.
- Allow Oracle JDK 1.7 to be used on Mac OS, since there's
  no official OpenJDK support for that platform.

Change-Id: I454d2c917ed78f03ec7559a99659fefe7e7d50f3
2013-12-05 13:23:06 +00:00
Ying Wang
b2f39181c6 Run ar in Deterministic mode.
Unfortunately no such flag was found for the host ar on Mac OS X.
https://code.google.com/p/android/issues/detail?id=60705

Change-Id: Ic2f75c871f0b5ae3cf20c1255458f7b921054d67
2013-12-02 14:15:23 -08:00
Elliott Hughes
66153e38b0 Merge "Switch x86 over to uapi-only." 2013-11-26 18:51:47 +00:00
Ying Wang
ad69099131 Add experimental flag to support OpenJDK builds.
bug: 8992787

(cherry picked from commit d1dbe7f5a2)

Change-Id: Ie977d4f26ae8d3eee9d7b9cf2c0c270bee5b54b3
2013-11-26 10:30:14 +00:00
Elliott Hughes
e5df095b76 Switch x86 over to uapi-only.
Bug: 11559337
Change-Id: I95aa40ec2094acdaef1d4b4d9f0dd6278cf558d1
2013-11-25 16:38:47 -08:00
Elliott Hughes
b88bdebcb9 Switch MIPS over to uapi-only.
Bug: 11559337
Change-Id: I04b93d0d681ddf75573cdeca2d25ffa44862a35f
2013-11-25 14:01:10 -08:00
Elliott Hughes
9696acae02 Add a "reverse AUX hack" for ARM.
MIPS and x86 are almost completely switched over to uapi-only. ARM is still
currently old-only. A cleanup of the uapi headers over the weekend means
that the uapi-only <linux/kexec.h> is now in the right place, which will break
the ARM build unless the ARM build also looks in the uapi headers if it can't
find an old header.

Change-Id: Ie7a53ef2122b43cdef64b71d7b36a8381992a461
2013-11-25 12:06:25 -08:00
The Android Open Source Project
b9041a45b1 Merge commit 'c73341006286c391ae4d268a77f5e008045d5308' into HEAD
Change-Id: I4bf7d32d65e19dfa1f0533fdd3b2295c50b13005
2013-11-22 11:06:11 -08:00
Elliott Hughes
66ef53d83b Switch mips to the uapi kernel headers.
Bug: 11559337
Change-Id: Ic37b284398c049011f98651de84cef760566ebde
2013-11-20 12:55:09 -08:00
Elliott Hughes
2d9dc89962 Switch x86 to uapi headers.
We still need the 'aux' hack, but this is a good step forward.

Bug: 11559337
Change-Id: Ib3d79317293e1cd3d2620c38e6b472a5994ee554
2013-11-19 16:55:00 -08:00
Andrew Hsieh
8baaca5f97 Switch AOSP X86/MIPS compiler to gcc4.8
Change-Id: Ifeee2c7d696c8a8e96e52c6ca51434260bdae5f8
2013-11-15 10:25:58 +08:00
Ben Cheng
818d7d04f5 Switch AOSP ARM build to use GCC 4.8.
Change-Id: I65051773153ad5bc2c093cd1313acd212eb427b1
2013-11-14 14:05:29 -08:00
Ying Wang
77f27f1dbe Merge "Cleanup x86 and x86_64 flags" 2013-11-14 04:54:55 +00:00
Elliott Hughes
bd10e2c019 Merge "Switch x86_64 over to uapi headers." 2013-11-08 22:50:55 +00:00
Elliott Hughes
600b973722 Switch x86_64 over to uapi headers.
Bug: 11559337
Change-Id: Ia0a8dff9194375172d1c89daae917d2d8952ace7
2013-11-08 14:47:10 -08:00
Raphael Moll
b9c20aa8ba Windows SDK: define BEGIN_DECLS/END_DECLS.
These macros are not provided by MingW by default.

Change-Id: I623fda6c8e25e26573543c9368ebad47abc7f5c3
2013-11-08 11:40:41 -08:00
Ben Cheng
74a8faf233 AArch64: Enable AArch64 support
This patch completes the support for AArch64. It adds the last few
tweaks that will enable a AArch64 build of bionic.

Please note that though AArch64 uses the new kernel infrastructure,
where the userspace exported headers live in uapi folders, we still
need to include "kernel/common" in the include search path
(take a look at external/kernel-headers/uapi/asm-generic/signal-defs.h).

Also remove the relro linker flags for now as they crash the foundation
model.

Change-Id: Ie2fa8c1056c84dc15fec4469f2d65b8d0c5e712b
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-10-29 16:15:40 -07:00
Ben Cheng
71c36eb451 Add the search path for libgcc.a and crt*.o.
Change-Id: I727f5630f7667b98770d779d43be6a7901471c55
2013-10-28 10:33:55 -07:00
Ben Cheng
4f92abad95 Merge "Two quick fixes: fix kernel header location and nostdlib." 2013-10-25 16:36:40 +00:00
Ben Cheng
e61dea99c3 Two quick fixes: fix kernel header location and nostdlib.
Change-Id: Idf2d101e16e895ca75a74a095091e3543b2b482b
2013-10-25 09:34:29 -07:00
Nick Kralevich
46ed4aa58b x86: turn on -Wl,--fatal-warnings
In 4f2f16da14, we added
-Wl,--warn-shared-textrel to TARGET_GLOBAL_LDFLAGS. This generated
a warning whenever we created a shared library with a text
relocation.  At the time, we wrote:

=====
Emit a warning when the static linker detects a shared library
has text relocations. Text relocations make it harder to
share pages across processes, and make it harder to use
certain memory protection features in, for example, SELinux.

This warning will turn into an error in a future change
(via --fatal-warnings)
=====

All code which uses text relocations has either been fixed, or
we've temporarily worked around the issue so the code can still
compile.

Enable --fatal-warnings.

Bug: 11353056
Change-Id: I2f2c65352166ef0a96f54858de1556f0290fe306
2013-10-24 13:36:08 -07:00
Ben Cheng
5797382b53 Point to the uapi header location for aarch64.
Change-Id: Ic42f5520eb0711c35aaf7106939ef83e449bda74
2013-10-16 12:28:38 -07:00
Pavel Chupin
f0a4855574 Cleanup x86 and x86_64 flags
-mandroid, -D__ANDROID__ is on by the toolchain;
-msse3 moved to llvm_config, it seems it's required only there;
__cxa_atexit is provided by libc now;
USE_SSE2 should not be used anywhere, it's always true;
remove -mstackreallign and -mfpmath=sse as useless for x86_64;

Change-Id: Ib7739f6522c375c09de10d22616c48a493841c4c
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-15 18:15:57 +04:00
Ian Rogers
b07a5f8257 am 09c6d68b: am 816af5fc: Merge "Specify -mcpu=cortex-a15 for krait CPU variants."
* commit '09c6d68b8879164f600bbe084a62cfbc4ab10850':
  Specify -mcpu=cortex-a15 for krait CPU variants.
2013-10-11 17:35:09 -07:00
Ian Rogers
d195c6d14e Specify -mcpu=cortex-a15 for krait CPU variants.
Bug: 11178216

Change-Id: I9922e4cd5ba27e3857798aae5c84299e26e054ea
2013-10-11 16:24:32 -07:00
Ben Cheng
b8eaf684cb am 0f324e3e: am a7662295: Merge "Explictily specify the dynamic linker name."
* commit '0f324e3e35f1d5d55c7c06ac6b76a6ce7726e015':
  Explictily specify the dynamic linker name.
2013-10-08 14:47:34 -07:00
Ben Cheng
a766229543 Merge "Explictily specify the dynamic linker name." 2013-10-08 21:42:32 +00:00
Ben Cheng
98b8fdd975 Explictily specify the dynamic linker name.
Change-Id: Ie456f19cbe3dc8e3a9677638cc705b6eaf77c2b4
2013-10-08 14:19:50 -07:00
Elliott Hughes
5dec2c7703 am 1180d71c: am 2c448765: Merge "Remove explicit passing of dynamic loader name"
* commit '1180d71c3062a4f5b124ced3693a6a937ffbc13a':
  Remove explicit passing of dynamic loader name
2013-10-08 10:12:28 -07:00
Pavel Chupin
fde3c16420 Remove explicit passing of dynamic loader name
We should trust toolchain on that.

Change-Id: I20dd882d167cc84c262aef245ea2d86c17bc1785
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-08 11:35:39 +04:00
Ben Cheng
a698dab816 am 0b42554f: am 12eeb000: Merge "Add generic aarch64 board config and build rules."
* commit '0b42554fd8c7a43ca45504e4586f1eef578308de':
  Add generic aarch64 board config and build rules.
2013-10-07 14:42:10 -07:00
Ben Cheng
12eeb00060 Merge "Add generic aarch64 board config and build rules." 2013-10-07 21:38:02 +00:00
Ben Cheng
db4fc200c4 Add generic aarch64 board config and build rules.
Change-Id: I8b4a377596705dfa0a3bd234162d183ec2ae9530
2013-10-07 13:58:27 -07:00
Elliott Hughes
2e840a500e am a035abc5: am 1303aa28: Merge "Remove useless x86 options that were always hardcoded on."
* commit 'a035abc55455a50da7b242dad1bca55fa28617a9':
  Remove useless x86 options that were always hardcoded on.
2013-10-04 14:42:11 -07:00
Elliott Hughes
d3f00c162b Remove useless x86 options that were always hardcoded on.
ARCH_X86_HAVE_MMX, ARCH_X86_HAVE_SSE, ARCH_X86_HAVE_SSE2,
and ARCH_X86_HAVE_SSE3 were all always on. There are no longer any makefiles
or code that are conditional on any of these, so let's just remove them
rather than encourage anyone to mess with knobs that don't work.

Change-Id: I5ee095e8041eecff4554ad4801894fbfca69093f
2013-10-04 11:45:06 -07:00
Ying Wang
6a6db9432f am ab7b53b8: am 5d92a933: Merge "x86_64: Adding new target"
* commit 'ab7b53b8e09e3d346384a5257e8f7a440a53dfc0':
  x86_64: Adding new target
2013-10-02 15:06:02 -07:00
Pavel Chupin
fd82a49e04 x86_64: Adding new target
Add x86_64 Android builds. Compiler is expected to be able to understand
-m64 code generation option.

Change-Id: I99e7337c5a5766afc5e528a481bd21631ff44dd5
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-02 20:58:54 +04:00
Ying Wang
4a712bfb6f resolved conflicts for merge of 70190a2b to klp-dev-plus-aosp
Change-Id: I9abcb4e258ad95912860dcae2973c4e417b05369
2013-09-19 10:15:38 -07:00
Ying Wang
b71677b17c Merge "Extend x86 to have different arch variants" 2013-09-19 16:45:16 +00:00
Negreanu Marius Adrian
ae5c0ab272 Extend x86 to have different arch variants
Author: Negreanu Marius Adrian <adrian.m.negreanu@intel.com>
Author: Andrew Boie <andrew.p.boie@intel.com>
Author: Daniel Leung <daniel.leung@intel.com>

Currently, x86 target only has generic i686 and x86-atom
as arch variants. This patch adds the ability to have
more than two arch variants. Defining a new arch variant
is similiar to ARM targets, by adding a new file in
core/combo/arch/x86. These files also define what
capabilities the targeting CPU has (e.g. having SSE2,
SSE3, etc.).

We define arch variants for Sandy Bridge, Ivy Bridge,
Haswell; upcoming arches can be easily added to this
set with future patches.

Change-Id: Iafbce10d205e860738db4a216ff603f9a84d7311
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2013-09-18 14:14:22 -07:00
Ying Wang
c5c32d8f4a am fad629f4: am 7f2ad751: Merge "Switch x86 default compiler to multilib version"
* commit 'fad629f4dd07720b427c6a219ad93886e23ca277':
  Switch x86 default compiler to multilib version
2013-09-14 13:49:15 -07:00
Ying Wang
7f2ad751ae Merge "Switch x86 default compiler to multilib version" 2013-09-14 20:45:00 +00:00
Ben Cheng
e3b1fc39f9 am db4113fd: am d58df2de: Merge "Re-tighten default compiler options."
* commit 'db4113fdcce77872cc4657d74ac4136b356de928':
  Re-tighten default compiler options.
2013-08-28 11:32:25 -07:00
Ben Cheng
85ccf735e2 Re-tighten default compiler options.
Remove "-Wno-unused-parameter -Wno-unused-but-set-parameter" added for
GCC 4.8 experiment.

BUG: 10495043
(cherry picked from internal master 1cea0755f4)

Change-Id: Ifa221709b1351a9268c06872e2b667138995c3da
2013-08-28 11:17:43 -07:00
Pavel Chupin
c1a5664ea3 Switch x86 default compiler to multilib version
Switch from gcc-4.7 32-bit only to gcc-4.7 multilib (32/x32/64) compiler.
Tested x86 image build on Linux and Darwin.

This bionic patch is required:
https://android-review.googlesource.com/#/c/64183

Change-Id: Ifc2c6c5d6a4a1b71a00a87af072bb7f67b1c284d
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-08-26 10:42:42 +04:00