OSDN Git Service

android-x86/bionic.git
11 years agoAdd a few more missing libm long double stubs.
Elliott Hughes [Fri, 8 Feb 2013 01:45:11 +0000 (17:45 -0800)]
Add a few more missing libm long double stubs.

Change-Id: I6c44b9f3eee730253a958d6cefdac99e6f79da3e

11 years agoMerge "Remove dead code from gensyscalls.py."
Elliott Hughes [Thu, 7 Feb 2013 22:17:55 +0000 (22:17 +0000)]
Merge "Remove dead code from gensyscalls.py."

11 years agoRemove dead code from gensyscalls.py.
Elliott Hughes [Thu, 7 Feb 2013 22:07:00 +0000 (14:07 -0800)]
Remove dead code from gensyscalls.py.

Change-Id: I0df69f8fd990f829ccbfcd5123c17b523d5a4d45

11 years agoMerge "Fix x86 build, remove void* arithmetic."
Elliott Hughes [Thu, 7 Feb 2013 20:27:40 +0000 (20:27 +0000)]
Merge "Fix x86 build, remove void* arithmetic."

11 years agoMerge "__progname should be const char*, not char*."
Elliott Hughes [Thu, 7 Feb 2013 20:16:32 +0000 (20:16 +0000)]
Merge "__progname should be const char*, not char*."

11 years agoFix x86 build, remove void* arithmetic.
Elliott Hughes [Thu, 7 Feb 2013 20:16:10 +0000 (12:16 -0800)]
Fix x86 build, remove void* arithmetic.

Change-Id: Idc7f14af2e094ac33de315e808176237af063bb8

11 years ago__progname should be const char*, not char*.
Elliott Hughes [Thu, 7 Feb 2013 20:06:44 +0000 (12:06 -0800)]
__progname should be const char*, not char*.

Change-Id: I8e846872c30a712fbc05c8da59ffa1cec1be31a4

11 years agoMerge "Clean up the argc/argv/envp/auxv handling."
Elliott Hughes [Thu, 7 Feb 2013 19:48:16 +0000 (19:48 +0000)]
Merge "Clean up the argc/argv/envp/auxv handling."

11 years agoClean up the argc/argv/envp/auxv handling.
Elliott Hughes [Thu, 7 Feb 2013 18:14:39 +0000 (10:14 -0800)]
Clean up the argc/argv/envp/auxv handling.

There's now only one place where we deal with this stuff, it only needs to
be parsed once by the dynamic linker (rather than by each recipient), and it's
now easier for us to get hold of auxv data early on.

Change-Id: I6314224257c736547aac2e2a650e66f2ea53bef5

11 years agoMerge "Switch x86 syscall stubs over to the ENTER/END style of the ARM stubs."
Elliott Hughes [Thu, 7 Feb 2013 16:55:27 +0000 (16:55 +0000)]
Merge "Switch x86 syscall stubs over to the ENTER/END style of the ARM stubs."

11 years agoSwitch x86 syscall stubs over to the ENTER/END style of the ARM stubs.
Elliott Hughes [Thu, 7 Feb 2013 01:08:15 +0000 (17:08 -0800)]
Switch x86 syscall stubs over to the ENTER/END style of the ARM stubs.

Also update the x86 asm.h to support this; we need it for libm assembler
anyway.

Also clean up the _FBSDID hack in <sys/cdefs.h>.

Change-Id: Iababd977b8110ec022bf7c93f4d62ece47630e7c

11 years agoMerge "Add a missing logbl stub."
Elliott Hughes [Thu, 7 Feb 2013 00:09:48 +0000 (00:09 +0000)]
Merge "Add a missing logbl stub."

11 years agoAdd a missing logbl stub.
Elliott Hughes [Thu, 7 Feb 2013 00:07:54 +0000 (16:07 -0800)]
Add a missing logbl stub.

This doesn't usually matter because there's a weak reference; you'd
miss this if you stopped using s_logb.c though.

Change-Id: I912fceae327a378031cd24a64aefa9dfd84f7f90

11 years agoMerge "Improve benchmarking tool, add a few math benchmarks."
Elliott Hughes [Thu, 7 Feb 2013 00:04:24 +0000 (00:04 +0000)]
Merge "Improve benchmarking tool, add a few math benchmarks."

11 years agoImprove benchmarking tool, add a few math benchmarks.
Elliott Hughes [Wed, 6 Feb 2013 23:47:09 +0000 (15:47 -0800)]
Improve benchmarking tool, add a few math benchmarks.

Change-Id: I641305dd0e4ac0705381e735ed1604c5be7aa536

11 years agoMerge "Remove the currently-unused i387 assembler to make way for the new."
Elliott Hughes [Wed, 6 Feb 2013 19:57:50 +0000 (19:57 +0000)]
Merge "Remove the currently-unused i387 assembler to make way for the new."

11 years agoRemove the currently-unused i387 assembler to make way for the new.
Elliott Hughes [Wed, 6 Feb 2013 19:50:19 +0000 (11:50 -0800)]
Remove the currently-unused i387 assembler to make way for the new.

Change-Id: I37e4e8fce881246b9b028f9e1619247b1ac25261

11 years agoMerge "Remove partial implementation of MIPS non-PIC support."
Elliott Hughes [Wed, 6 Feb 2013 19:40:47 +0000 (19:40 +0000)]
Merge "Remove partial implementation of MIPS non-PIC support."

11 years agoRemove partial implementation of MIPS non-PIC support.
Elliott Hughes [Wed, 6 Feb 2013 19:02:28 +0000 (11:02 -0800)]
Remove partial implementation of MIPS non-PIC support.

Change-Id: I3c287e52aae10559508174e73113367aea40e5c2

11 years agoMerge "Remove bogus extra alignment from sbrk."
Elliott Hughes [Wed, 6 Feb 2013 00:57:43 +0000 (00:57 +0000)]
Merge "Remove bogus extra alignment from sbrk."

11 years agoRemove bogus extra alignment from sbrk.
Elliott Hughes [Wed, 6 Feb 2013 00:10:59 +0000 (16:10 -0800)]
Remove bogus extra alignment from sbrk.

Bug: https://code.google.com/p/android/issues/detail?id=37349
Change-Id: I970c7b6be7bb7fbe6bbbe2c332f05816aeb0e09f

11 years agoMerge "Document the mallinfo struct, add missing attributes."
Elliott Hughes [Mon, 4 Feb 2013 21:53:17 +0000 (21:53 +0000)]
Merge "Document the mallinfo struct, add missing attributes."

11 years agoDocument the mallinfo struct, add missing attributes.
Elliott Hughes [Mon, 4 Feb 2013 21:44:14 +0000 (13:44 -0800)]
Document the mallinfo struct, add missing attributes.

Change-Id: Ia97acce1f6a83bd8b3ba8dd20efd962bc96f35a9

11 years agoMerge "Add basic tests for posix_memalign."
Elliott Hughes [Mon, 4 Feb 2013 21:19:19 +0000 (21:19 +0000)]
Merge "Add basic tests for posix_memalign."

11 years agoAdd basic tests for posix_memalign.
Elliott Hughes [Mon, 4 Feb 2013 21:18:00 +0000 (13:18 -0800)]
Add basic tests for posix_memalign.

Change-Id: Ie34fcc87aa9e8bfc715e25161752024b11e2032a

11 years agoMerge "Regenerate msm_ion.h."
Elliott Hughes [Mon, 4 Feb 2013 18:42:14 +0000 (18:42 +0000)]
Merge "Regenerate msm_ion.h."

11 years agoRegenerate msm_ion.h.
Elliott Hughes [Sat, 2 Feb 2013 02:21:08 +0000 (18:21 -0800)]
Regenerate msm_ion.h.

Bug: 8000377
Change-Id: If496d9972cb8aebfc996ac641aa762220aa71f3b

11 years agoMerge "Don't claim there were no leaks if we weren't even checking."
Elliott Hughes [Sat, 2 Feb 2013 01:18:44 +0000 (01:18 +0000)]
Merge "Don't claim there were no leaks if we weren't even checking."

11 years agoDon't claim there were no leaks if we weren't even checking.
Elliott Hughes [Sat, 2 Feb 2013 01:07:40 +0000 (17:07 -0800)]
Don't claim there were no leaks if we weren't even checking.

Bug: 8107016
Change-Id: I9059f1f8374ebcdf00dfc6ac74d3709f501292c9

11 years agoMerge "Make sincosl call sinl and cosl."
Elliott Hughes [Sat, 2 Feb 2013 00:42:01 +0000 (00:42 +0000)]
Merge "Make sincosl call sinl and cosl."

11 years agoMake sincosl call sinl and cosl.
Elliott Hughes [Sat, 2 Feb 2013 00:32:50 +0000 (16:32 -0800)]
Make sincosl call sinl and cosl.

Bug: 2748728
Change-Id: Id18070963b91b144758c567ad7ac80758e3a638b

11 years agoMerge "Update the libm/NOTICE file after the upgrade."
Elliott Hughes [Sat, 2 Feb 2013 00:26:12 +0000 (00:26 +0000)]
Merge "Update the libm/NOTICE file after the upgrade."

11 years agoUpdate the libm/NOTICE file after the upgrade.
Elliott Hughes [Sat, 2 Feb 2013 00:16:54 +0000 (16:16 -0800)]
Update the libm/NOTICE file after the upgrade.

Change-Id: Icf9c44402d6f86117d61307219bb1cccd288854d

11 years agoMerge "Restore bionic's <linux/elf-em.h>."
Elliott Hughes [Sat, 2 Feb 2013 00:11:33 +0000 (00:11 +0000)]
Merge "Restore bionic's <linux/elf-em.h>."

11 years agoRestore bionic's <linux/elf-em.h>.
Elliott Hughes [Sat, 2 Feb 2013 00:10:28 +0000 (16:10 -0800)]
Restore bionic's <linux/elf-em.h>.

Used by <linux/audit.h>.

Change-Id: Ica4ebb7f52a7fce13c52fdff35e187ded3939382

11 years agoMerge "Upgrade libm."
Elliott Hughes [Fri, 1 Feb 2013 23:07:48 +0000 (23:07 +0000)]
Merge "Upgrade libm."

11 years agoUpgrade libm.
Elliott Hughes [Thu, 31 Jan 2013 03:06:37 +0000 (19:06 -0800)]
Upgrade libm.

This brings us up to date with FreeBSD HEAD, fixes various bugs, unifies
the set of functions we support on ARM, MIPS, and x86, fixes "long double",
adds ISO C99 support, and adds basic unit tests.

It turns out that our "long double" functions have always been broken
for non-normal numbers. This patch fixes that by not using the upstream
implementations and just forwarding to the regular "double" implementation
instead (since "long double" on Android is just "double" anyway, which is
what BSD doesn't support).

All the tests pass on ARM, MIPS, and x86, plus glibc on x86-64.

Bug: 3169850
Bug: 8012787
Bug: https://code.google.com/p/android/issues/detail?id=6697
Change-Id: If0c343030959c24bfc50d4d21c9530052c581837

11 years agoMerge "Say explicitly if there were no leaks."
Elliott Hughes [Wed, 30 Jan 2013 19:53:49 +0000 (19:53 +0000)]
Merge "Say explicitly if there were no leaks."

11 years agoSay explicitly if there were no leaks.
Elliott Hughes [Wed, 30 Jan 2013 19:38:26 +0000 (11:38 -0800)]
Say explicitly if there were no leaks.

Otherwise people trying to use this are left wondering "did I not leak, or did
the leak checking code not get called when I exited?".

Change-Id: If79b225f8a2e24dd69aba1fb836bf9e81bb00efe

11 years agoMerge "Clean up trailing whitespace in the kernel headers."
Elliott Hughes [Wed, 30 Jan 2013 18:13:28 +0000 (18:13 +0000)]
Merge "Clean up trailing whitespace in the kernel headers."

11 years agoClean up trailing whitespace in the kernel headers.
Elliott Hughes [Wed, 30 Jan 2013 02:15:55 +0000 (18:15 -0800)]
Clean up trailing whitespace in the kernel headers.

And fix the scripts so they stop letting trailing whitespace through.

Change-Id: Ie109fbe1f63321e565ba0fa60fee8e9cf3a61cfc

11 years agoMerge "Fix valgrind build."
Elliott Hughes [Wed, 30 Jan 2013 01:50:16 +0000 (01:50 +0000)]
Merge "Fix valgrind build."

11 years agoFix valgrind build.
Elliott Hughes [Wed, 30 Jan 2013 01:49:12 +0000 (17:49 -0800)]
Fix valgrind build.

Change-Id: Ie375d32565d10f4c0c56da5422f52b68cb069654

11 years agoMerge "Fix x86 build to use <elf.h>."
Elliott Hughes [Wed, 30 Jan 2013 00:41:23 +0000 (00:41 +0000)]
Merge "Fix x86 build to use <elf.h>."

11 years agoFix x86 build to use <elf.h>.
Elliott Hughes [Wed, 30 Jan 2013 00:40:39 +0000 (16:40 -0800)]
Fix x86 build to use <elf.h>.

Change-Id: I7b697d5eae69dc08eb31471a42cb8bbe5360be76

11 years agoMerge "Bring the NOTICE files back up to date."
Elliott Hughes [Wed, 30 Jan 2013 00:33:53 +0000 (00:33 +0000)]
Merge "Bring the NOTICE files back up to date."

11 years agoBring the NOTICE files back up to date.
Elliott Hughes [Wed, 30 Jan 2013 00:25:06 +0000 (16:25 -0800)]
Bring the NOTICE files back up to date.

Change-Id: I978275cf6604b90595ee79d897c0460eeadc7dc8

11 years agoMerge "Use the NetBSD <sys/exec_elf.h>."
Elliott Hughes [Wed, 30 Jan 2013 00:06:11 +0000 (00:06 +0000)]
Merge "Use the NetBSD <sys/exec_elf.h>."

11 years agoUse the NetBSD <sys/exec_elf.h>.
Elliott Hughes [Tue, 29 Jan 2013 23:02:50 +0000 (15:02 -0800)]
Use the NetBSD <sys/exec_elf.h>.

Replace a kernel header file dependency with files from NetBSD.
They're more complete, and ELF is ELF, whether you're on Linux or a BSD.

Bug: 7973611
Change-Id: I83ee719e7efdf432ec2ddbe8be271d05b2f558d7

11 years agoMerge "Don't collect useless stack frames; do demangle C++ symbols."
Elliott Hughes [Tue, 29 Jan 2013 19:59:30 +0000 (19:59 +0000)]
Merge "Don't collect useless stack frames; do demangle C++ symbols."

11 years agoDon't collect useless stack frames; do demangle C++ symbols.
Elliott Hughes [Tue, 29 Jan 2013 00:27:36 +0000 (16:27 -0800)]
Don't collect useless stack frames; do demangle C++ symbols.

Previously, we'd collect every stack frame and then throw some away
when we came to log them. This meant that stack traces were effectively
shorter than the buffers that had been allocated for them. This patch
only stores frames we'll actually output.

Also dynamically call the C++ demangler so we don't have to try to
read mangled names. Because no one knows the mangling of operator new[]
for int arrays off the top of their head.

Bug: 7291287
Change-Id: I42b022fd7cd61675d05171de4c3b2704d058ef2a

11 years agoMerge "Unit tests for formatting code, fix %%."
Elliott Hughes [Mon, 28 Jan 2013 22:04:44 +0000 (22:04 +0000)]
Merge "Unit tests for formatting code, fix %%."

11 years agoUnit tests for formatting code, fix %%.
Elliott Hughes [Mon, 28 Jan 2013 18:36:31 +0000 (10:36 -0800)]
Unit tests for formatting code, fix %%.

Also fix <signal.h> and <stdio.h> so they don't cause compiler warnings.

Change-Id: Ib1a746bf01de22d47dbd964de0e6af80a7c96303

11 years agoMerge "More debug malloc fixes."
Elliott Hughes [Sat, 26 Jan 2013 01:55:43 +0000 (01:55 +0000)]
Merge "More debug malloc fixes."

11 years agoMore debug malloc fixes.
Elliott Hughes [Sat, 26 Jan 2013 01:13:45 +0000 (17:13 -0800)]
More debug malloc fixes.

Include the leaky executable's name in the log output. Fix the "sh" test.
Use uintptr_t instead of intptr_t.

Also fix debug formatting of NULL with %s.

Bug: 7291287
Change-Id: I015bf341cd48d43a247173612e6ccb1bf1243d53

11 years agoMerge "arm syscall : for eabi call_default don't use stack"
Elliott Hughes [Fri, 25 Jan 2013 21:57:58 +0000 (21:57 +0000)]
Merge "arm syscall : for eabi call_default don't use stack"

11 years agoMerge "system_properties: do more checking of file"
Nick Kralevich [Fri, 25 Jan 2013 21:52:00 +0000 (21:52 +0000)]
Merge "system_properties: do more checking of file"

11 years agosystem_properties: do more checking of file
Nick Kralevich [Fri, 25 Jan 2013 21:07:31 +0000 (13:07 -0800)]
system_properties: do more checking of file

Check that the permissions on the properties file
are exactly as we expect them to be.

Make sure we close the fd if fstat fails.

Refactor the code slightly.

Change-Id: I5503fd58c3b8093ce7e6d05920748ed70eaf8e2c

11 years agoMerge "prctl.h: include sys/cdefs.h"
Nick Kralevich [Thu, 24 Jan 2013 16:44:59 +0000 (16:44 +0000)]
Merge "prctl.h: include sys/cdefs.h"

11 years agoprctl.h: include sys/cdefs.h
Nick Kralevich [Thu, 24 Jan 2013 00:49:47 +0000 (16:49 -0800)]
prctl.h: include sys/cdefs.h

prctl.h uses __BEGIN_DECLS but fails to include sys/cdefs.h
(where it's defined).  Code which includes prctl.h without
previously including sys/cdefs.h will fail to compile.

Fixed.

Change-Id: If4c9f3308f08b93596dcd00e351ae786807e9320

11 years agoMerge "libc: use more secure system properties if available"
Nick Kralevich [Wed, 23 Jan 2013 18:50:24 +0000 (18:50 +0000)]
Merge "libc: use more secure system properties if available"

11 years agolibc: use more secure system properties if available
Nick Kralevich [Wed, 23 Jan 2013 17:28:35 +0000 (09:28 -0800)]
libc: use more secure system properties if available

Currently, system properties are passed via the environment
variable ANDROID_PROPERTY_WORKSPACE and a file descriptor passed
from parent to child. This is insecure for setuid executables,
as the environment variable can be changed by the caller.

Modify system property handling so that we get the properties
from a root owned properties file, rather than using an
environment variable.  Fall back to the environment variable
if the file doesn't exist.

Bug: 8045561
Change-Id: I54f3efa98cf7d63d88788da5ce0d19e34fd7851a

11 years agoMerge "Don't free anything when reporting leaks."
Elliott Hughes [Wed, 23 Jan 2013 06:06:21 +0000 (06:06 +0000)]
Merge "Don't free anything when reporting leaks."

11 years agoMerge "Disable leak checking for mksh; it's way too leaky."
Elliott Hughes [Wed, 23 Jan 2013 06:05:18 +0000 (06:05 +0000)]
Merge "Disable leak checking for mksh; it's way too leaky."

11 years agoDon't free anything when reporting leaks.
Elliott Hughes [Wed, 23 Jan 2013 02:36:28 +0000 (18:36 -0800)]
Don't free anything when reporting leaks.

We don't know that they're not going to be cleaned up by a
C++ global destructor that runs after us. This is the case with
bootanimation, for example.

Bug: 7291287
Change-Id: Iba402514d1735fdc2ae4bc95b65396d816be46c0

11 years agoDisable leak checking for mksh; it's way too leaky.
Elliott Hughes [Wed, 23 Jan 2013 02:35:14 +0000 (18:35 -0800)]
Disable leak checking for mksh; it's way too leaky.

When each shell leaks ~240 allocations, you can't see the leaks from
the program you ran with "adb shell".

Bug: 7291287
Change-Id: Ib8780db72ba0114ebdb24768537da74bbb61f354

11 years agoMerge "Add const for first argument of sigismember for fit POSIX spec"
Elliott Hughes [Wed, 23 Jan 2013 01:11:28 +0000 (01:11 +0000)]
Merge "Add const for first argument of sigismember for fit POSIX spec"

11 years agoMerge "Our strcoll(3) is no different from NetBSD's, so take exactly theirs."
Elliott Hughes [Tue, 22 Jan 2013 23:19:35 +0000 (23:19 +0000)]
Merge "Our strcoll(3) is no different from NetBSD's, so take exactly theirs."

11 years agoOur strcoll(3) is no different from NetBSD's, so take exactly theirs.
Elliott Hughes [Tue, 22 Jan 2013 23:10:19 +0000 (15:10 -0800)]
Our strcoll(3) is no different from NetBSD's, so take exactly theirs.

Change-Id: I45251047202a229f9175735ecc23c0ebcda71e8d

11 years agoMerge "Avoid overflow in memccpy."
Elliott Hughes [Tue, 22 Jan 2013 22:53:53 +0000 (22:53 +0000)]
Merge "Avoid overflow in memccpy."

11 years agoAvoid overflow in memccpy.
Elliott Hughes [Tue, 22 Jan 2013 22:41:23 +0000 (14:41 -0800)]
Avoid overflow in memccpy.

Just take the upstream NetBSD code.

Bug: http://code.google.com/p/android/issues/detail?id=43078
Change-Id: Ibbbde9d00e8bc6a09c9503aab2b04b4e3d1f98b0

11 years agoMerge "Clean up debuggerd-related logging."
Elliott Hughes [Tue, 22 Jan 2013 22:37:27 +0000 (22:37 +0000)]
Merge "Clean up debuggerd-related logging."

11 years agoMerge "Use the new non-allocating logging for dlmalloc failures."
Elliott Hughes [Tue, 22 Jan 2013 22:26:35 +0000 (22:26 +0000)]
Merge "Use the new non-allocating logging for dlmalloc failures."

11 years agoUse the new non-allocating logging for dlmalloc failures.
Elliott Hughes [Tue, 22 Jan 2013 22:00:09 +0000 (14:00 -0800)]
Use the new non-allocating logging for dlmalloc failures.

Change-Id: I88afe0201ee5766a295fc5a9e710fba9d6e0d363

11 years agoClean up debuggerd-related logging.
Elliott Hughes [Tue, 22 Jan 2013 22:17:14 +0000 (14:17 -0800)]
Clean up debuggerd-related logging.

Bug: 7291287
Change-Id: Ia7aa386e8b75b8058d7d9e707e11b1da7dc62f00

11 years agoMerge "bionic_auxv.h: fix #define conflict"
Nick Kralevich [Tue, 22 Jan 2013 21:30:27 +0000 (21:30 +0000)]
Merge "bionic_auxv.h: fix #define conflict"

11 years agobionic_auxv.h: fix #define conflict
Nick Kralevich [Tue, 22 Jan 2013 21:09:04 +0000 (13:09 -0800)]
bionic_auxv.h: fix #define conflict

Both libc/include/sys/auxv.h and libc/private/bionic_auxv.h
use _SYS_AUXV_H_ to see if a header file has already been included.
This prevents both of these files from being included at the same
time.

Fix this name conflict.

Change-Id: Ifaec88aa9779d784b95f8e75145117acf3d5cfc5

11 years agoMerge "Add missing extern "C"."
Elliott Hughes [Tue, 22 Jan 2013 19:22:46 +0000 (19:22 +0000)]
Merge "Add missing extern "C"."

11 years agoAdd missing extern "C".
Elliott Hughes [Tue, 22 Jan 2013 19:20:45 +0000 (11:20 -0800)]
Add missing extern "C".

Change-Id: Idbf24ce8482ff03f24caa89bafb08677b1c5cec3

11 years agoMerge "Fix the duplication in the debugging code."
Elliott Hughes [Tue, 22 Jan 2013 17:44:15 +0000 (17:44 +0000)]
Merge "Fix the duplication in the debugging code."

11 years agoAdd const for first argument of sigismember for fit POSIX spec
Kito Cheng [Sat, 19 Jan 2013 16:15:15 +0000 (00:15 +0800)]
Add const for first argument of sigismember for fit POSIX spec

Change-Id: Icbc67375282f2a22dce02e4bacab15ddae846057

11 years agoFix the duplication in the debugging code.
Elliott Hughes [Fri, 18 Jan 2013 02:36:06 +0000 (18:36 -0800)]
Fix the duplication in the debugging code.

We had two copies of the backtrace code, and two copies of the
libcorkscrew /proc/pid/maps code. This patch gets us down to one.

We also had hacks so we could log in the malloc debugging code.
This patch pulls the non-allocating "printf" code out of the
dynamic linker so everyone can share.

This patch also makes the leak diagnostics easier to read, and
makes it possible to paste them directly into the 'stack' tool (by
using relative PCs).

This patch also fixes the stdio standard stream leak that was
causing a leak warning every time tf_daemon ran.

Bug: 7291287
Change-Id: I66e4083ac2c5606c8d2737cb45c8ac8a32c7cfe8

11 years agoMerge "Revert "Filter ANDROID_PROPERTY_WORKSPACE""
Nick Kralevich [Fri, 18 Jan 2013 20:50:40 +0000 (20:50 +0000)]
Merge "Revert "Filter ANDROID_PROPERTY_WORKSPACE""

11 years agoRevert "Filter ANDROID_PROPERTY_WORKSPACE"
Guang Zhu [Fri, 18 Jan 2013 07:25:24 +0000 (23:25 -0800)]
Revert "Filter ANDROID_PROPERTY_WORKSPACE"

Temporarily revert the change since DNS resolution seems
broken right now in ping util.

Bug: 8029617

This reverts commit a0f64756a4a55ab48b2b5511d4e7c45583dac44b.

11 years agoMerge "FORTIFY_SOURCE: optimize"
Nick Kralevich [Fri, 18 Jan 2013 00:49:35 +0000 (00:49 +0000)]
Merge "FORTIFY_SOURCE: optimize"

11 years agoMerge "Add functionlity to the scripts to replace tokens in kernel headers based...
Elliott Hughes [Fri, 18 Jan 2013 00:34:13 +0000 (00:34 +0000)]
Merge "Add functionlity to the scripts to replace tokens in kernel headers based on architecture."

11 years agoFORTIFY_SOURCE: optimize
Nick Kralevich [Thu, 17 Jan 2013 23:41:33 +0000 (15:41 -0800)]
FORTIFY_SOURCE: optimize

Don't do the fortify_source checks if we can determine, at
compile time, that the provided operation is safe.

This avoids silliness like calling fortify source on things like:

  size_t len = strlen("asdf");
  printf("%d\n", len);

and allows the compiler to optimize this code to:

  printf("%d\n", 4);

Defer to gcc's builtin functions instead of pointing our code
to the libc implementation.

Change-Id: I5e1dcb61946461c4afaaaa983e39f07c7a0df0ae

11 years agoAdd functionlity to the scripts to replace tokens in kernel headers
Raghu Gandham [Thu, 17 Jan 2013 00:42:47 +0000 (16:42 -0800)]
Add functionlity to the scripts to replace tokens in kernel headers
based on architecture.

11 years agoMerge "linker: add -Wl,--exclude-libs,ALL to LDFLAGS"
Nick Kralevich [Thu, 17 Jan 2013 16:41:31 +0000 (16:41 +0000)]
Merge "linker: add -Wl,--exclude-libs,ALL to LDFLAGS"

11 years agolinker: add -Wl,--exclude-libs,ALL to LDFLAGS
Nick Kralevich [Thu, 17 Jan 2013 00:43:15 +0000 (16:43 -0800)]
linker: add -Wl,--exclude-libs,ALL to LDFLAGS

The linker is essentially a shared library, and incorporates
it's own copy of libc. Even though it's unnecessary, currently
/system/bin/linker is exporting various libc symbols (only to
apps which explicitly dlopen /system/bin/linker)

Add --exclude-libs,ALL, which tells the static linker to mark
all of the imported libc symbols as hidden. This reduces the
size of /system/bin/linker from 92K to 67K with no obvious
loss in functionality.

  $ adb shell ls -l /system/bin/linker
  -rwxrwxrwx root     root        92260 2013-01-16 16:52 linker

  $ adb shell ls -l /system/bin/linker
  -rwxrwxrwx root     root        67660 2013-01-16 16:49 linker

Documentation on exclude-libs can be found at
http://sourceware.org/binutils/docs-2.21/ld/Options.html

Change-Id: I4508287770e4b7a845def2e6b4af969f9c866c6a

11 years agoMerge "Revert "stack protector: use AT_RANDOM""
Nick Kralevich [Wed, 16 Jan 2013 21:36:53 +0000 (21:36 +0000)]
Merge "Revert "stack protector: use AT_RANDOM""

11 years agoRevert "stack protector: use AT_RANDOM"
Nick Kralevich [Wed, 16 Jan 2013 21:13:22 +0000 (13:13 -0800)]
Revert "stack protector: use AT_RANDOM"

The AT_RANDOM changes broke setuid / setgid executables
such as "ping". When the linker executes a setuid program,
it cleans the environment, removing any invalid environment
entries, and adding "NULL"s to the end of the environment
array for each removed variable. Later on, we try to determine
the location of the aux environment variable, and get tripped
up by these extra NULLs.

Reverting this patch will get setuid executables working again,
but getauxval() is still broken for setuid programs because of
this bug.

This reverts commit e3a49a8661125f24aec8a1453e54b3b78005e21e.

Change-Id: I05c58a896b1fe32cfb5d95d43b096045cda0aa4a

11 years agoMerge "stack protector: use AT_RANDOM"
Nick Kralevich [Wed, 16 Jan 2013 19:23:25 +0000 (11:23 -0800)]
Merge "stack protector: use AT_RANDOM"

11 years agoMerge "Filter ANDROID_PROPERTY_WORKSPACE"
Nick Kralevich [Wed, 16 Jan 2013 19:11:17 +0000 (11:11 -0800)]
Merge "Filter ANDROID_PROPERTY_WORKSPACE"

11 years agostack protector: use AT_RANDOM
Nick Kralevich [Mon, 14 Jan 2013 22:46:26 +0000 (14:46 -0800)]
stack protector: use AT_RANDOM

Populate the stack canaries from the kernel supplied
AT_RANDOM value, which doesn't involve any system calls.
This is slightly faster (6 fewer syscalls) and avoids
unnecessarily reading /dev/urandom, which depletes entropy.

Bug: 7959813

Change-Id: If2b43100a2a9929666df3de56b6139fed969e0f1

11 years agoMerge "Fix signalfd for MIPS."
Elliott Hughes [Wed, 16 Jan 2013 17:42:51 +0000 (09:42 -0800)]
Merge "Fix signalfd for MIPS."

11 years agoFix signalfd for MIPS.
Elliott Hughes [Wed, 16 Jan 2013 17:34:16 +0000 (09:34 -0800)]
Fix signalfd for MIPS.

Also mark signalfd's sigset_t* argument as non-nullable.

Change-Id: I466e09cdf3fb92480744c496da92274a97f99dd1

11 years agoarm syscall : for eabi call_default don't use stack
Matthieu Castet [Wed, 16 Jan 2013 13:02:50 +0000 (14:02 +0100)]
arm syscall : for eabi call_default don't use stack

In the default case, we don't need to use the stack, we can save r7 with
ip register (that what does eglibc).

This allow to fix vfork data corruption
(see 3884bfe9661955543ce203c60f9225bbdf33f6bb), because vfork now don't
use the stack.

11 years agoFilter ANDROID_PROPERTY_WORKSPACE
Nick Kralevich [Wed, 16 Jan 2013 00:02:03 +0000 (16:02 -0800)]
Filter ANDROID_PROPERTY_WORKSPACE

When executing a setuid executable, filter out ANDROID_PROPERTY_WORKSPACE
from the environment. Some applications implicitly trust the property
space and don't realize that it's passed by an environment variable
which can be modified by the caller.

Change-Id: I3e3a98941f0a1f249a2ff983ecbcfe1278aa9159

11 years agoMerge "Revert "DO NOT MERGE Revert "Add the libcutils localtime_tz and mktime_t exten...
Elliott Hughes [Tue, 15 Jan 2013 21:21:51 +0000 (13:21 -0800)]
Merge "Revert "DO NOT MERGE Revert "Add the libcutils localtime_tz and mktime_t extensions to bionic."""