Commit Graph

6434 Commits

Author SHA1 Message Date
Elliott Hughes
a122c376ef Merge "Use __inline__ for fortify." 2014-02-03 23:55:14 +00:00
Elliott Hughes
8d60cc6316 Use __inline__ for fortify.
libunwind has #define inline /* empty */ which breaks our fortified headers.
glibc uses __inline but our BSD-derived headers often override that. __inline__
is the third alternative understood by GCC that -- as far as I know -- neither
the C library itself nor third-party code tries to mess with.

Bug: 12871594
Change-Id: I6677e70ea531bb7d4c46021b43af760d4ad8ecf7
2014-02-03 15:41:57 -08:00
Arve Hjønnevåg
fb4da1e7b7 Merge "Regenerate binder header" 2014-02-03 21:13:23 +00:00
Elliott Hughes
ed29345c22 Merge "Clean up debugger.cpp slightly." 2014-02-01 01:31:12 +00:00
Elliott Hughes
62e9c76ee8 Clean up debugger.cpp slightly.
In particular, don't do weird things with 'int tid'.

Change-Id: I0fd9158a452967163508ada8987de9494ad5f9af
2014-01-31 17:27:00 -08:00
Elliott Hughes
4939d6d842 Merge "LP64 binaries should talk to debuggerd64." 2014-02-01 01:00:34 +00:00
Elliott Hughes
f858bd1c6e LP64 binaries should talk to debuggerd64.
Change-Id: I7eb30f9d04f80b6b45d3148757970d3f1117493c
2014-01-31 16:56:39 -08:00
Elliott Hughes
47ff6b9faa Merge "Add missing ucontext_t definition to bionic for arch-arm64." 2014-01-31 18:51:36 +00:00
Elliott Hughes
a14df4a98a Merge "[MIPS] SA_RESTORER support is not needed for MIPS" 2014-01-31 06:20:45 +00:00
Ross McIlroy
7b95807fa0 Add missing ucontext_t definition to bionic for arch-arm64.
Change-Id: I1ee15230c63e00f01d2063cfffcffe7f1a1eeb6a
2014-01-31 04:45:53 +00:00
Chris Dearman
46f3db6bb8 [MIPS] SA_RESTORER support is not needed for MIPS
Change-Id: I1c000c94973e811193c80c9770da4f3157594f90
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Duane Sand <duane.sand@imgtec.com>
2014-01-30 20:39:53 -08:00
Elliott Hughes
07f8402552 Merge "Make ARM <user.h> more glibc-compatible." 2014-01-30 18:42:00 +00:00
Elliott Hughes
3614424e10 Make ARM <user.h> more glibc-compatible.
Change-Id: I681930ad7f80a5e7bc40eb0f36872e415445f0f9
2014-01-30 10:39:02 -08:00
Elliott Hughes
53a55c121b Merge "Add mips <sys/ucontext.h>." 2014-01-30 02:43:51 +00:00
Elliott Hughes
02c661b883 Add mips <sys/ucontext.h>.
Change-Id: I2821f523f0c3bb4400b2ad5d36e21e5a3d6d777c
2014-01-29 18:37:15 -08:00
Elliott Hughes
807bbb75f1 Merge "Add arm <sys/ucontext.h>." 2014-01-30 02:03:57 +00:00
Elliott Hughes
4e72fcc3c2 Add arm <sys/ucontext.h>.
Change-Id: I14d435f9e3e82f77d8a7e886ff88c18f5d09d14a
2014-01-29 17:53:59 -08:00
Elliott Hughes
8f35527592 Merge "Add x86 <sys/ucontext.h>." 2014-01-30 00:58:09 +00:00
Elliott Hughes
677a07cb9a Add x86 <sys/ucontext.h>.
Change-Id: I43e72604f7a932f134733b78094b577415a5edb7
2014-01-29 16:46:00 -08:00
Elliott Hughes
972c39c4fe Merge "Add x86_64 ucontext.h for better compatibility" 2014-01-29 23:41:22 +00:00
Pavel Chupin
e61d106008 Add x86_64 ucontext.h for better compatibility
As suggested here: https://android-review.googlesource.com/#/c/71267/
it may be used for x86_64 libunwind enabling.

Change-Id: I21623261a48ea7099e030d33932556e294d226ff
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-01-29 15:35:33 -08:00
Arve Hjønnevåg
fbaa254016 Regenerate binder header
Adds 64 bit support

Change-Id: I6db3c4f68bf2c337bff753599af193e2b062ec05
2014-01-28 19:29:46 -08:00
Elliott Hughes
037b10d05a Merge "Fix pthread_test to work with gtest 1.7.0." 2014-01-29 01:42:10 +00:00
Elliott Hughes
718a5b5495 Fix pthread_test to work with gtest 1.7.0.
Now we're building it correctly configured, gtest takes a couple of
TLS slots for itself.

Change-Id: I1c2c4e9e5f9c6e2e2e6ecd1214cfc16a5af5afed
2014-01-28 17:02:03 -08:00
Elliott Hughes
c75e7726ea Merge "Remove a __system_property_get call from the DNS code." 2014-01-28 23:00:05 +00:00
Elliott Hughes
908e8c24ab Remove a __system_property_get call from the DNS code.
Change-Id: I48082ad9eb1b56349c6746ab2c371728c8571a81
2014-01-28 14:54:11 -08:00
Elliott Hughes
4ea434e5d2 Merge "bionic: Change the type of soinfo's size to size_t" 2014-01-28 21:04:04 +00:00
Weiwu Chen
5ceb889ac9 bionic: Change the type of soinfo's size to size_t
Some system functions like munmap expect soinfo's size to be size_t, but currently
it is unsigned. Change it to size_t to fit 64bit's portability.

Change-Id: I0bf6d522b38b0cd9bf1db05b004b5326217412a2
Signed-off-by: Weiwu Chen <weiwu.chen@intel.com>
Signed-off-by: Qiming Shi <qiming.shi@intel.com>
2014-01-28 11:54:01 -08:00
Elliott Hughes
4449fe9675 Merge "Fix 32-bit mmap/mmap64 handling of negative offsets." 2014-01-28 00:58:51 +00:00
Elliott Hughes
431166d995 Fix 32-bit mmap/mmap64 handling of negative offsets.
We don't actually need to worry about sign extension if we reject
negative values ourselves. Previously it was possible to come up
with negative but aligned values that we would pass to the kernel;
in the case of mmap (as opposed to mmap64) we'd incorrectly turn
those into large positive offsets.

Change-Id: I2aa583e0f892d59bb77429aea8730b72db32dcb0
2014-01-27 16:36:56 -08:00
Elliott Hughes
652dd5196d Merge "Remove libthread_db from bionic." 2014-01-28 00:24:57 +00:00
Elliott Hughes
d373d0c038 Remove libthread_db from bionic.
The NDK statically links its own copy into gdb.

Bug: 11882807
Change-Id: I0c7ed8761c32df3cc3644258551bc7d2e263f47b
2014-01-27 15:45:06 -08:00
Elliott Hughes
ba0c668fec Merge "bionic: Do not use magic number for portability" 2014-01-27 22:52:07 +00:00
Qiming Shi
4041b13c20 bionic: Do not use magic number for portability
Do not use the magic number 0xFFFFFFFFU to represent the max value of an address
as it's not correct on 64bit platform. We should use UINTPTR_MAX instead.

Change-Id: I1fc6f5864a651b2eddea2333cb0788f9d9223270
Signed-off-by: Qiming Shi <qiming.shi@intel.com>
Signed-off-by: Weiwu Chen <weiwu.chen@intel.com>
2014-01-27 14:51:07 -08:00
Elliott Hughes
6f23ce36ce Merge "Remove __STDC_FORMAT_MACROS and __STDC_LIMIT_MACROS guards (and fix SIZE_MAX for LP64)." 2014-01-25 01:25:16 +00:00
Ying Wang
b32cc03203 Merge "Use arch-specific variable to set up the x86 ld flags." 2014-01-25 00:50:54 +00:00
Ying Wang
1682c63d77 Use arch-specific variable to set up the x86 ld flags.
Bug: 11654773
Change-Id: I9e9075bac1303cfa39b0f717dd74625ce1dd5fa5
2014-01-24 16:50:16 -08:00
Elliott Hughes
e2a292d278 Remove __STDC_FORMAT_MACROS and __STDC_LIMIT_MACROS guards (and fix SIZE_MAX for LP64).
The various committees decided that everyone should get all these macros,
all the time.

Bug: 12708004
Change-Id: Ib56010dcba9b0656e5701546fefb7f78dc0bf916
2014-01-24 16:38:07 -08:00
Ben Cheng
5acce960f4 Merge "Add all implicitly loaded symbols from libgcc.a into libgcc_compat.c." 2014-01-25 00:13:10 +00:00
Ben Cheng
62ffe14a7e Add all implicitly loaded symbols from libgcc.a into libgcc_compat.c.
Change-Id: I0e66a73e849a01817d016a688d7291c2fb604e48
2014-01-24 15:20:11 -08:00
Colin Cross
513f83bb7f Merge "bionic: rename aarch64 target to arm64" 2014-01-24 20:33:23 +00:00
Ben Cheng
69d242d21c Merge "Re-export libgcc's __aeabi_uidivmod and __popcount_tab" 2014-01-24 18:11:48 +00:00
Bernhard Rosenkränzer
f38fb19d9d Re-export libgcc's __aeabi_uidivmod and __popcount_tab
This is required to make the Nexus 10 graphics driver work on a system
compiled with gcc 4.9.

Change-Id: If3f3d488652a736d9ea3e583548d74fae3ffa902
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
2014-01-24 12:57:13 +01:00
Colin Cross
d1973ca513 bionic: rename aarch64 target to arm64
Rename aarch64 build targets to arm64.  The gcc toolchain is still
aarch64.

Change-Id: Ia92d8a50824e5329cf00fd6f4f92eae112b7f3a3
2014-01-23 18:35:39 -08:00
Elliott Hughes
5b4884fac9 Merge "Add "__noreturn" to assert and assert2" 2014-01-15 21:26:47 +00:00
Vadim Markovtsev
323d4b6f68 Add "__noreturn" to assert and assert2
These functions should print assertion violation messages and then
call abort(). They do really not return control flow afterwards.
Consider the declaration of the similar __assert_fail from glibc:

extern void __assert_fail (const char *__assertion,
                           const char *__file,
			   unsigned int __line,
                           const char *__function)
     __THROW __attribute__ ((__noreturn__));

Bionic has __noreturn defined in sys/cdefs.h to be that GNU
noreturn attribute.

This patch has a practical value. Consider the following function:

void check(void* ptr) {
  assert(ptr != NULL);
}

Without this patch applied, gcc (and presumably clang) shows even in
debug mode:

warning: unused parameter 'ptr' [-Wunused-parameter]

In release mode, NDEBUG is defined and assert() becomes a no-op, as
one should expect. Thus, the warning is shown correctly then.

Another code sample:

float array[2];
int i = 3;
...
assert(i < 2);
array[i] = 0;

gcc says,

warning: array subscript is below array bounds [-Warray-bounds]

In other words, without noreturn attribute, assertions do not
allow a compiler's static analyzer to properly understand
the preconditions.

Change-Id: I3be92e99787c528899cf243ed448c4730c00c45b
Signed-off-by: Vadim Markovtsev <gmarkhor@gmail.com>
2014-01-15 07:32:52 +00:00
Elliott Hughes
12159420e1 Merge "Fix libdl build warnings, turn on -Werror." 2014-01-15 02:33:34 +00:00
Elliott Hughes
c8d412637a Merge "Move _thread_created_hook to where it belongs." 2014-01-15 02:32:47 +00:00
Elliott Hughes
7ac975146e Fix libdl build warnings, turn on -Werror.
Change-Id: I71c39b77ac1e9a92482ce71a829449100945ec86
2014-01-14 17:25:13 -08:00
Elliott Hughes
af8aebebb5 Move _thread_created_hook to where it belongs.
Change-Id: I643d761c78ccaae25270aeffa2afb811c4e2fcd7
2014-01-14 17:16:18 -08:00