Commit Graph

6469 Commits

Author SHA1 Message Date
Elliott Hughes
c13fb75cea Move bionic over to GCC's 'warning' attribute.
This is a better solution than the old __warn_references because it's
a compile-time rather than link-time warning, it doesn't rely on something
that doesn't appear to be supported by gold (which is why you only used
to see these warnings on mips builds), and the errors refer to the exact
call site(s) rather than just telling you which object file contains a
reference to the bad function.

This is primarily so we can build bionic for aarch64; building libc.so
caused these warnings to fire (because link time is the wrong time) and
warnings are errors.

Change-Id: I5df9281b2a9d98b164a9b11807ea9472c6faa9e3
2013-12-17 20:43:30 -08:00
Elliott Hughes
22013ac4f0 am f293b157: Merge "AArch64: Linker64 support for AArch64"
* commit 'f293b15728031432317791fb4a17a423545d37b3':
  AArch64: Linker64 support for AArch64
2013-12-17 15:11:57 -08:00
Elliott Hughes
f293b15728 Merge "AArch64: Linker64 support for AArch64" 2013-12-17 23:06:49 +00:00
Marcus Oakland
e365f9d654 AArch64: Linker64 support for AArch64
Addition of support for AArch64 in the linker64 target.

Change-Id: I8dfd9711278f6706063e91f626b6007ea7a3dd6e
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
2013-12-17 15:02:43 -08:00
Ken Mixter
4fae14f333 Properly detect timeout in pthread_mutex_lock_timeout_np_impl
Previously we were checking against a positive errno which
would not be returned from a system call.

Change-Id: I8e3a36f6fbf5ccc2191a152a1def37e2d6f93124
2013-12-17 14:26:01 -08:00
Elliott Hughes
a2573d956b am 2e3826c0: Merge "AArch64: Add fixes to bionic/tests"
* commit '2e3826c08171ead1647c800a0a6d9c333d335762':
  AArch64: Add fixes to bionic/tests
2013-12-16 17:45:38 -08:00
Elliott Hughes
2e3826c081 Merge "AArch64: Add fixes to bionic/tests" 2013-12-17 01:41:08 +00:00
Serban Constantinescu
282e232e2a AArch64: Add fixes to bionic/tests
This patch adds minor fixes to the bionic unit tests.

Change-Id: Ie10f33c631ed6c10987923d678711d22931ddb05
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-12-16 17:40:30 -08:00
Elliott Hughes
5f0cc63a25 am 4e78ca63: Merge "AArch64: Initial AArch64 port of libm"
* commit '4e78ca63b8d53b96c590d3f1b29b0cfb65a651bc':
  AArch64: Initial AArch64 port of libm
2013-12-16 17:09:32 -08:00
Elliott Hughes
4e78ca63b8 Merge "AArch64: Initial AArch64 port of libm" 2013-12-17 01:06:16 +00:00
Serban Constantinescu
1c4f101a9b AArch64: Initial AArch64 port of libm
This patch adds intial support for AArch64 to bionic's libm.

Change-Id: I9ae0f895bbdd7fe67815e6ca1ead627581163a27
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-12-16 17:05:37 -08:00
Elliott Hughes
1a92f73999 am c858b567: Merge "AArch64: Add initial support for AArch64"
* commit 'c858b567ad20efa86652ffed7b7427a2c77709bd':
  AArch64: Add initial support for AArch64
2013-12-16 17:04:58 -08:00
Elliott Hughes
c858b567ad Merge "AArch64: Add initial support for AArch64" 2013-12-17 01:01:02 +00:00
Serban Constantinescu
e210488e0d AArch64: Add initial support for AArch64
This is the first patch out of a series of patches that add support for
AArch64, the new 64bit execution state of the ARMv8 Architecture. The
patches add support for LP64 programming model.

The patch adds:
* "arch-aarch64" to the architecture directories.
* "arch-aarch64/include" - headers used by libc
* "arch-aarch64/bionic":
    - crtbegin, crtend support;
    - aarch64 specific syscall stubs;
    - setjmp, clone, vfork assembly files.

Change-Id: If72b859f81928d03ad05d4ccfcb54c2f5dbf99a5
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-12-16 17:00:22 -08:00
Elliott Hughes
fa60474039 am db718023: Merge "AArch64: Add support for AArch64 atomic operations"
* commit 'db7180233f4c81799660011c968ebd97aaa6d4d7':
  AArch64: Add support for AArch64 atomic operations
2013-12-16 13:15:49 -08:00
Elliott Hughes
db7180233f Merge "AArch64: Add support for AArch64 atomic operations" 2013-12-16 21:09:57 +00:00
Serban Constantinescu
1924a5c92e AArch64: Add support for AArch64 atomic operations
This patch adds support for AArch64 atomic operations. Some
of the stubs use the lightweight store/load exclusive.

Change-Id: Iaf704d048b2dc15bf08cf8e4f0c3ea9f2052fe13
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-12-16 13:09:33 -08:00
Elliott Hughes
07fa38dad6 am 3937d415: Merge "Fix typo."
* commit '3937d41561206430373c4b3e0690d6f81b536412':
  Fix typo.
2013-12-16 13:08:44 -08:00
Elliott Hughes
3937d41561 Merge "Fix typo." 2013-12-16 21:03:19 +00:00
Elliott Hughes
4c186ffb83 Fix typo.
Change-Id: I85157a6b2056b6c17cae193200960b8cae3cb3b3
2013-12-16 13:02:49 -08:00
Elliott Hughes
e810137214 am 341b55a1: Merge "Clean up the pthread-only atomic stuff a little."
* commit '341b55a1e675396829aeb56a8771855d5ee6e18d':
  Clean up the pthread-only atomic stuff a little.
2013-12-16 10:25:47 -08:00
Elliott Hughes
341b55a1e6 Merge "Clean up the pthread-only atomic stuff a little." 2013-12-16 18:21:01 +00:00
Elliott Hughes
2b333b97a2 Clean up the pthread-only atomic stuff a little.
It looks like we can probably just use the generic GCC stuff instead;
the generated code looks pretty similar. We should come back to that.

These routines are only used by the pthread implementation, and
__bionic_atomic_inc isn't used, so we can remove it.

Change-Id: I8b5b8cb30a1b159f0e85c3675aee06ddef39b429
2013-12-16 10:18:11 -08:00
Elliott Hughes
6d4e8c1ea0 am 003be710: Merge "Clean up some ARMv4/ARMv5 cruft."
* commit '003be7104b5cb075632b0ff98d8ab4d3d182ed8c':
  Clean up some ARMv4/ARMv5 cruft.
2013-12-13 15:46:52 -08:00
Elliott Hughes
003be7104b Merge "Clean up some ARMv4/ARMv5 cruft." 2013-12-13 23:42:21 +00:00
Elliott Hughes
c54ca40aef Clean up some ARMv4/ARMv5 cruft.
Change-Id: I29e836fea4b53901e29f96c6888869c35f6726be
2013-12-13 14:02:30 -08:00
Joshua J. Drake
063a572e6b Fix backwards compatible system property structure
The original structure included four reserved 32-bit values. This
change adds these back into the structure so that the
__system_property_find_compat function will (again) process the system
properties correctly.
2013-12-13 13:56:39 -06:00
Elliott Hughes
664b1d46d8 am 8623bf7b: Merge "Make <sys/param.h> more glibc-like."
* commit '8623bf7b4da802ee56618f575e92290499011df9':
  Make <sys/param.h> more glibc-like.
2013-12-12 15:44:39 -08:00
Christopher Ferris
7dfd8ae134 am 513d2770: Merge "Add ioprio.h."
* commit '513d2770deebee15fd2d90bf8228050ff71dba5b':
  Add ioprio.h.
2013-12-12 15:41:02 -08:00
Elliott Hughes
8623bf7b4d Merge "Make <sys/param.h> more glibc-like." 2013-12-12 23:38:25 +00:00
Christopher Ferris
513d2770de Merge "Add ioprio.h." 2013-12-12 23:35:42 +00:00
Elliott Hughes
c2f082f655 Make <sys/param.h> more glibc-like.
In particular, add MAX and MIN, needed by elfutils.

Bug: 11864683
Change-Id: I1b876732cdf68cdf5b930319e5ef5b5647586718
2013-12-12 15:31:35 -08:00
Christopher Ferris
802a0a7285 Add ioprio.h.
Change-Id: I153d05c5b6e9d640e319d65acb48b9cb12b6dafb
2013-12-12 15:23:22 -08:00
Elliott Hughes
2894204db4 am 5aad083f: Merge "PTHREAD_KEYS_MAX cleanup."
* commit '5aad083f3de0bbcc0ffb1fecb688fbbe5abe5214':
  PTHREAD_KEYS_MAX cleanup.
2013-12-12 12:57:00 -08:00
Elliott Hughes
5aad083f3d Merge "PTHREAD_KEYS_MAX cleanup." 2013-12-12 20:51:50 +00:00
Elliott Hughes
1887621de8 PTHREAD_KEYS_MAX cleanup.
I fixed this bug a while back, but didn't remove it from the list,
could have added a better test, and could have written clearer code
that didn't require a comment.

Change-Id: Iebdf0f9a54537a7d5cbca254a5967b1543061f3d
2013-12-12 12:51:08 -08:00
Elliott Hughes
bce693ebe0 am 97e0c1dd: Merge "Fix debugging issues in vdso handling"
* commit '97e0c1dd5a7c5517c19770e47672e216a8b64c66':
  Fix debugging issues in vdso handling
2013-12-12 11:25:26 -08:00
Elliott Hughes
97e0c1dd5a Merge "Fix debugging issues in vdso handling" 2013-12-12 19:19:22 +00:00
Pavel Chupin
5407eed84b Fix debugging issues in vdso handling
Under valgrind ehdr_vdso is null and causing segfault.
Adding debug info for vdso producing plenty of issues on debugging
through gdbserver, removing it. It doesn't seem it should be here.

Unwinding through vdso test still works.

Change-Id: I1a7e233c493f2268d725fa8d7279822d07decc49
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-12-12 11:18:46 -08:00
Elliott Hughes
1336cd6d77 am 38fcbbb3: Merge "AArch64: Fix mmap64() definition for AArch64, X86_64"
* commit '38fcbbb35a40c46e96b4df10d670d1c132910854':
  AArch64: Fix mmap64() definition for AArch64, X86_64
2013-12-12 10:50:21 -08:00
Elliott Hughes
38fcbbb35a Merge "AArch64: Fix mmap64() definition for AArch64, X86_64" 2013-12-12 18:43:43 +00:00
Serban Constantinescu
ed76a9361c AArch64: Fix mmap64() definition for AArch64, X86_64
For 64bit Architectures mmap() is equivalent to mmap64(). This patch
maps mmap64() to mmap() in a similar way to other syscalls that differ
based on the size of off_t and off64_t

Change-Id: If21b21ef71120bad23d9a608d02d4a7de5220a87
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-12-12 10:41:52 -08:00
Elliott Hughes
5362e8d232 am 7bd08153: Merge "Remove harmful attempts to be helpful in pthread_mutex functions."
* commit '7bd0815371c9bd803ee4ca0981b911b99efd2454':
  Remove harmful attempts to be helpful in pthread_mutex functions.
2013-12-11 15:51:48 -08:00
Elliott Hughes
7bd0815371 Merge "Remove harmful attempts to be helpful in pthread_mutex functions." 2013-12-11 23:46:05 +00:00
Elliott Hughes
dff7203ee9 Remove harmful attempts to be helpful in pthread_mutex functions.
Most callers won't check for EINVAL, so it's best to fail early.
GCC takes the nonnull attribute as a guarantee that an argument
won't be NULL, so these hacks were already ineffective, which is
how we found that at least one commercial game was using NULL
as if it's a mutex, but actually getting no-op behavior.

Bug: 11971278
Change-Id: I89646e043d931778805a8b692e07a34d076ee6bf
2013-12-11 14:54:00 -08:00
Elliott Hughes
200fcb26d2 am 73ef27cd: Merge "Clarify a comment."
* commit '73ef27cd0de0c6b7d4f6bc9c2250dbae3f0a88c3':
  Clarify a comment.
2013-12-11 14:01:22 -08:00
Elliott Hughes
73ef27cd0d Merge "Clarify a comment." 2013-12-11 21:56:39 +00:00
Elliott Hughes
960ee37f2a Clarify a comment.
Change-Id: Iad2e33fb059170f808023ce3d17e9b8c13191f42
2013-12-11 12:41:54 -08:00
Robert Greenwalt
f2e4f8fd6f am 2e359155: Merge "Fix dns search domain use in gethostbyname."
* commit '2e3591557f4a382e441ee2d60614d616b5acb434':
  Fix dns search domain use in gethostbyname.
2013-12-11 11:38:22 -08:00
Robert Greenwalt
2e3591557f Merge "Fix dns search domain use in gethostbyname." 2013-12-11 19:32:37 +00:00