Commit graph

2387 commits

Author SHA1 Message Date
Elliott Hughes
71c0366fc7 am e135d7f3: am a61ac525: Merge "Fix module constructor order."
* commit 'e135d7f305c00272ce1544b8243f999bb99979ec':
  Fix module constructor order.
2012-08-13 11:11:58 -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
19b1041930 am 89fd9ecc: am 20b94c0c: Merge "linker: don\'t perform unnecessary mprotects"
* commit '89fd9eccdca0eb5aed296bd7a2003424defe970c':
  linker: don't perform unnecessary mprotects
2012-08-13 09:48:17 -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
2a22a69e94 am 877dc946: am 072a7e6c: Merge "MIPS support to the libc Makefile"
* commit '877dc946090749ba7a71f7ae07f51aa32f966083':
  MIPS support to the libc Makefile
2012-08-11 15:16:34 -07:00
Ben Cheng
9eeaa4bd17 am 7e3918eb: am 0bf5cf87: Merge "Set the dynamic field in the link map for the linker itself."
* commit '7e3918eb62d31224fc5d1cff44d591fecd31e9d0':
  Set the dynamic field in the link map for the linker itself.
2012-08-11 15:16:33 -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
0837c69a63 am edf09bf9: am 316ee626: Merge "MIPS support to sigsuspend and sigwait routines"
* commit 'edf09bf990c8b011a084dbdb92050879e08ad8a9':
  MIPS support to sigsuspend and sigwait routines
2012-08-10 15:17:05 -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
73d99958bb am fabeb736: am 38a02b4b: Merge "crtend*: Add GNU_STACK note"
* commit 'fabeb736e91d4f4f79a1cbbed696cffb50a860a9':
  crtend*: Add GNU_STACK note
2012-08-10 14:46:56 -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
Elliott Hughes
d71ada630d am 535477ca: am 3ede900b: Merge "Revert "Revert "Switch to NetBSD\'s strxfrm(3)."""
* commit '535477ca5e29f3c14dff11ac362423156b5971ec':
  Revert "Revert "Switch to NetBSD's strxfrm(3).""
2012-08-10 14:12:08 -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
5adc7fdc2b am b54e5f2a: am a1822dce: Merge "Add unshare() syscall."
* commit 'b54e5f2a2fd014a5cbf105daea7b2eb8b59dec29':
  Add unshare() syscall.
2012-08-10 13:06:35 -07:00
Elliott Hughes
b54e5f2a2f am a1822dce: Merge "Add unshare() syscall."
* commit 'a1822dced3ed8625438b3cbf1c53f907f78a3a48':
  Add unshare() syscall.
2012-08-10 13:04:22 -07:00
Elliott Hughes
a1822dced3 Merge "Add unshare() syscall." 2012-08-10 12:59:49 -07:00
Jeff Sharkey
e36c826f7a Add unshare() syscall.
(cherry-pick of 5467f25f82934d611c60f8bc57a05114f3c1bea0.)

Bug: 6925012
Change-Id: Ic5ea2fbd606311087de05d7a3594df2fa9b2fef9
2012-08-10 12:57:43 -07:00
Elliott Hughes
5140b785a0 am f6922be2: am f91e2f72: Merge "Fix typo in SIGTTOU description."
* commit 'f6922be2a5e30fc594f48ec435d92b5386648061':
  Fix typo in SIGTTOU description.
2012-08-10 12:49:12 -07:00
Elliott Hughes
5520650483 am a618ea30: am 4ec9e343: Merge "Revert "Switch to NetBSD\'s strxfrm(3).""
* commit 'a618ea30e1c9d4f06031fb4ecdae31666db92993':
  Revert "Switch to NetBSD's strxfrm(3)."
2012-08-10 12:49:10 -07:00
Elliott Hughes
29b8fb3d5e am 3e83da43: am 9ad1d6f5: Merge "Switch to NetBSD\'s strxfrm(3)."
* commit '3e83da435b3ad7bee739972fca53dbfb692e6438':
  Switch to NetBSD's strxfrm(3).
2012-08-10 12:49:08 -07:00
Elliott Hughes
b6c1e34dca am dc6d5327: am 0836a7ff: Merge "Auto-generate a complete NOTICE file."
* commit 'dc6d5327bb6b030d154675f753d3e4f96dfa5e14':
  Auto-generate a complete NOTICE file.
2012-08-10 12:36:22 -07:00
Elliott Hughes
f6922be2a5 am f91e2f72: Merge "Fix typo in SIGTTOU description."
* commit 'f91e2f72861643e1d31ffc3e6c374b52d33d2423':
  Fix typo in SIGTTOU description.
2012-08-10 12:34:17 -07:00
Elliott Hughes
f91e2f7286 Merge "Fix typo in SIGTTOU description." 2012-08-10 12:27:06 -07:00
Elliott Hughes
01030e6388 Fix typo in SIGTTOU description.
Change-Id: Ie0db3e7df3e1f17b43f5645d027a90603139be2f
2012-08-10 12:23:58 -07:00
Elliott Hughes
f8b3a920a8 Revert "Revert "Switch to NetBSD's strxfrm(3).""
This reverts commit 8793e7c7d2,
and fixes the build by building upstream NetBSD source as a
separate library that's then swallowed whole into libc_common.

Change-Id: I6c9317d8c48b5ccaf85a7b185bc07fb31176ff97
2012-08-10 12:10:10 -07:00
Elliott Hughes
a618ea30e1 am 4ec9e343: Merge "Revert "Switch to NetBSD\'s strxfrm(3).""
* commit '4ec9e343cf445c5032d9a782d2e92b1dba713e61':
  Revert "Switch to NetBSD's strxfrm(3)."
2012-08-10 11:44:29 -07:00
Elliott Hughes
4ec9e343cf Merge "Revert "Switch to NetBSD's strxfrm(3)."" 2012-08-10 11:36:31 -07:00
Elliott Hughes
8793e7c7d2 Revert "Switch to NetBSD's strxfrm(3)."
This reverts commit be1d78b0dc

Change-Id: I11a95db474796f3da004f27652b081d5ba4ec9b4
2012-08-10 11:36:17 -07:00
Jeff Sharkey
6ccc2c8f43 Merge "Add unshare() syscall." into jb-mr1-dev 2012-08-10 11:29:53 -07:00
Elliott Hughes
3e83da435b am 9ad1d6f5: Merge "Switch to NetBSD\'s strxfrm(3)."
* commit '9ad1d6f58ccbc830ce87e3ddf35708e519a8f23e':
  Switch to NetBSD's strxfrm(3).
2012-08-10 11:28:40 -07:00
Elliott Hughes
9ad1d6f58c Merge "Switch to NetBSD's strxfrm(3)." 2012-08-10 11:23:30 -07:00
Jeff Sharkey
5467f25f82 Add unshare() syscall.
Bug: 6925012
Change-Id: I2530a8f6cea49eb32b60f8f9c4d86963773456ca
2012-08-10 11:17:59 -07:00
Elliott Hughes
be1d78b0dc Switch to NetBSD's strxfrm(3).
There were two bugs in our implementation. Intel found one, but another
remainined, and tracking upstream is the way forward for functions where
we add no value.

Change-Id: Ida9bac0293fb2c4cbc942b1e0515ee0477c6538b
2012-08-10 11:03:02 -07:00
Raghu Gandham
abd10011a7 MIPS support to sigsuspend and sigwait routines
Change-Id: I870e798ed7eac5a8c74e5784a670f3a4f24331a9
2012-08-09 18:51:19 -07:00
Elliott Hughes
dc6d5327bb am 0836a7ff: Merge "Auto-generate a complete NOTICE file."
* commit '0836a7ffb13890558fe568119b023007cce66373':
  Auto-generate a complete NOTICE file.
2012-08-09 16:39:15 -07:00
Elliott Hughes
0836a7ffb1 Merge "Auto-generate a complete NOTICE file." 2012-08-09 16:25:19 -07:00
Elliott Hughes
387d4b7de9 Auto-generate a complete NOTICE file.
Remove the hand-collated ones, and switch to a script that pulls the
copyright headers out of every file and collects the unique ones.

Change-Id: Ied3b98b3f56241df97166c410ff81de4e0157c9d
2012-08-09 16:05:31 -07:00