Commit graph

21796 commits

Author SHA1 Message Date
Yohann Roussel
b888668aa5 Merge "[DO NOT MERGE] Compile using Jack." 2015-05-21 09:23:58 +00:00
Tao Bao
25c285a26d Merge "Fix the permission setting in common.ZipWriteStr()" 2015-05-20 20:27:59 +00:00
Tao Bao
9773465409 Fix the permission setting in common.ZipWriteStr()
When passing a ZipInfo instance to common.ZipWriteStr(), the
external_attr attribute should not be overwritten unless specified.
We didn't have the issue previously because we were calling
ZipFile.writestr() directly until [1] merged.

[1] commit 2ed665a033.

Bug: http://b/21309935
Change-Id: I374ccd40c174ff9259844f38bdbf187dfe82552d
2015-05-20 12:18:55 -07:00
Yohann Roussel
f09e59eb52 [DO NOT MERGE] Compile using Jack.
This allows to compile dex targeted java sources using Jack and Jill.
Default is still to compile with the legacy toolchain. Default can be
switched to the new toolchain by setting environement variable:
export ANDROID_COMPILE_WITH_JACK=true
Toolchain can also be forced for one module by defining
LOCAL_JACK_ENABLED:=full # disabled, full, incremental
in the mk portion defining the module.

Jack execution environement can be controlled with:

Global variable ANDROID_JACK_VM allow to change the jvm executing Jack.
Global variable ANDROID_JACK_VM_ARGS allows to change default args given
to the jvm.
Global variable ANDROID_JACK_EXTRA_ARGS allows to define some default args
to give to Jack

LOCAL_JACK_VM_ARGS allows to override default args given to the jvm for
the module.
LOCAL_JACK_EXTRA_ARGS allows to override default args passed to Jack.

This includes cherry-picks of the following changes:
b4c49cba57
22c3fa6d73
138768c1bb
5dd3e1d312
83d5d04047
8bc90fd2d6
140274707e
0fbc9ff2a2
833b427d72
f9a27f45b4
2809666941
37822c443d
c6b44d43c3
d2a76c14bf
06744f60fc
95573d5036
b821391614
2794e7b582
801f2c44d0
c76d99dca1
f528e132d6
76a5e0bd1a
e25b3984ff Partially, only Jack related parts werekept
ec46a3b71f
abee3a9f41
77cbe10fd9
daf07db4cd
b6bfb5893a

Ie all Jack related changes untill
b6bfb5893a
except
a96cc59ab5 "Use Jack by default"

Change-Id: If9d47ef1c4fd1e6765ad2a47d816c1ad3cfab0e3
2015-05-19 18:31:05 +02:00
Nick Kralevich
c3b58d4a8f Merge "Allow goldfish-setup to put the emulator in WiFi-only mode" 2015-05-19 00:23:44 +00:00
Yu Ning
33dca8090f Allow goldfish-setup to put the emulator in WiFi-only mode
The goldfish-setup service (essentially /system/etc/init.goldfish.sh)
executes the following commands when certain conditions are met:

 setprop ro.radio.noril yes
 stop ril-daemon

so as to stop the RIL daemon and emulate a WiFi-only device. Both would
fail, though, because goldfish-setup does not have the permissions to
set relevant properties.

This CL modifies the emulator's SELinux policy to grant the necessary
permissions. It is a step towards fixing the ril-daemon-keeps-getting-
killed-and-restarted problem with the new ("ranchu") emulator, which
does not support telephony emulation yet. (The other step is to have
init start goldfish-setup, which will be done in a seperate CL.)

Change-Id: Ice7e7898804b7353ac4a8c49d871b1b2571d7a5f
Signed-off-by: Yu Ning <yu.ning@intel.com>
2015-05-19 08:22:41 +08:00
Nick Kralevich
94b4f9a5cf Merge "Label /dev/ttyGF* as serial_device" 2015-05-18 16:51:20 +00:00
Yu Ning
4783467922 Label /dev/ttyGF* as serial_device
In goldfish kernel 3.10, the goldfish_tty device instantiates virtual
serial ports as /dev/ttyGF* (e.g. /dev/ttyGF0), not as /dev/ttyS* as in
goldfish kernel 3.4. However, in the emulator's SELinux security policy,
there is no specific security context assigned to /dev/ttyGF*, and the
one inherited from /dev (u:object_r:device:s0) prevents services such as
qemud and goldfish-logcat from reading and writing ttyGF*. Consequently,
qemud terminates abnormally on the classic x86_64 emulator:

 init: Service 'qemud' (pid XXX) exited with status 1

Fix this issue by assigning /dev/ttyGF* the same security context as
/dev/ttyS*.

Change-Id: Ia7394dc217bd82f566c4d1b7eda3cc8ce3ac612f
Signed-off-by: Yu Ning <yu.ning@intel.com>
2015-05-18 17:19:08 +08:00
Jacky Cao
89483b83fb Portable way to color
Change-Id: I62ae1da772f4e3eb80ed26aca89ebe47aff8efa7
2015-05-17 10:07:42 +08:00
Elliott Hughes
c340a30641 Merge "Explain __USE_MINGW_ANSI_STDIO." 2015-05-15 20:52:56 +00:00
Nick Kralevich
e89b6f5df1 Merge "Update device to use set_prop() macro" 2015-05-15 19:26:56 +00:00
Nick Kralevich
cea991d778 Merge "Label /dev/goldfish_pipe as qemu_device" 2015-05-15 13:00:26 +00:00
Neil Fuller
abf5ef8fdd Merge "Add tzdatacheck to image" 2015-05-15 09:09:46 +00:00
Yu Ning
a5053e6b35 Label /dev/goldfish_pipe as qemu_device
In goldfish kernel 3.10, qemu_pipe has been renamed to goldfish_pipe.
However, in the emulator's SELinux policy, there is no specific security
context assigned to /dev/goldfish_pipe, and the one inherited from /dev
(u:object_r:device:s0) prevents various processes (qemud, qemu-props,
etc.) from reading and writing goldfish_pipe. Consequently, the classic
x86_64 emulator will not boot if GPU emulation is enabled ("-gpu host"),
and does not render the UI correctly if launched with "-gpu off".

Fix this issue by assigning /dev/goldfish_pipe the same security context
as /dev/qemu_pipe.

This CL also benefits the new ("ranchu") emulator, where all supported
ABIs (arm64, mips64, x86 and x86_64) use 3.10-based kernels. Without
this fix, the new emulator boots and works, but there are avc denials
related to goldfish_pipe.

Last but not least, it is now possible to boot the classic x86 emulator
with a 3.10-based kernel instead of the current 3.4-based one, without
disabling SELinux.

Change-Id: Iad979c0ee9d0a410be12b83ac1bef9476b50a6dc
Signed-off-by: Yu Ning <yu.ning@intel.com>
2015-05-15 16:30:57 +08:00
Elliott Hughes
7c0bcfb61d Explain __USE_MINGW_ANSI_STDIO.
Change-Id: I6900a7cddfb5aa4365c3e0f6f6f0fa9203c0fe43
2015-05-14 20:55:49 -07:00
Ying Wang
df5c798f36 Merge "[MIPS] Temporarily disable Mips shared-textrel errors" 2015-05-14 16:11:59 +00:00
Jeff Vander Stoep
7033819eeb Merge "Remove unused #include <selinux/android.h>" 2015-05-14 15:27:51 +00:00
Neil Fuller
84b983a7ef Add tzdatacheck to image
Bug: 21110439
Bug: 19941636
(cherry picked from commit 7d18a68417)

Change-Id: I29ab303d2695ba1cadf70c2d2f4440d34a8cede9
2015-05-14 12:02:58 +01:00
Jeff Vander Stoep
80ae3084d0 Remove unused #include <selinux/android.h>
Change-Id: Iebc59784c7318edb1c1f686e040ed581259bdd5a
2015-05-13 14:24:04 -07:00
Elliott Hughes
0dac67880b Merge "Revert "Revert "Turn on _FORTIFY_SOURCE=2 for the host.""" 2015-05-13 21:12:22 +00:00
Elliott Hughes
1d8e8c9694 Merge "Add libbenchmark's new dependency on libbase." 2015-05-13 20:53:32 +00:00
Elliott Hughes
b2b6646578 Add libbenchmark's new dependency on libbase.
Change-Id: I6f9700b3e51a3b681d3d91b88103eed31764f61e
2015-05-13 13:47:30 -07:00
Elliott Hughes
7dd8ec1761 Revert "Revert "Turn on _FORTIFY_SOURCE=2 for the host.""
This reverts commit e27b214fc2.

Change-Id: I3d739c0594dbe4ecd62c5b07064ada7de6cdaadb
2015-05-13 20:15:19 +00:00
Elliott Hughes
2a3034b336 Merge "Revert "Turn on _FORTIFY_SOURCE=2 for the host."" 2015-05-13 19:33:17 +00:00
Elliott Hughes
e27b214fc2 Revert "Turn on _FORTIFY_SOURCE=2 for the host."
This reverts commit 224806d00e.

Change-Id: I654157ec4be7ff95356ab4a25b27c44762793e74
2015-05-13 19:32:59 +00:00
Elliott Hughes
b58119eab4 Merge "Turn on _FORTIFY_SOURCE=2 for the host." 2015-05-13 19:10:37 +00:00
Tao Bao
2f7ae925a3 Merge "Add support for clobbered blocks" 2015-05-13 19:03:08 +00:00
Tao Bao
dc61833264 Merge "Add bootsigner path as an option" 2015-05-13 18:42:17 +00:00
dcashman
3979b9bdbc Merge "Remove libc++ from prepackaged shared libs in cts." 2015-05-13 18:19:42 +00:00
Tao Bao
ff7778166b Add support for clobbered blocks
In ext4 filesystems, some blocks might be changed even being mounted
R/O, such as the superblock (block 0). We need to exclude such blocks
from integrity verification. Plus such blocks should always be
written to the target by copying instead of patching.

Bug: http://b/20939131
Change-Id: I991169ec307dfb231b2fe8908a0668595ecb2060
2015-05-13 11:19:39 -07:00
Duane Sand
3dfd20aea4 [MIPS] Temporarily disable Mips shared-textrel errors
Clang++ for Mips and Mips64 generates read-only exception unwind
tables that trigger DT_TEXTREL warnings at link time.  Until Clang
is fixed, ignore those performance warnings instead of failing the build.

With this patch, Mips clang++ can be (optionally) used when building
libdeqp.

NDK's Mips llvm has been using an alternate temporary fix, marking the
.gcc_exception_table section as read-write for Mips only:
   https://android-review.googlesource.com/#/c/119660/

A permanent fix using a read-only exception table is pending upstream:
   http://reviews.llvm.org/D9669

Change-Id: Ie0cd7da398acbe45dbe39adc251e7fd5b5ca1445
2015-05-13 11:07:20 -07:00
Baligh Uddin
852a5b531c Add bootsigner path as an option
Change-Id: I3d804b7937aafea8274b06edab097a6dca8f04cd
(cherry picked from commit e204868f1f)
2015-05-13 10:07:47 -07:00
dcashman
214a171424 Remove libc++ from prepackaged shared libs in cts.
Commit 28acbeab18f6083299c07f9ebe769d22e49f8107 removed the dependency of
sepolicy-analyze on libc++, eliminating the only consumer of the library for the
cts host-side tests.  Remove the library since it is no longer needed but leave
the ability to add other shared libs in the future.

Bug: 19566396
Change-Id: I4fbfa44ce9f099ad058fd0630ac48749e389e3e1
2015-05-13 09:07:51 -07:00
Elliott Hughes
224806d00e Turn on _FORTIFY_SOURCE=2 for the host.
Bug: http://b/20558757
Change-Id: Ic0c173d25dc6b2fa9c3122a523af5f37bc1b8c55
2015-05-12 21:41:52 -07:00
William Roberts
cccc901639 Update device to use set_prop() macro
Change-Id: I630ba0178439c935d08062892990d43a3cc1239e
Signed-off-by: William Roberts <william.c.roberts@linux.intel.com>
2015-05-12 20:44:37 -07:00
Andrew Hsieh
75f3c5a849 Merge "Revert "Revert "Enable linker -fix-cortex-a53-843419""" 2015-05-13 01:08:51 +00:00
Dan Albert
a1e55c5f53 Merge "Fix using libc++_static in dynamic binaries." 2015-05-12 22:00:33 +00:00
Dan Albert
2a4a023a54 Fix using libc++_static in dynamic binaries.
Change-Id: I89bacfbf270d2d1bc1b9b2fa6951b355a67b808c
2015-05-12 14:07:18 -07:00
Andrew Hsieh
0e0259cca6 Revert "Revert "Enable linker -fix-cortex-a53-843419""
This reverts commit 32e1689684.

Now that prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9 is also updated

Change-Id: Id95c1c4cc651c434461655e62b8f23afd56b53e4
2015-05-11 06:03:07 +00:00
Tao Bao
4415894579 Merge "Wrap zipfile.write(), writestr() and close()" 2015-05-08 22:52:11 +00:00
Tao Bao
2ed665a033 Wrap zipfile.write(), writestr() and close()
In order to work around the zip 2GiB limit, we need to wrap the related
functions in zipfile. Calls to those functions should always be replaced
with calls to the wrappers instead.

Bug: 18015246
Change-Id: Ice494371ca6654e88ded2ae0eb680f51082effcb
2015-05-08 13:51:12 -07:00
Ying Wang
9db69c1b08 Merge "Add task to print transitive dependencies and their license files." 2015-05-07 22:43:56 +00:00
Ying Wang
39b9b690a8 Add task to print transitive dependencies and their license files.
Print modules and their transitive dependencies with license files.
To invoke, run
"make deps-license PROJ_PATH=<proj-path-patterns> DEP_PATH=<dep-path-patterns>".
PROJ_PATH restricts the paths of the source modules;
DEP_PATH restricts the paths of the dependency modules.
Both can be makefile patterns supported by makefile function $(filter).
Example:
  $ make deps-license packages/app/% external/%
  prints all modules in packages/app/ with their dpendencies in external/.
The printout lines look like "<module_name> :: <module_paths> :: <license_files>".

Bug: 20823995
Change-Id: I06b66e85ff56c8628bffa3d948085ed45870100f
2015-05-07 15:43:01 -07:00
Dmitriy Ivanov
0a00ef5084 Merge "Do not pack relocations for executables" 2015-05-07 21:09:48 +00:00
Dmitriy Ivanov
e24b6f77ff Do not pack relocations for executables
Bug: http://b/20665974
Change-Id: Ibc13b5d6bd05dfbc7ff8475068fe7363f58e7e67
2015-05-07 13:10:02 -07:00
Andreas Gampe
afec6236bb Merge "Build: Update Mips64 generic build for ART" 2015-05-07 16:02:16 +00:00
Andreas Gampe
13761c43c4 Build: Update Mips64 generic build for ART
For ART testing, we need:

1) A larger userdata partition. A lot of files end up there as it
is multi-arch.

2) Don't strip prebuilts. Technically we only care about core-libart,
but this is the best high-level change that doesn't impact other
files.

Change-Id: Ic36bfcf80ba50a602752ca0a3031dda89a0f3051
2015-05-06 21:00:44 -07:00
Dan Albert
0e8413e45e Merge "Remove stlport from global package list." 2015-05-06 21:16:11 +00:00
Dan Albert
0a93b56924 Remove stlport from global package list.
This is now whitelisted per device.

Bug: http://b/15193147
Change-Id: I7fcd0891242fb552a17753b151cf431a398bbc44
2015-05-06 13:21:51 -07:00
Dan Albert
5ee74388b1 Merge "Disallow using stlport." 2015-05-06 19:53:43 +00:00