Commit Graph

2351 Commits

Author SHA1 Message Date
Elliott Hughes
008a0a5d50 am 53493a9b: Merge "Sort NOTICE entries."
* commit '53493a9b26e9fb665de590abf3502af94eaf3f44':
  Sort NOTICE entries.
2012-08-14 15:42:36 -07:00
Elliott Hughes
53493a9b26 Merge "Sort NOTICE entries." 2012-08-14 15:31:18 -07:00
Elliott Hughes
63696738e5 am b6a97196: Merge "More cleanup."
* commit 'b6a971962acdf2684fd98658ec6fe6aa9952d84b':
  More cleanup.
2012-08-14 15:08:38 -07:00
Elliott Hughes
261e2232c1 Sort NOTICE entries.
Also make sure we get the whole of any copyright header, in case
there's text before the "Copyright" line.

Change-Id: Iabcc5e0931a39c0107b833539fec7c5a3d134592
2012-08-14 15:04:05 -07:00
Elliott Hughes
b6a971962a Merge "More cleanup." 2012-08-14 15:02:40 -07:00
Elliott Hughes
bedfe38b8b More cleanup.
Make more stuff static, remove some dead code, and fix a few typos.

Change-Id: I010b0eadeaf61e2899c37014ad1e7082c70bd510
2012-08-14 14:07:59 -07:00
Elliott Hughes
16a0cbaa83 am b7c6991c: Merge "Update MS_ mount flags, define unshare() syscall."
* commit 'b7c6991c9af3882bd13cbf6bc42da85c884aa5f5':
  Update MS_ mount flags, define unshare() syscall.
2012-08-14 12:27:44 -07:00
Elliott Hughes
b7c6991c9a Merge "Update MS_ mount flags, define unshare() syscall." 2012-08-14 12:14:29 -07:00
Elliott Hughes
82b69fcbb3 am b9c6854c: Merge "linker: avoid clobbering the .dynamic section of shared libs"
* commit 'b9c6854cd9d5286f991aec66be3a8a57f5e3e7be':
  linker: avoid clobbering the .dynamic section of shared libs
2012-08-14 12:11:54 -07:00
Elliott Hughes
370a70948a am c50e0197: Merge "Switch to upstream NetBSD tdelete/tfind/tsearch."
* commit 'c50e019734fb379e2efc1d50e188dd51cf085b96':
  Switch to upstream NetBSD tdelete/tfind/tsearch.
2012-08-14 12:11:53 -07:00
Jeff Sharkey
74c0464006 Update MS_ mount flags, define unshare() syscall.
(cherry-pick of 82393decdfc6b0383054fb5d2f54725bbee88b8c.)

Bug: 6925012
Change-Id: I4f962d8975ad62ff4b9983150f9e481796092b9d
2012-08-14 12:09:25 -07:00
Elliott Hughes
b9c6854cd9 Merge "linker: avoid clobbering the .dynamic section of shared libs" 2012-08-14 12:07:18 -07:00
Elliott Hughes
c50e019734 Merge "Switch to upstream NetBSD tdelete/tfind/tsearch." 2012-08-14 11:56:30 -07:00
Ard Biesheuvel
12c78bbded linker: avoid clobbering the .dynamic section of shared libs
This patch removes the DT_NEEDED hack which stores pointers
to soinfo structs in the .dynamic section of the library
being loaded.

Instead, it caches the soinfo struct pointers on the stack
during relocation time. After relocation time, i.e. when
calling constructors and destructors of the shared library
and its dependencies, uncached access is used instead,
doing lookups using the string table entries pointed to by
the DT_NEEDED entries.

By removing this hack, it is no longer needed to undo the
PT_GNURELRO protection, i.e., all non-writable mappings
can remain non-writable during their entire lifespan.

Even though, strictly speaking, the algorithmic complexity
has increased somewhat, the real-world adverse effect
is negligible on the systems I have tested.

Change-Id: I2361502560b96b5878f7f94a8e8a215350d70d64
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@gmail.com>
2012-08-14 19:38:28 +02:00
Elliott Hughes
409302f0f9 Switch to upstream NetBSD tdelete/tfind/tsearch.
tdestroy is a GNU extension, so that stays.

Change-Id: Iedebaff25ea7e92b1ab1dd4440da12b67b99aa40
2012-08-13 17:41:49 -07:00
Elliott Hughes
d544bdfac8 am 54655eaf: Merge "Fix nice..."
* commit '54655eaf92ca91bfe2fa293896059a181e27b6eb':
  Fix nice...
2012-08-13 17:12:48 -07:00
Elliott Hughes
54655eaf92 Merge "Fix nice..." 2012-08-13 16:56:18 -07:00
Elliott Hughes
3d2d448af1 Fix nice...
...by switching to the NetBSD implementation.

Change-Id: I562b27b237a24ded95804035cc322c7bff12ff59
2012-08-13 16:38:29 -07:00
Elliott Hughes
aa6c8994b7 am b66bc514: Merge "Clean up warnings in stubs.cpp."
* commit 'b66bc51423a1f3969d0e70e035126ac4c4898b50':
  Clean up warnings in stubs.cpp.
2012-08-13 16:22:43 -07:00
Elliott Hughes
b66bc51423 Merge "Clean up warnings in stubs.cpp." 2012-08-13 16:17:55 -07:00
Elliott Hughes
de727caee2 Clean up warnings in stubs.cpp.
Switch to C++ to get extra warnings, and format the code Google style.

Change-Id: Ifc0131bf297a6ee8a8a6b8d049a02518b0b1a4b7
2012-08-13 16:10:19 -07:00
Elliott Hughes
ca09412a1f am 222eec2e: Merge "Handle naming for system uids running as secondary users"
* commit '222eec2ecfc4afcbd5cf0f08e16f69f6c3c424fa':
  Handle naming for system uids running as secondary users
2012-08-13 15:00:55 -07:00
Elliott Hughes
222eec2ecf Merge "Handle naming for system uids running as secondary users" 2012-08-13 14:45:27 -07:00
Elliott Hughes
c1eb76198e am 440e417d: Merge "Add dependencies on all the makefiles."
* commit '440e417d5f8fb3ab3b5296eaea3720be52086730':
  Add dependencies on all the makefiles.
2012-08-13 14:30:35 -07:00
Amith Yamasani
bf9441efb8 Handle naming for system uids running as secondary users
Allow naming such as u1_system, u2_radio, u2_media.
Forward and reverse mapping for the above.

(cherry-pick of c60a0027b1ef3bc4929d2023e7083fbce12fafe7.)

Change-Id: I46eeb23fee4f57b2907640570504123d3ce99985
2012-08-13 14:19:16 -07:00
Elliott Hughes
440e417d5f Merge "Add dependencies on all the makefiles." 2012-08-13 14:12:02 -07:00
Elliott Hughes
ae5c64413b Add dependencies on all the makefiles.
This should help prevent broken builds next time I'm messing with
assembler/compiler/linker flags...

Change-Id: I30f15a3ce3c3f3c60cad7bc59aaba9f42d792224
2012-08-13 14:06:05 -07:00
Elliott Hughes
35dcf19b2b am 66fba009: Merge "Update arch-mips/asm/unistd.h for the newer syscalls"
* commit '66fba00991f03d07c72f809d033b88748f839bda':
  Update arch-mips/asm/unistd.h for the newer syscalls
2012-08-13 12:47:13 -07:00
Elliott Hughes
66fba00991 Merge "Update arch-mips/asm/unistd.h for the newer syscalls" 2012-08-13 12:42:01 -07:00
Raghu Gandham
7d9f1c46bb Update arch-mips/asm/unistd.h for the newer syscalls
Change-Id: Ie292c091cbf4b972e1b5faa7d779645c6e4442f0
2012-08-13 11:54:53 -07:00
Elliott Hughes
e135d7f305 am a61ac525: Merge "Fix module constructor order."
* commit 'a61ac5257bea15d6cbfc640c03f18c2fb808b139':
  Fix module constructor order.
2012-08-13 11:10:32 -07:00
Elliott Hughes
a61ac5257b Merge "Fix module constructor order." 2012-08-13 11:06:53 -07:00
Evgeniy Stepanov
9181a5dcfe Fix module constructor order.
.preinit_array goes before the constructors of LD_PRELOAD-ed libraries.

Change-Id: I1af32ce29eaf3ca4351ae8a0f7f5da5165853216
2012-08-13 11:05:47 -07:00
Nick Kralevich
89fd9eccdc am 20b94c0c: Merge "linker: don\'t perform unnecessary mprotects"
* commit '20b94c0ce99ea3d2315535091c8bcd02f831d252':
  linker: don't perform unnecessary mprotects
2012-08-13 09:46:43 -07:00
Nick Kralevich
20b94c0ce9 Merge "linker: don't perform unnecessary mprotects" 2012-08-13 09:28:54 -07:00
Nick Kralevich
5135b3ae6e linker: don't perform unnecessary mprotects
The linker only needs to mark the text segment as
writable iff the file has text relocations. Unnecessarily
calling mprotect when it isn't necessary is slow, and some
security enhanced kernels don't like it. Pages which are
simultaneously writable and executable are considered a no-no.

The vast majority of executables / shared libraries on Android
do NOT have text relocations.

Change-Id: Ic38ce30a99b7e33ecf21efd9c108547a58eafa35
2012-08-13 08:50:11 -07:00
Elliott Hughes
877dc94609 am 072a7e6c: Merge "MIPS support to the libc Makefile"
* commit '072a7e6ced29d9be29e38721d0ab7de0ba3f7377':
  MIPS support to the libc Makefile
2012-08-11 11:51:37 -07:00
Ben Cheng
7e3918eb62 am 0bf5cf87: Merge "Set the dynamic field in the link map for the linker itself."
* commit '0bf5cf87c6b7d3de8962ba132ecfb6f0e4b84f06':
  Set the dynamic field in the link map for the linker itself.
2012-08-11 11:51:36 -07:00
Elliott Hughes
072a7e6ced Merge "MIPS support to the libc Makefile" 2012-08-11 09:36:05 -07:00
Raghu Gandham
a4c7933b49 MIPS support to the libc Makefile
Change-Id: Ia1f3f545ca61a5abb235e99046cb3cdaf24d4205
2012-08-10 17:24:02 -07:00
Ben Cheng
0bf5cf87c6 Merge "Set the dynamic field in the link map for the linker itself." 2012-08-10 16:46:09 -07:00
Ben Cheng
06f0e74a2b Set the dynamic field in the link map for the linker itself.
Otherwise gdb will print a spurious warning each time gdb is used:

warning: .dynamic section for "/system/bin/linker" is not at the expected
address (wrong library or version mismatch?)

BUG:6946614
Change-Id: Ib21b8db0615751189c1601140deb43bc089289b6
2012-08-10 16:07:02 -07:00
Elliott Hughes
edf09bf990 am 316ee626: Merge "MIPS support to sigsuspend and sigwait routines"
* commit '316ee626b729e3f66a5505a20128af26440cfd19':
  MIPS support to sigsuspend and sigwait routines
2012-08-10 15:15:23 -07:00
Elliott Hughes
316ee626b7 Merge "MIPS support to sigsuspend and sigwait routines" 2012-08-10 15:05:36 -07:00
Nick Kralevich
fabeb736e9 am 38a02b4b: Merge "crtend*: Add GNU_STACK note"
* commit '38a02b4b80f50aa1b3e2ee39e9e98146cf42be3d':
  crtend*: Add GNU_STACK note
2012-08-10 14:42:11 -07:00
Nick Kralevich
38a02b4b80 Merge "crtend*: Add GNU_STACK note" 2012-08-10 14:29:27 -07:00
Nick Kralevich
6eee1fc68f crtend*: Add GNU_STACK note
Add a GNU_STACK marker to crtend* files. This tells the linker
that these files do not require an executable stack.

When linking, a missing GNU_STACK marker in any .o file can prevent
the compiler from automatically marking the final executable as NX
safe (executable stack not required).  In Android, we normally work
around this by adding -Wa,--noexecstack / -Wl,-z,noexecstack.
For files like crtend.S / crtend_so.S, which are included in every
executable / shared library, it's better to add the GNU_STACK note
directly to the assembly file.  This allows the compiler to
automatically mark the final executable as NX safe without any
special command line options.

References: http://www.gentoo.org/proj/en/hardened/gnu-stack.xml

Change-Id: I07bd058f9f60ddd8b146e0fb36ba26ff84c0357d
2012-08-10 14:12:00 -07:00
Elliott Hughes
535477ca5e am 3ede900b: Merge "Revert "Revert "Switch to NetBSD\'s strxfrm(3)."""
* commit '3ede900b644c2a7c2fa41177b81735c8a09bd14a':
  Revert "Revert "Switch to NetBSD's strxfrm(3).""
2012-08-10 14:10:03 -07:00
Elliott Hughes
3ede900b64 Merge "Revert "Revert "Switch to NetBSD's strxfrm(3).""" 2012-08-10 14:03:06 -07:00
Elliott Hughes
b54e5f2a2f am a1822dce: Merge "Add unshare() syscall."
* commit 'a1822dced3ed8625438b3cbf1c53f907f78a3a48':
  Add unshare() syscall.
2012-08-10 13:04:22 -07:00