Commit graph

13142 commits

Author SHA1 Message Date
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
34cf868be4 Merge "Point to the uapi header location for aarch64." 2013-10-18 16:45:13 +00:00
Ben Cheng
5797382b53 Point to the uapi header location for aarch64.
Change-Id: Ic42f5520eb0711c35aaf7106939ef83e449bda74
2013-10-16 12:28:38 -07:00
Kenny Root
cc68ce7012 Merge "Allow ECDSA signing OTA files" 2013-10-14 21:05:07 +00:00
Ian Rogers
816af5fc0e Merge "Specify -mcpu=cortex-a15 for krait CPU variants." 2013-10-12 00:30:31 +00: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
Kenny Root
01ed66d2ba Allow ECDSA signing OTA files
ECDSA works in the recovery verifier, so we can allow OTA updates to be
signed with EC keys.

Change-Id: If8f2be028843fbfd6c8c9c41b492605d9b5cbeb0
2013-10-09 15:00:24 -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
2c448765e1 Merge "Remove explicit passing of dynamic loader name" 2013-10-08 17:09:03 +00: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
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
1303aa28d5 Merge "Remove useless x86 options that were always hardcoded on." 2013-10-04 21:37:46 +00: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
9a78828590 Merge "Duplicate i686 target arch options for x86_64." 2013-10-02 22:00:26 +00:00
Ying Wang
5d92a933dc Merge "x86_64: Adding new target" 2013-10-02 21:59:58 +00:00
Stephen Hines
147f66c1e8 Duplicate i686 target arch options for x86_64.
Change-Id: I94a18562c38a20bac526b348eb98c2aba67a431f
2013-10-02 11:35:29 -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
Kenny Root
2acb1ea76d Merge "SignApk: add argument for loading a Provider" 2013-09-25 21:37:17 +00:00
Kenny Root
085d3b5fdb Merge "Read algorithm OID directly from PKCS#8 container" 2013-09-25 18:41:00 +00:00
Kenny Root
89c961aa11 SignApk: add argument for loading a Provider
For supporting loading a custom key type provider, add a -providerClass
argument that loads the selected JCE at the front of the provider list.

Change-Id: I3df16f7c570d36e08806b614d6f30c41cb117565
2013-09-25 11:37:52 -07:00
Kenny Root
62ea4a5c3c Read algorithm OID directly from PKCS#8 container
The PKCS#8 PrivateKeyInfo structure has the algorithm OID encoded right
before the actual key octet stream is encoded. Use Bouncycastle to read
the OID for creation with the key factory.

This aids in the creation of custom key types that are backed by
hardware devices (e.g., HSMs) and have their own assigned OIDs.

Change-Id: If5d8fe07bc157e9bb5a3fb5f99091e924143105f
2013-09-25 09:59:10 -07:00
Kenny Root
abc0bf084b Merge "SignApk: add support for EC keys" 2013-09-24 18:04:57 +00:00
Kenny Root
3d2365c068 SignApk: add support for EC keys
Change-Id: I09bc0e52fc84ec321b997016a8f97de1bfd2770d
2013-09-20 15:00:49 -07:00
Kenny Root
13722ac89f Merge "SignApk: update SignApk to support SHA256withRSA signing" 2013-09-20 21:18:45 +00:00
Doug Zongker
8562fd478d SignApk: update SignApk to support SHA256withRSA signing
(cherry picked from commit c0581a02ed)

Change-Id: I6212e0f3a6aa3265b111f0f7348b667af4a668b0
2013-09-20 13:14:32 -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
ba164eb138 Merge "Remove unnecessary dependencies between host and target modules." 2013-09-18 16:02:03 +00:00
Ying Wang
293ad10d25 Remove unnecessary dependencies between host and target modules.
With this change, modules introduced by LOCAL_REQUIRED_MODULES will be
split by host/target: target modules only depend on target modules and
host modules only depend on host modules.

Bug: 9303948
Change-Id: I4078a7983aa3c00e99534f3f170dfe4b66b12287
2013-09-18 09:01:03 -07:00
Ying Wang
a85afdb83d Merge "Add support for WITHOUT_CLANG" 2013-09-16 20:38:29 +00:00
Mike Lockwood
d90e2404dd Add support for WITHOUT_CLANG
(cherry picked from commit 051a1740eb)

Change-Id: I60b7d1fa958557d13b74563c07f694b86d6a6d6f
2013-09-16 10:20:08 -07:00
Ying Wang
7f2ad751ae Merge "Switch x86 default compiler to multilib version" 2013-09-14 20:45:00 +00:00
Ying Wang
4b7d8f119a Merge "Fix parsing string parameters in BOARD_MKBOOTIMG_ARGS" 2013-09-14 00:41:30 +00:00
Andrew Hsieh
0407e1a849 Merge "Rename bin/clang to bin/analyzer" 2013-09-13 17:32:09 +00:00
Andrew Hsieh
af738a4bdb Rename bin/clang to bin/analyzer
Change-Id: Ie77018e4943823f7d0f18e9249f973a98ee3652a
2013-09-13 15:49:39 +08:00
Kenny Root
43077645b5 Merge "Add libcore.conscrypt tests back to CTS" 2013-09-12 18:53:38 +00:00
Kenny Root
ebf1a97a67 Add libcore.conscrypt tests back to CTS
A reorganization of the libcore test jar files caused the Conscrypt
tests to be accidentally dropped from CTS. Add them back in their own
package.

(cherry picked from commit 69c00c9ee8)

Bug: 10210673
Change-Id: I5ffc62736d3dab7e96e480c593e07d6c640b8950
2013-09-12 09:48:13 -07:00
Kenny Root
14d4310803 Merge "Add Junit4 to the classpath for CollectAllTests" 2013-09-12 05:26:01 +00:00
Andrew Hsieh
b0f4173700 Merge "Add "WITH_STATIC_ANALYZER=1 m/mm/mmm/mma/mmma ..."" 2013-09-11 00:07:28 +00:00
Kenny Root
8509b0d6f9 Add Junit4 to the classpath for CollectAllTests
This is needed for CollectAllTests to work with Junit4 tests.

Change-Id: I5e339022220b8e40bcb12337a09f3615dad7d53c
2013-09-10 17:00:33 -07:00
Andrew Hsieh
906cb78168 Add "WITH_STATIC_ANALYZER=1 m/mm/mmm/mma/mmma ..."
The new option WITH_STATIC_ANALYZER=1 instructs build system to
run static analyzer via "clang --analyze" on a successful build.
If analyzer finds any issue, instruction to open report is displayed.
See http://clang-analyzer.llvm.org/scan-build.html for details.

WITH_STATIC_ANALYZER trumps WITH_SYNTAX_CHECK if both exist.

Project use lots of GCC extensions (eg. nested function) not supported
by clang may opt out by adding LOCAL_NO_STATIC_ANALYZER:=true

Change-Id: I9970560560bd52ce5f0fd7129c3488629627c735
2013-09-10 17:37:14 +08:00
Andrew Hsieh
a62334edaf Merge "Add "WITH_SYNTAX_CHECK=1 make ..."" 2013-09-04 21:57:52 +00:00
Ying Wang
62cd88d0d1 Merge "FDO: Only support locally" 2013-09-04 18:50:48 +00:00
Andrew Hsieh
6cea59a4b9 Add "WITH_SYNTAX_CHECK=1 make ..."
The new option WITH_SYNTAX_CHECK=1 instructs build system to invoke
"clang -fsyntax-only" to utilize clang's better diagnostics before calling
LOCAL_CC/LOCAL_CXX for code generation.  The compilation time is slightly
longer, and the generated object file should be the same as w/o WITH_SYNTAX_CHECK

Project use lots of GCC extensions (eg. nested function) not supported
by clang may opt out by adding LOCAL_NO_SYNTAX_CHECK:=true

Change-Id: I5689586788ef049bd967364f71f31f1e359bd121
2013-09-04 09:26:25 +08:00
synergydev
7c4674205c FDO: Only support locally
The issues:
  - The size increase from utilizing FDO is quite large while
    utilizing runtime profiles in build.
  - By default, FDO is utilized globally if the target arch variant
    profiles exist.
  - Not all modules can show statistical significance in
    performance comparison, yet still suffer the size increase.

The solution:
  - Only enable FDO locally with LOCAL_FDO_SUPPORT
    for modules which may benefit enough to justify the size
    tradeoff.

Solution notes:
  - I've noted statistical significance in libwebcore and libskia
    thus far from utilizing FDO.
  - Analysis included sunspider, drawcanvas benchmarks, as
    well as gooda analysis on both arm and x86
  - To support runtime profile generation in modules which have
    LOCAL_FDO_SUPPORT specified,
    BUILD_FDO_INSTRUMENTATION is still used. Otherwise,
    if the target arch variant profiles exist, FDO is utilized for
    specified modules.

Change-Id: I7e95266943ff47c7d82b02e6200fd09911d0bb57
2013-09-03 20:53:20 +00:00
Ben Cheng
d58df2de78 Merge "Re-tighten default compiler options." 2013-08-28 18:26:58 +00: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
Jianxun Zhang
098494981d Fix parsing string parameters in BOARD_MKBOOTIMG_ARGS
The existing logic in common.py breaks string arguments incorrectly:
e.g. --para1 val1 --para2 "val2 is a string" will be output as:

'--para', 'val1, '--para2', 'val2' 'is' 'a' 'string'

This will cause mkbootimg command fails due to the invalid arguments
generated from the wrong parsing.

The patch fixes this issue to get:

'--para', 'val1, '--para2', 'val2 is a string'

Change-Id: Ia34ec357550f11ae9d6adc719d86a0c6a9099fbc
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com>
2013-08-27 15:31:13 -07:00