Commit Graph

3933 Commits

Author SHA1 Message Date
Calin Juravle
8ddc3328f8 am 11e4513d: am d51db86a: Merge "Fix locatime.c indentation after sync"
* commit '11e4513d328d9ae16ef5aa4b25d886c8bb6049a1':
  Fix locatime.c indentation after sync
2014-02-28 18:13:28 +00:00
Calin Juravle
d51db86aaf Merge "Fix locatime.c indentation after sync" 2014-02-28 18:02:22 +00:00
Calin Juravle
daceb01b7c am 3926e9f4: am 4ab29a3e: Merge "Update tzcode to 2013i"
* commit '3926e9f4039929d745692310a8a458e81ae72a52':
  Update tzcode to 2013i
2014-02-28 17:49:53 +00:00
Calin Juravle
4ab29a3e4a Merge "Update tzcode to 2013i" 2014-02-28 17:40:09 +00:00
Calin Juravle
d892892e8e Fix locatime.c indentation after sync
Bug: 12246757
Change-Id: I8186e75f4899161af48cbf66e8f907dac0a326a2
2014-02-28 17:15:00 +00:00
Elliott Hughes
77ed5f6b15 am 8fa8b75b: am e9db4a97: Merge "Vastly reduce the number of read(2)s done in tzload."
* commit '8fa8b75b54990cdabbfa108b92ace9cf511d45c0':
  Vastly reduce the number of read(2)s done in tzload.
2014-02-28 16:35:04 +00:00
Calin Juravle
bd33537fde Renamed the misleading libc/netbsd directory to libc/dns.
Bug: 13219633
Change-Id: Ide43add0b90b3081cc709a22d1ff1f59d65f1104
2014-02-28 16:31:04 +00:00
Calin Juravle
627d37cd1f Update tzcode to 2013i
Bug: 12246757
Change-Id: I3d5d2318155b1f54ef80afd58b1e5ca9a6d7018e
2014-02-28 14:38:14 +00:00
Elliott Hughes
034663774d am 331dd270: am e3345405: Merge "Fix a leak on error in tzload."
* commit '331dd2708232fb538de60e5aa807bbd4490910f7':
  Fix a leak on error in tzload.
2014-02-28 02:28:44 +00:00
Elliott Hughes
fd3a9fb0c3 Vastly reduce the number of read(2)s done in tzload.
This costs us about 1000 fewer syscalls, which makes "adb shell strace date"
a lot more readable (which is the reason I've been meaning to fix this for a
long time now), but also actually saves a measurable amount of time.

Longer-term we should try to keep the tzdata mmap(2)ed in like libcore
does.

Change-Id: I1dd9c81968a13d3a6a55ba17f8a7d5c1f38cd103
2014-02-27 18:18:25 -08:00
Elliott Hughes
3073f90b17 Fix a leak on error in tzload.
Change-Id: Ib5d9aaa7a618e478ce8e5e82f967cf535bb1a5a3
2014-02-27 17:04:38 -08:00
Guillaume Ranquet
6ff0c75c83 Add recvmmsg and sendmmsg syscalls.
Also add the corresponding constant, struct, and function declarations
to <sys/socket.h>, and perfunctory tests so we know that the symbols
actually exist.

Signed-off-by: Guillaume Ranquet <guillaumex.ranquet@intel.com>
Change-Id: Ib0d854239d3716be90ad70973c579aff4895a4f7
2014-02-27 14:29:01 -08:00
Elliott Hughes
a22674050c am 9d40389a: am 000ffd8a: Merge "Ensure that <fcntl.h> has the SYNC_FILE_RANGE_* constants."
* commit '9d40389ac288a603632de35beed7460ea3300e0c':
  Ensure that <fcntl.h> has the SYNC_FILE_RANGE_* constants.
2014-02-27 01:04:25 +00:00
Elliott Hughes
000ffd8ab0 Merge "Ensure that <fcntl.h> has the SYNC_FILE_RANGE_* constants." 2014-02-27 00:52:36 +00:00
Mark Salyzyn
ffc797c3b8 am 663916f7: am 3ba62f73: Merge "libc: Make calls to new user-space logger"
* commit '663916f77747297e36dbc2b0f25192f3fa05ab9f':
  libc: Make calls to new user-space logger
2014-02-27 00:41:33 +00:00
Elliott Hughes
3434727b3e Ensure that <fcntl.h> has the SYNC_FILE_RANGE_* constants.
Needed to build strace at their tip of tree.

Change-Id: I64db00a332088e08e25bc30357293a9308b8a226
2014-02-26 15:51:01 -08:00
Mark Salyzyn
0336e35368 libc: Make calls to new user-space logger
* libc (fatal) logging now makes socket connection to the
  user-space logging service.
* Add a TARGET_USES_LOGD make flag for BoardConfig.mk to manage
  whether logd is enabled for use or not.

Change-Id: I96ab598c76d6eec86f9d0bc81094c1fb3fb0d9b4
2014-02-26 15:33:13 -08:00
Elliott Hughes
3fc5dce69e am ddcba6e8: am 27c7dbee: Merge "Fix log_backtrace assertion failure caused by LP64 fix."
* commit 'ddcba6e8eefb4331b103f60b2d233a2cb114874f':
  Fix log_backtrace assertion failure caused by LP64 fix.
2014-02-25 23:45:51 +00:00
Elliott Hughes
2388fd78c6 am 73efa96c: am 901553aa: Merge "Switch to current OpenBSD system.c."
* commit '73efa96c06b60621dbb7317e3ade47e4a179c909':
  Switch to current OpenBSD system.c.
2014-02-25 23:32:29 +00:00
Elliott Hughes
ba76572789 Fix log_backtrace assertion failure caused by LP64 fix.
When libc.debug.malloc is enabled, stack backtraces fail with:

bionic/libc/bionic/libc_logging.cpp:378: assertion "conversion
    specifier unsupported" failed

The cause was a change to the format specifier from "%08x" to
"%0*x" to pass the field width as an additional parameter.
Unfortunately this modifier isn't supported by out_vformat() in
libc_logging.cpp.

Changed to use "%016x" if __LP64__ is defined; "%08x" otherwise.

Bug: 13177507
Change-Id: Ibf07263acf14da086d3c3788872f4b5477bd5708
2014-02-25 15:32:01 -08:00
Elliott Hughes
4e95b270f3 am 6c793540: am c380385f: Merge "Fix LP64 builds after OpenBSD string changes."
* commit '6c7935408ed92bbc322468f13e19c08c626cd018':
  Fix LP64 builds after OpenBSD string changes.
2014-02-25 23:28:49 +00:00
Elliott Hughes
1e4378ea06 Switch to current OpenBSD system.c.
Change-Id: Ie2df60f0d55dca69149ffe064f10183411407987
2014-02-25 15:19:26 -08:00
Elliott Hughes
b6208836cb Fix LP64 builds after OpenBSD string changes.
Change-Id: I07202f6484e716d153d0387fcfc023e119438251
2014-02-25 15:12:29 -08:00
Elliott Hughes
806f3bd7aa Upgrade to tzdata2013i.
From the release notes:

  Changes affecting near-future time stamps:

    Jordan switches back to standard time at 00:00 on December 20, 2013.
    The 2006-2011 transition schedule is planned to resume in 2014.
    (Thanks to Steffen Thorsen.)

  Changes affecting past time stamps:

    In 2004, Cuba began DST on March 28, not April 4.
    (Thanks to Steffen Thorsen.)

Bug: 13193205
Change-Id: I8f26cc50f6b571804a18ff2113b4a47a22bc56dd
2014-02-25 22:47:29 +00:00
Elliott Hughes
d19de168c8 am 6358fc2d: am 5c7816f4: Merge "More OpenBSD cleanup (primarily string)."
* commit '6358fc2d0b11417ccabd97b36b8e24f1b23fd662':
  More OpenBSD cleanup (primarily string).
2014-02-25 21:54:13 +00:00
Elliott Hughes
5c7816f425 Merge "More OpenBSD cleanup (primarily string)." 2014-02-25 21:41:48 +00:00
Calin Juravle
51c25e1dc5 am 5a600f59: am a92b57c7: Merge "Added ftw64, nftw64"
* commit '5a600f59d7212a670c9fda0edd81b14f044136a0':
  Added ftw64, nftw64
2014-02-25 10:53:51 +00:00
Calin Juravle
15aa4aee8a am dfb02bcd: am 7c1efffc: Merge "Added mkstemp64"
* commit 'dfb02bcdf46ebdf3ac37e2fd26ebc2e81392f28a':
  Added mkstemp64
2014-02-25 10:53:50 +00:00
Calin Juravle
a92b57c7f8 Merge "Added ftw64, nftw64" 2014-02-25 10:44:26 +00:00
Calin Juravle
7c1efffc24 Merge "Added mkstemp64" 2014-02-25 10:43:31 +00:00
Elliott Hughes
53e43292aa More OpenBSD cleanup (primarily string).
This patch removes the string/ and wchar/ directories.

Change-Id: Ia489904bc67047e4bc79acb1f3eec21aa3fe5f0d
2014-02-24 18:02:05 -08:00
Elliott Hughes
80a51a39c3 am 633502c1: am ba40a560: Merge "Remove <asm/page.h>."
* commit '633502c1771dfecb6bbaaa7f9e38ee889bc173ac':
  Remove <asm/page.h>.
2014-02-25 00:14:43 +00:00
Elliott Hughes
0e44bc3bae Remove <asm/page.h>.
If we have PAGE_SIZE/PAGESIZE, POSIX says they should be in <limits.h>.

Change-Id: I3c2d574ea2aea81f524874a156361411a4ffa18e
2014-02-24 15:55:31 -08:00
Calin Juravle
d4934a70e6 Added ftw64, nftw64
Bug: 13076637
Change-Id: I5b926526f935b00bba14c2807b61d85f95089c33
2014-02-24 20:22:11 +00:00
Calin Juravle
fe317a3775 Added mkstemp64
Bug: 13076637
Change-Id: I41bf28ab3e6c7325470781e9323eeec023483df5
2014-02-24 20:19:19 +00:00
Narayan Kamath
70dd5a71d3 am 9b823726: am b26e4944: Merge "Fix 64-bit build."
* commit '9b82372626092139e8ee09d6bdb4da798af38ced':
  Fix 64-bit build.
2014-02-24 14:32:18 +00:00
Narayan Kamath
bdfc6af405 am e425856b: am c6d96bb8: Merge "Move system_properties over to C++."
* commit 'e425856b1a943c32acf0bede50555d500eaf00ca':
  Move system_properties over to C++.
2014-02-24 14:32:17 +00:00
Narayan Kamath
37e9570bce Fix 64-bit build.
A warning about signed vs unsigned comparison was converted
into an error here :

 ...
 struct stat st;
 if (st.st_size > sizeof(prop_area) {
 ...

st_size is either an off64_t, which is a signed type. It's
worth investigating why this didn't trigger a warning on 32 bit,
where it's signed as well.

Change-Id: Ib2622bd5c444ddcfa7fb2141f00332cbb4a0818b
2014-02-24 11:05:02 +00:00
Narayan Kamath
c9ae21a5c3 Move system_properties over to C++.
This change constitutes the minimum amount of
work required to move the code over to C++, address
compiler warnings, and to make it const correct and
idiomatic (within the constraints of being called
from C code).

bug: 13058886

Change-Id: Ic78cf91b7c8e8f07b4ab0781333a9e243763298c
2014-02-24 10:45:35 +00:00
Elliott Hughes
a842eb7c95 am 7b9e7a70: am 9150dfb1: Merge "Clean up our OpenBSD usage."
* commit '7b9e7a709365c490d5ff73e6a74dfa32ffd8be25':
  Clean up our OpenBSD usage.
2014-02-22 00:58:44 +00:00
Elliott Hughes
9150dfb1c6 Merge "Clean up our OpenBSD usage." 2014-02-21 23:46:52 +00:00
Elliott Hughes
0133944b09 Clean up our OpenBSD usage.
Also undo some of the mess where we have OpenBSD <stdio.h> but a mix of
different BSD's implementations.

In this first pass, I've only moved easy OpenBSD stuff.

Change-Id: Iae67b02cde6dba9d8d06fedeb53efbfdac0a8cf6
2014-02-21 14:30:18 -08:00
Calin Juravle
79733ca2e7 am 587399d2: am 90b01576: Merge "Fixed int fast types for LP64"
* commit '587399d23a3dced6202e4b4abfa52b5b9621f134':
  Fixed int fast types for LP64
2014-02-21 17:32:17 +00:00
Calin Juravle
90b0157679 Merge "Fixed int fast types for LP64" 2014-02-21 17:09:13 +00:00
Calin Juravle
da030de702 Fixed int fast types for LP64
Bug: 13110474
Change-Id: Id5591603ad4ba7e149c0852f4abb25e4e5a5d065
2014-02-21 16:27:21 +00:00
Elliott Hughes
a12d556d42 am 31425c9f: am e65055af: Merge "Stop asking GCC to cause trouble."
* commit '31425c9fce2d48699322b6eb3284b06d1f706336':
  Stop asking GCC to cause trouble.
2014-02-21 13:54:02 +00:00
Elliott Hughes
2244cd0155 am 1df76ccc: am 26172fa4: Merge "Move the upstream-netbsd libc files into the correct directory."
* commit '1df76ccc6022ad57c6cc8f4322be14b9c104192e':
  Move the upstream-netbsd libc files into the correct directory.
2014-02-21 04:19:46 +00:00
Elliott Hughes
77bd275640 am 5052dcd4: am 8d0fe1c4: Merge "Remove two DNS files that weren\'t being built."
* commit '5052dcd48897641e40256c8665441bde68a230da':
  Remove two DNS files that weren't being built.
2014-02-21 04:19:29 +00:00
Elliott Hughes
dfc86ed244 am 45352a06: am cb43f847: Merge "Unify our assembler macros."
* commit '45352a065cb66885a7d3e648664dbb2d16e7e529':
  Unify our assembler macros.
2014-02-21 04:19:21 +00:00
Elliott Hughes
578fa4e561 am 97dcfc06: am 22c6b7ff: Merge "Fix mips64 crt build."
* commit '97dcfc06e7502b53fc7f76ab6c88a6d030aceafa':
  Fix mips64 crt build.
2014-02-20 23:15:32 +00:00
Elliott Hughes
756f60da1d am 632e2422: am 6a686556: Merge "Remove useless _C_LABEL from our assembler source."
* commit '632e242207f337fb8d4e1ec80994a4eadb2ccfb8':
  Remove useless _C_LABEL from our assembler source.
2014-02-20 23:15:31 +00:00
Elliott Hughes
4708421b40 am f5fd87f4: am bfa2b6fc: Merge "Stop advertising an arm32-specific hack like it\'s a build system feature."
* commit 'f5fd87f4f993dee1ca728aac31bb927b34b6cb88':
  Stop advertising an arm32-specific hack like it's a build system feature.
2014-02-20 23:15:30 +00:00
Dmitriy Ivanov
ebf85ec7a7 am ac804934: am 54d49ac7: Merge "Added script generating additions to libgcc_compat.c from linker errors"
* commit 'ac8049349f056f87137ff9749877cb6f83fc3f10':
  Added script generating additions to libgcc_compat.c from linker errors
2014-02-20 23:15:29 +00:00
Elliott Hughes
21f6705147 am 8a498e4a: am ca566b31: Merge "Don\'t explicitly list the tzcode files."
* commit '8a498e4ab223466d6dc7c31dda025e7755b7a05c':
  Don't explicitly list the tzcode files.
2014-02-20 23:15:26 +00:00
Elliott Hughes
b8dc9bbd90 Stop asking GCC to cause trouble.
Why do we see so many bogus strict-aliasing warnings? Because we asked GCC to
cause trouble on arm and mips.

Change-Id: I25d7fd036b6afff7ccfa799abe0dc1579ead2847
2014-02-20 14:35:20 -08:00
Elliott Hughes
677b6e605b Move the upstream-netbsd libc files into the correct directory.
I screwed up when I originally imported these files; they're in lib/libc/
in the upstream tree; there is no top-level libc/ (though there is a top-level
common/, so those files stay where they are).

Change-Id: I7c5e2224a4441ab0e33616a855a8c6aacfeac46f
2014-02-20 14:16:58 -08:00
Elliott Hughes
8d0fe1c49e Merge "Remove two DNS files that weren't being built." 2014-02-20 22:14:35 +00:00
Elliott Hughes
d28b277952 Remove two DNS files that weren't being built.
And switch the makefile to just building everything in the relevant directory.

Change-Id: Ia7785c4dcabb51639c2230026f8a8a9eff919a36
2014-02-20 13:59:20 -08:00
Elliott Hughes
851e68a240 Unify our assembler macros.
Our <machine/asm.h> files were modified from upstream, to the extent
that no architecture was actually using the upstream ENTRY or END macros,
assuming that architecture even had such a macro upstream. This patch moves
everyone to the same macros, with just a few tweaks remaining in the
<machine/asm.h> files, which no one should now use directly.

I've removed most of the unused cruft from the <machine/asm.h> files, though
there's still rather a lot in the mips/mips64 ones.

Bug: 12229603
Change-Id: I2fff287dc571ac1087abe9070362fb9420d85d6d
2014-02-20 13:51:26 -08:00
Elliott Hughes
08cf84db4e am f0e9d652: am 75f04d10: Merge "Remove the useless _C_LABEL from generated system calls."
* commit 'f0e9d652fa30c381295589f839a8f5f248a949f0':
  Remove the useless _C_LABEL from generated system calls.
2014-02-20 21:27:52 +00:00
Elliott Hughes
c345caae9a Fix mips64 crt build.
This was broken during the multi-arch makefile changes.

Change-Id: Id25cf3273f63c11fbca1cff944fc5e1bf765c636
2014-02-20 11:57:25 -08:00
Elliott Hughes
09289d92f9 Remove useless _C_LABEL from our assembler source.
Change-Id: I41a9181537c70ecc69ef8035132c9a83811a40d0
2014-02-20 11:51:11 -08:00
Elliott Hughes
bfa2b6fc6a Merge "Stop advertising an arm32-specific hack like it's a build system feature." 2014-02-20 19:41:15 +00:00
Dmitriy Ivanov
54d49ac75b Merge "Added script generating additions to libgcc_compat.c from linker errors" 2014-02-20 19:40:08 +00:00
Elliott Hughes
6e39ba73bf Stop advertising an arm32-specific hack like it's a build system feature.
Change-Id: I3a830b4a3516b6eb8e4f8e6e6b122a22a2e341df
2014-02-20 11:36:55 -08:00
Dmitriy Ivanov
adab51aefd Added script generating additions to libgcc_compat.c from linker errors
bug: 12234455
Change-Id: Icac35237f06e75745da5a91d9c4c941d7df4f84d
2014-02-20 11:34:08 -08:00
Elliott Hughes
1fbe6213cd Don't explicitly list the tzcode files.
Change-Id: I3ac19899523ac1f5fd2fdd6c942aefce75a964a4
2014-02-20 11:28:20 -08:00
Elliott Hughes
2bed56599f am bde420bb: am b69c0b53: Merge "Make mips/mips64 syscall stubs more like the other architectures."
* commit 'bde420bb86bbb0f4223a117cd3aaca00e7906501':
  Make mips/mips64 syscall stubs more like the other architectures.
2014-02-20 14:01:19 +00:00
Elliott Hughes
d465eb4e76 Remove the useless _C_LABEL from generated system calls.
Change-Id: Id1d2fd39972652831ea825f6f9cf940b08f42b5c
2014-02-19 18:59:19 -08:00
Elliott Hughes
9abbbdc534 Make mips/mips64 syscall stubs more like the other architectures.
Change-Id: I55f8c1a95f643a6e484f12fbcc25e2c77e55b6b8
2014-02-19 14:54:31 -08:00
Elliott Hughes
dae87c0c74 am ace8dfab: am e6c451f5: Merge "Make mips generated assembler more like the mips64 stuff."
* commit 'ace8dfab1fe07890440e8acf4a1e2c0cf0d0489d':
  Make mips generated assembler more like the mips64 stuff.
2014-02-19 20:42:33 +00:00
Elliott Hughes
eae27dc55a Make mips generated assembler more like the mips64 stuff.
I broke the mips build yesterday because it doesn't use
<private/bionic_asm.h> like the other architectures, including mips64.
I want to move mips closer to mips64 to try to avoid this kind of thing
in future.

Change-Id: Idb985587ff355b9e5e765c1f5671dc0144cd2488
2014-02-19 12:20:00 -08:00
Elliott Hughes
b3183def04 am 112e3a9a: am 44ef37c1: Merge "Use uid_t and gid_t for st_uid and st_gid in struct stat."
* commit '112e3a9a8c4c89b1cce366bc0c7a7f15fae862c2':
  Use uid_t and gid_t for st_uid and st_gid in struct stat.
2014-02-19 01:02:24 +00:00
Elliott Hughes
8a6ad03d0c am f7e642b9: am 24ef4779: Merge "Fix build by avoiding the _C_LABEL macro."
* commit 'f7e642b9ff2c0c70d9a800d0873880a58a33e424':
  Fix build by avoiding the _C_LABEL macro.
2014-02-19 00:58:59 +00:00
Elliott Hughes
44ef37c1b4 Merge "Use uid_t and gid_t for st_uid and st_gid in struct stat." 2014-02-19 00:51:31 +00:00
Elliott Hughes
6b5559315d Use uid_t and gid_t for st_uid and st_gid in struct stat.
Change-Id: Ide62dc714d76d881e3aa79e7a59ee6533a23dd00
2014-02-18 16:43:31 -08:00
Elliott Hughes
986f906710 Fix build by avoiding the _C_LABEL macro.
Change-Id: Ide367c2b65071388bd95fbc81a4ed6ae94aec4e4
2014-02-18 16:42:36 -08:00
Elliott Hughes
781236e321 am a676a54e: am b3602078: Merge "Implement some of the missing LFS64 support."
* commit 'a676a54e5dbb1ddda0c0045d990a920558671233':
  Implement some of the missing LFS64 support.
2014-02-18 23:54:43 +00:00
Elliott Hughes
db1ea34748 Implement some of the missing LFS64 support.
This gives us:

* <dirent.h>
  struct dirent64
  readdir64, readdir64_r, alphasort64, scandir64

* <fcntl.h>
  creat64, openat64, open64.

* <sys/stat.h>
  struct stat64
  fstat64, fstatat64, lstat64, stat64.

* <sys/statvfs.h>
  struct statvfs64
  statvfs64, fstatvfs64.

* <sys/vfs.h>
  struct statfs64
  statfs64, fstatfs64.

This also removes some of the incorrect #define hacks we've had in the
past (for stat64, for example, which we promised to clean up way back
in bug 8472078).

Bug: 11865851
Bug: 8472078
Change-Id: Ia46443521918519f2dfa64d4621027dfd13ac566
2014-02-18 15:39:24 -08:00
Elliott Hughes
a1ac8a60da am d49247be: am ffe02668: Merge "bionic: fix __set_errno for arm64 syscalls that return a 64-bit value"
* commit 'd49247be279b337fdd72c15421dcaf318489d284':
  bionic: fix __set_errno for arm64 syscalls that return a 64-bit value
2014-02-18 20:42:57 +00:00
Elliott Hughes
ffe026680e Merge "bionic: fix __set_errno for arm64 syscalls that return a 64-bit value" 2014-02-18 20:31:01 +00:00
Elliott Hughes
b8662c63b4 am d4c049e0: am cd6748cd: Merge "Clean up various warnings in bionic."
* commit 'd4c049e0234b0447b4da4369f2e2e509fe3ac549':
  Clean up various warnings in bionic.
2014-02-18 20:18:17 +00:00
Colin Cross
3d19a8319b bionic: fix __set_errno for arm64 syscalls that return a 64-bit value
bionic/libc/arch-arm64/syscalls/read.S ends with:
    b.hi __set_errno
    ret
END(read)

If __set_errno returns int, it will set w0 to 0xFFFFFFFF, which means
x0 is 0x00000000FFFFFFFF.  When interpreted as a ssize_t that is
INT_MAX, not -1.

Change __set_errno to return long, which will cause x0 to be set instead
of w0.

Change-Id: I9f9ea0f2995928d2ea240eb2ff7758ecdf0ff412
2014-02-18 12:11:38 -08:00
Elliott Hughes
a38cb08861 Clean up various warnings in bionic.
Change-Id: Ic57541d0a567fd4ae79f0ad59b2ffde1130eb7d2
2014-02-18 12:04:54 -08:00
Elliott Hughes
1135bf27eb am 447d5655: am d4bc9ef8: Merge "Remove duplicate definitions of MIN and MAX."
* commit '447d5655498f1dc2a20269e252fd0442d78b4ff2':
  Remove duplicate definitions of MIN and MAX.
2014-02-17 19:10:32 +00:00
Elliott Hughes
cfbfe7059c Remove duplicate definitions of MIN and MAX.
These were needed when bionic's header files were missing these macros (though
it would have made a lot more sense to just fix the header files!) but cause
warnings now.

Change-Id: I65a677122f4f6bd07dffc3f37a0c4c0e823d1bb0
2014-02-17 10:57:56 -08:00
Elliott Hughes
db01286237 am 57f42f77: am fadc8a77: Merge "Restore sys_signame for LP64."
* commit '57f42f773dac7cbe374ec8449b1b57599367a878':
  Restore sys_signame for LP64.
2014-02-13 11:27:26 +00:00
Elliott Hughes
796d2b1971 am f2e3964d: am 7b3876e2: Merge "Clean up sys_signame and sys_siglist a little."
* commit 'f2e3964d4e060d1b76be34bdc7847fad5c11ca63':
  Clean up sys_signame and sys_siglist a little.
2014-02-13 11:27:18 +00:00
Ying Wang
bf543d12de am 00956d03: am 9e572ca4: Merge "Fix missing args."
* commit '00956d039fb4ceafe92d5ffade51725b95da38d4':
  Fix missing args.
2014-02-13 11:27:18 +00:00
Elliott Hughes
671e236d5f Restore sys_signame for LP64.
mksh is using this, and we probably build as much BSD source as glibc source.

Change-Id: I400d255a67f9614ca9e57090e3a2e49d2b10cba4
2014-02-12 19:04:27 -08:00
Ying Wang
717cd12134 am c25552bb: am c4c50b25: Merge "Reconfig libc\'s Android.mk to build for multilib"
* commit 'c25552bb13e664bfd4574d77cbcaad459b52a47f':
  Reconfig libc's Android.mk to build for multilib
2014-02-13 01:11:36 +00:00
Elliott Hughes
aa0ebdafc7 Clean up sys_signame and sys_siglist a little.
We don't need quite so much duplication because we already have a way
to get the signal number from its name, and that already copes with the
fact that the mips/mips64 numbers are different from everyone else's.

Also remove sys_signame from LP64. glibc doesn't have this BSD-ism.

Change-Id: I6dc411a3d73589383c85d3b07d9d648311492a10
2014-02-12 17:09:25 -08:00
Ying Wang
76c8b88269 Fix missing args.
Change-Id: I89a366db984ea6b2553896a4351e59bb91f93040
2014-02-12 16:40:55 -08:00
Ying Wang
c4c50b25f8 Merge "Reconfig libc's Android.mk to build for multilib" 2014-02-12 23:53:08 +00:00
Elliott Hughes
dc6cd351b9 am f1f19464: am 819c132e: Merge "Fix NSIG."
* commit 'f1f19464c52e663ade6c18833eaa30bfcd5194de':
  Fix NSIG.
2014-02-12 23:01:26 +00:00
Elliott Hughes
23c7bdbbdd am b5bf7a72: am 577fce01: Merge "[MIPS64] Dynamic linker"
* commit 'b5bf7a725f5b63b0239fd5d92087d2f4c9dbee25':
  [MIPS64] Dynamic linker
2014-02-12 23:01:25 +00:00
Elliott Hughes
b7dfb8ab04 am d26184c0: am c856baee: Merge "Build syscall stubs in their own library."
* commit 'd26184c0385105ada22a9c060858a10e7b8f53e5':
  Build syscall stubs in their own library.
2014-02-12 23:01:24 +00:00
Ying Wang
f25d677147 Reconfig libc's Android.mk to build for multilib
1. Moved arch-specific setup to their own files:
    - <arch>/<arch>.mk, arch-specific configs. Variables in those config
      end with the arch name.
    - removed the extra complexity introduced by function libc-add-cpu-variant-src,
      which seems to be not very useful these days.
2. Separated out the crt object files generation rules and set up the
   rules for both TARGET_ARCH and TARGET_2ND_ARCH.
3. Build all the libraries for both TARGET_ARCH and TARGET_2ND_ARCH,
  with the arch-specific LOCAL_ variables.

Bug: 11654773
Change-Id: I9c2d85db0affa49199d182236d2210060a321421
2014-02-12 13:58:34 -08:00
Elliott Hughes
199346a2ab Fix NSIG.
Our sigset_t definition hasn't been tied to our NSIG definition since we
switched to uapi headers, so we can now fix it without breaking the LP32 ABI.
The kernel uapi headers define and use _NSIG, so we need to have our scripts
rename the kernel's definitions out of the way, then we can define _NSIG
and NSIG in terms of the kernel's off-by-one value.

Bug: 12938442
Change-Id: Ic7c86fd5be5ad1d822f7b2b1d88c8a0d70a1ac0f
2014-02-11 22:16:04 -08:00
Chris Dearman
9918665a45 [MIPS64] Dynamic linker
Change-Id: I937c7c776cae3d66e214798d5217a922cd106bfc
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Duane Sand <duane.sand@imgtec.com>
2014-02-11 15:33:14 -08:00
Elliott Hughes
b3a23bd017 Build syscall stubs in their own library.
This lets us lose the auto-generated makefiles.

Change-Id: I2de0c71b3b9c08f9cce8f4ff7fd7254dda008c86
2014-02-11 13:52:02 -08:00
Elliott Hughes
79ea3e3c74 am f7aa55d6: am a206dde5: Merge "Clean up cacheflush."
* commit 'f7aa55d684ecceab531856917745a52dc2eb05e1':
  Clean up cacheflush.
2014-02-11 18:38:43 +00:00
Elliott Hughes
a6ecba4d23 Clean up cacheflush.
No cacheflush for LP64; use the GCC builtin instead. Clean up the
32-bit MIPS implementation now we no longer need to worry about
old versions of GCC.

Bug: 12924756
Change-Id: Ie23955b3ec194e226c4b2bce35b11d5e061f4753
2014-02-11 10:24:40 -08:00
Elliott Hughes
7949942e5e am 5f0374ab: am 71e4466b: Merge "Switch <elf.h> over to linux uapi under the covers."
* commit '5f0374ab4ff198c658b3902ebf4cc8f818efc5fc':
  Switch <elf.h> over to linux uapi under the covers.
2014-02-11 02:40:00 +00:00
Elliott Hughes
0266ae5f88 Switch <elf.h> over to linux uapi under the covers.
Remove the linker's reliance on BSD cruft and use the glibc-style
ElfW macro. (Other code too, but the linker contains the majority
of the code that needs to work for Elf32 and Elf64.)

All platforms need dl_iterate_phdr_static, so it doesn't make sense
to have that part of the per-architecture configuration.

Bug: 12476126
Change-Id: I1d7f918f1303a392794a6cd8b3512ff56bd6e487
2014-02-10 18:22:24 -08:00
Elliott Hughes
7fcdeb9570 am 6b0da947: am eeb9a9f5: Merge "Fix <link.h>."
* commit '6b0da947e9bc8badc739eece66cf3a9f66188dd4':
  Fix <link.h>.
2014-02-11 00:18:38 +00:00
Elliott Hughes
3a9c5d66dc Fix <link.h>.
Also move some of the stuff that should be in <link.h> out of the
private "linker.h", to make it clearer that these are public API
known to gdb that we can't change.

Bug: 12554197
Change-Id: I830e1260d3d8b833ed99bc1518f1c6b6102be8af
2014-02-10 13:31:13 -08:00
Elliott Hughes
db8e3c7dd2 am e7b1e0e2: am e74fc3a6: Merge "Fix socklen_t (on LP64 only)."
* commit 'e7b1e0e2919c65f352f4bf89cc4eb93151873453':
  Fix socklen_t (on LP64 only).
2014-02-10 12:50:51 +00:00
Elliott Hughes
09be5e752c am 1138e128: am c16a4532: Merge "Remove <sys/_types.h>."
* commit '1138e1281285ab17e2eb315e7d34e9c6bb752383':
  Remove <sys/_types.h>.
2014-02-10 12:50:50 +00:00
Elliott Hughes
d5952e1bfa am f03ea9d0: am 8a80a23c: Merge "[MIPS64] libc/libm support"
* commit 'f03ea9d02459c888fef26761e4139c1da065c821':
  [MIPS64] libc/libm support
2014-02-08 07:22:15 +00:00
Elliott Hughes
ebd90b9ba9 Fix socklen_t (on LP64 only).
Too late to fix LP32 :-(

Bug: 12935461
Change-Id: Ib056ca1eaf9ae8712f88ae21ff94e91b08cf588b
2014-02-07 16:50:55 -08:00
Elliott Hughes
c16a453291 Merge "Remove <sys/_types.h>." 2014-02-08 00:23:50 +00:00
Elliott Hughes
9f87a0b285 Remove <sys/_types.h>.
Bug: 12213562
Change-Id: I0d10664f9da60739bdbad0408be0dd61eea3c1fe
2014-02-07 14:55:58 -08:00
Chris Dearman
645d0312c2 [MIPS64] libc/libm support
libc/libm support for MIPS64 targets

Change-Id: I8271941d418612a286be55495f0e95822f90004f
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Raghu Gandham <raghu.gandham@imgtec.com>
2014-02-06 16:22:20 -08:00
Elliott Hughes
175f230ffc am c2917297: am 5036935c: Merge "[MIPS64] Add syscall related files"
* commit 'c2917297bd34c8345c9b384b874f122ec4597779':
  [MIPS64] Add syscall related files
2014-02-07 00:02:24 +00:00
Chris Dearman
5043212b76 [MIPS64] Add syscall related files
Change-Id: I2f5d05df0e767538a6fe467ca0a2386325f8b71f
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Raghu Gandham <raghu.gandham@imgtec.com>
Signed-off-by: Duane Sand <duane.sand@imgtec.com>
2014-02-06 15:39:38 -08:00
Elliott Hughes
3e9d866b28 am 03910c9a: am e163a398: Merge "Remove unused cruft from MIPS <machine/signal.h>."
* commit '03910c9ae1ab504c3d542416eac741147cb89e0a':
  Remove unused cruft from MIPS <machine/signal.h>.
2014-02-05 22:36:01 +00:00
Elliott Hughes
be97620a56 am 9eb69a3c: am 375aaa3f: Merge "Kill <machine/_types.h>."
* commit '9eb69a3c72c0ee23fd5f11997c2c0f7e5c0c58a3':
  Kill <machine/_types.h>.
2014-02-05 22:15:57 +00:00
Elliott Hughes
ea0fab18ba Remove unused cruft from MIPS <machine/signal.h>.
An extra (unused) struct sigcontext doesn't help anybody.

Change-Id: I73899fe7e1ccccf50a507c737945cf014d430396
2014-02-05 14:11:38 -08:00
Elliott Hughes
9afe2884c7 Kill <machine/_types.h>.
Most of <machine/_types.h> was either unused, wrong, or identical across
all 32-/64-bit architectures.

I'm not a huge fan of <sys/_types.h> either, but moving the bits we need
up into there is a step forward.

Bug: 12213562
Change-Id: Id13551c78966e324beee2dd90c5575e37d2a71e6
2014-02-04 19:26:31 -08:00
Elliott Hughes
8fac620e2f am 6944fcf0: am 53cc62c3: Merge "Add fallocate/fallocate64/posix_fallocate/posix_fallocate64."
* commit '6944fcf04e76a76a467dd4ab61af123539f7ccf7':
  Add fallocate/fallocate64/posix_fallocate/posix_fallocate64.
2014-02-04 00:49:45 +00:00
Elliott Hughes
f64b8ea09d Add fallocate/fallocate64/posix_fallocate/posix_fallocate64.
Bug: 5287571
Bug: 12612860
Change-Id: I4501b9c6cdf9a830336ce0b3afc4ea716b6a0f6f
2014-02-03 16:20:46 -08:00
Elliott Hughes
2780476778 am 226f970a: am a122c376: Merge "Use __inline__ for fortify."
* commit '226f970a17bb212af11133fbcd92289cc88cc0c8':
  Use __inline__ for fortify.
2014-02-04 00:06:08 +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
ba7c3079bf am eb26da9a: am fb4da1e7: Merge "Regenerate binder header"
* commit 'eb26da9af841c60e69f44a3affb46ec48fdaa6d3':
  Regenerate binder header
2014-02-03 22:11:16 +00:00
Arve Hjønnevåg
fb4da1e7b7 Merge "Regenerate binder header" 2014-02-03 21:13:23 +00:00
Elliott Hughes
9304f2c461 am 0e0ae17d: am 47ff6b9f: Merge "Add missing ucontext_t definition to bionic for arch-arm64."
* commit '0e0ae17d3292951cbf74143c44b583916ebebff6':
  Add missing ucontext_t definition to bionic for arch-arm64.
2014-01-31 22:38:27 +00: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
f970e07de3 am 8902d9a9: am a14df4a9: Merge "[MIPS] SA_RESTORER support is not needed for MIPS"
* commit '8902d9a944c377c63ce81d7dc16c1945ad715d18':
  [MIPS] SA_RESTORER support is not needed for MIPS
2014-01-31 16:19:40 +00:00
Elliott Hughes
da958d2e14 am 64b519e2: am 07f84025: Merge "Make ARM <user.h> more glibc-compatible."
* commit '64b519e2d4546da414bb9a04de4c04ce3e137999':
  Make ARM <user.h> more glibc-compatible.
2014-01-31 16:19:39 +00:00
Elliott Hughes
ab24c54d94 am dc84a5e6: am 53a55c12: Merge "Add mips <sys/ucontext.h>."
* commit 'dc84a5e66c9678619538b42709ab3637205c3bf2':
  Add mips <sys/ucontext.h>.
2014-01-31 16:19:38 +00:00
Elliott Hughes
5c73920bdc am d7f2ec93: am 807bbb75: Merge "Add arm <sys/ucontext.h>."
* commit 'd7f2ec93449a478710c286588818d00f8f219272':
  Add arm <sys/ucontext.h>.
2014-01-31 16:19:38 +00:00
Elliott Hughes
ae4e016d7f am 2f561425: am 8f355275: Merge "Add x86 <sys/ucontext.h>."
* commit '2f561425bf43676ab244738fb6ea4ed868208837':
  Add x86 <sys/ucontext.h>.
2014-01-31 16:19:37 +00:00
Elliott Hughes
63704af86e am 4dc8c880: am 972c39c4: Merge "Add x86_64 ucontext.h for better compatibility"
* commit '4dc8c880ca0677baad7950b0b3f5a9f035fea11b':
  Add x86_64 ucontext.h for better compatibility
2014-01-31 16:19:36 +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
3614424e10 Make ARM <user.h> more glibc-compatible.
Change-Id: I681930ad7f80a5e7bc40eb0f36872e415445f0f9
2014-01-30 10:39:02 -08:00
Elliott Hughes
02c661b883 Add mips <sys/ucontext.h>.
Change-Id: I2821f523f0c3bb4400b2ad5d36e21e5a3d6d777c
2014-01-29 18:37:15 -08:00
Elliott Hughes
4e72fcc3c2 Add arm <sys/ucontext.h>.
Change-Id: I14d435f9e3e82f77d8a7e886ff88c18f5d09d14a
2014-01-29 17:53:59 -08:00
Elliott Hughes
677a07cb9a Add x86 <sys/ucontext.h>.
Change-Id: I43e72604f7a932f134733b78094b577415a5edb7
2014-01-29 16:46:00 -08: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
Elliott Hughes
37958fea13 am 2db157c8: am 3bd75303: am c75e7726: Merge "Remove a __system_property_get call from the DNS code."
* commit '2db157c853cb35243d49fd1e084c1fb444f9ba02':
  Remove a __system_property_get call from the DNS code.
2014-01-29 12:20:44 +00: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
908e8c24ab Remove a __system_property_get call from the DNS code.
Change-Id: I48082ad9eb1b56349c6746ab2c371728c8571a81
2014-01-28 14:54:11 -08:00
Elliott Hughes
a873595113 am 41ae96a1: am 4bc229eb: am 4449fe96: Merge "Fix 32-bit mmap/mmap64 handling of negative offsets."
* commit '41ae96a1cc69fd2e1bc39fe55da22f15047beb50':
  Fix 32-bit mmap/mmap64 handling of negative offsets.
2014-01-28 01:18:06 +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
4332c9ebba am e528d178: am f3ea7917: am 6f23ce36: Merge "Remove __STDC_FORMAT_MACROS and __STDC_LIMIT_MACROS guards (and fix SIZE_MAX for LP64)."
* commit 'e528d1787c80d4d6879c8fafa5487f9fd6ce4a29':
  Remove __STDC_FORMAT_MACROS and __STDC_LIMIT_MACROS guards (and fix SIZE_MAX for LP64).
2014-01-25 01:38:13 +00: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
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
d1e32e1c35 am 0bae4c4d: am 50228472: am 5acce960: Merge "Add all implicitly loaded symbols from libgcc.a into libgcc_compat.c."
* commit '0bae4c4d41acffa091680a5499e0381e1ea70f12':
  Add all implicitly loaded symbols from libgcc.a into libgcc_compat.c.
2014-01-25 00:26:01 +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
771524267b am 3aa1e605: am 35377004: am 513f83bb: Merge "bionic: rename aarch64 target to arm64"
* commit '3aa1e605ea1167e59976bf82922fd06c728b518b':
  bionic: rename aarch64 target to arm64
2014-01-24 21:24:50 +00:00
Colin Cross
513f83bb7f Merge "bionic: rename aarch64 target to arm64" 2014-01-24 20:33:23 +00:00
Ben Cheng
af0debbfc7 am cc70de8f: am 0661bbe2: am 69d242d2: Merge "Re-export libgcc\'s __aeabi_uidivmod and __popcount_tab"
* commit 'cc70de8fc3726cf8cc242a4dcb80a7f5af50f4b1':
  Re-export libgcc's __aeabi_uidivmod and __popcount_tab
2014-01-24 18:25:55 +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
232e52e90b am 17758106: am 06d38ccd: am 5b4884fa: Merge "Add "__noreturn" to assert and assert2"
* commit '17758106e80d9ced66c7cfdae0b0331ebd7696b7':
  Add "__noreturn" to assert and assert2
2014-01-15 21:41:21 +00: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
63ccebf3f3 am e83c98e6: am a17b7ba9: am c8d41263: Merge "Move _thread_created_hook to where it belongs."
* commit 'e83c98e6f7575000df7e36803c5349249f8aa982':
  Move _thread_created_hook to where it belongs.
2014-01-15 02:48:31 +00:00
Elliott Hughes
af8aebebb5 Move _thread_created_hook to where it belongs.
Change-Id: I643d761c78ccaae25270aeffa2afb811c4e2fcd7
2014-01-14 17:16:18 -08:00
Elliott Hughes
41af7f39e9 am d2124b7c: am 7e997388: am b5e21103: Merge "AArch64: Use LDXR/STXR instead of LDAXR/STLXR for bionic_atomic_cmpxchg()"
* commit 'd2124b7c5ca15cb593c824d2488f6a95dce4a519':
  AArch64: Use LDXR/STXR instead of LDAXR/STLXR for bionic_atomic_cmpxchg()
2014-01-14 01:15:04 +00:00
Elliott Hughes
b5e211031b Merge "AArch64: Use LDXR/STXR instead of LDAXR/STLXR for bionic_atomic_cmpxchg()" 2014-01-14 01:01:41 +00:00
Elliott Hughes
758e586a98 am 0b9a13f5: am a1595487: am ae189740: Merge "Add some more headers."
* commit '0b9a13f58fa13fc7f29c386e265dcbe56c7c5095':
  Add some more headers.
2014-01-10 23:55:16 +00:00
Elliott Hughes
ae189740de Merge "Add some more headers." 2014-01-10 23:35:47 +00:00
Elliott Hughes
c835c35727 Add some more headers.
This patch adds trivial implementations of the missing sys headers
needed by strace. All strace needs are the constants and structures,
so this is enough for now. We can come back and add the functions
if/when we ever need them.

Change-Id: Idb87c1a8b6b1c62f6e16ae94f147e1169722b48e
2014-01-10 15:32:31 -08:00
JP Abgrall
9a3f2b78e6 am 51e1ca76: am 09a73562: am f784f036: Merge "Add extra libc stubs for mntent related functions."
* commit '51e1ca76776822e3d020a1dc7e25dbc46ddde1e4':
  Add extra libc stubs for mntent related functions.
2014-01-10 02:08:05 +00:00
Elliott Hughes
a537a330a4 am e48e9c99: am 2872e742: am 33c3e8d3: Merge "Add NT_PRSTATUS to <elf.h>."
* commit 'e48e9c9919f1f1130ff09600f6c444e2f3be1689':
  Add NT_PRSTATUS to <elf.h>.
2014-01-10 01:54:25 +00:00
JP Abgrall
4e9cb032d1 Add extra libc stubs for mntent related functions.
This adds stubs for setmntent() and endmntent().

Change-Id: I6ccaa044145405cd7226c1c54a25d435c96a2308
2014-01-10 01:24:34 +00:00
Elliott Hughes
8667765896 am 1424b701: am fce55ed3: am 8e6bf35a: Merge "Add <sgidefs.h>."
* commit '1424b70152a1cacbfb3125a49b01d158f4028152':
  Add <sgidefs.h>.
2014-01-10 00:23:15 +00:00
Elliott Hughes
d36126ddc3 am fb12b9a7: am ea7c0ea6: am d29c75f0: Merge "Fix x86 user_regs_struct."
* commit 'fb12b9a7a3f6b0d91a201d4f39134edddc93c07c':
  Fix x86 user_regs_struct.
2014-01-10 00:23:14 +00:00
Elliott Hughes
f39f8f4414 am 2a25c30e: am c63fe9fa: am 6114ffb3: Merge "Add the glibc-compatible d_fileno."
* commit '2a25c30e33ecf2170709f5ff89588c81480dd23d':
  Add the glibc-compatible d_fileno.
2014-01-10 00:07:22 +00:00
Elliott Hughes
33c3e8d3b2 Merge "Add NT_PRSTATUS to <elf.h>." 2014-01-09 23:53:58 +00:00
Elliott Hughes
1272dbd1d7 Add NT_PRSTATUS to <elf.h>.
Needed by aarch64.

Bug: 12476126
Change-Id: I7764664459a06cf4f2a60e707bd968d321a78430
2014-01-09 15:45:07 -08:00
Elliott Hughes
8e6bf35a16 Merge "Add <sgidefs.h>." 2014-01-09 22:24:34 +00:00
Elliott Hughes
f8b2b3c81e Fix x86 user_regs_struct.
I fixed x86-64 yesterday, but didn't fix x86 at the same time.

Change-Id: I5c081f5956dfedb9389af303369b841dd0fc1953
2014-01-09 14:01:18 -08:00
Elliott Hughes
1c2cf23a0c Add <sgidefs.h>.
Change-Id: I543d502a81dcb8d5969f814b8a9a9c819bc4fa2c
2014-01-09 13:54:49 -08:00
Elliott Hughes
a8a3178445 Add the glibc-compatible d_fileno.
d_ino is the POSIX name, but glibc also offers d_fileno, and
that's what strace is using.

Change-Id: I3fadbe7a64700b42e78c7f4631620e864d43147b
2014-01-09 12:37:12 -08:00
Elliott Hughes
2a02502c77 am b1955cc4: am 56d790fc: am c65cbf97: Merge "Fix <sys/resource.h>."
* commit 'b1955cc44776dc272eece253e72b567ce32aa185':
  Fix <sys/resource.h>.
2014-01-09 19:21:56 +00:00
Elliott Hughes
0f461e35f6 Fix <sys/resource.h>.
The situation here is a bit confusing. On 64-bit, rlimit and rlimit64 are
the same, and so getrlimit/getrlimit64, setrlimit/setrlimit64,
and prlimit/prlimit64 are all the same. On 32-bit, rlimit and rlimit64 are
different. 32-bit architectures other than MIPS go one step further by having
an even more limited getrlimit system call, so arm and x86 need to use
ugetrlimit instead of getrlimit. Worse, the 32-bit architectures don't have
64-bit getrlimit- and setrlimit-equivalent system calls, and you have to use
prlimit64 instead. There's no 32-bit prlimit system call, so there's no
easy implementation of that --- what should we do if the result of prlimit64
won't fit in a struct rlimit? Since 32-bit survived without prlimit/prlimit64
for this long, I'm not going to bother implementing prlimit for 32-bit.

We need the rlimit64 functions to be able to build strace 4.8 out of the box.

Change-Id: I1903d913b23016a2fc3b9f452885ac730d71e001
2014-01-09 11:00:04 -08:00
Elliott Hughes
cf6090561b am e5af4430: am 8c6c9801: am 8276d287: Merge "Our dirent is a dirent64."
* commit 'e5af4430477b3fb8a6faaa5348a6dda4574fcea6':
  Our dirent is a dirent64.
2014-01-09 01:31:07 +00:00
Elliott Hughes
90e61a3039 am 49fd7864: am 2ab8dd30: am 66f473ef: Merge "Add <sys/reg.h>."
* commit '49fd7864cd997f78ac683c8c54dd009020c3d0e5':
  Add <sys/reg.h>.
2014-01-09 01:31:07 +00:00
Elliott Hughes
8276d2875f Merge "Our dirent is a dirent64." 2014-01-09 01:15:27 +00:00
Elliott Hughes
72dee4e4aa am d0a17beb: am 548eddab: am 8a6eec38: Merge "Fix x86_64 register names in <sys/user.h>."
* commit 'd0a17beb73c851babf18736773645dbca206f69b':
  Fix x86_64 register names in <sys/user.h>.
2014-01-09 00:37:52 +00:00
Elliott Hughes
16b28da0df am 36a3f941: am 60ff1387: am 5d5cc227: Merge "We shouldn\'t have a <sys/dirent.h> that\'s a subset of <dirent.h>."
* commit '36a3f941d07ad58b7df1152b1cfb6041604eb666':
  We shouldn't have a <sys/dirent.h> that's a subset of <dirent.h>.
2014-01-09 00:37:51 +00:00
Elliott Hughes
38f0ef3ff7 Our dirent is a dirent64.
Change-Id: Idc9ebfd900fddd4f7c7ac95bc9b74401ebc801a3
2014-01-08 16:31:36 -08:00
Elliott Hughes
5b17e4da39 Add <sys/reg.h>.
This describes the offsets into ptrace's returned arrays of registers
for x86 and x86-64.

Change-Id: I044f03e286673999a298b73a813d4ad366625845
2014-01-08 16:29:22 -08:00
Elliott Hughes
8a6eec38eb Merge "Fix x86_64 register names in <sys/user.h>." 2014-01-09 00:24:55 +00:00
Elliott Hughes
eddc8ece3d Fix x86_64 register names in <sys/user.h>.
Change-Id: Ieb327247a41f6195589716170e324d1cd1251b96
2014-01-08 15:54:19 -08:00
Elliott Hughes
155b076420 We shouldn't have a <sys/dirent.h> that's a subset of <dirent.h>.
glibc has no <sys/dirent.h>. If we do have to bring this back, we
should probably just have one file #include the other.

Change-Id: I5c0bf9c03769daf3b23f69778e9f01f81c3de9ec
2014-01-08 15:51:13 -08:00
Elliott Hughes
398aadbf6d am e4f4ef04: am eac00eb7: am 4c8caf0a: Merge "<sched.h> should offer both __sched_priority and sched_priority."
* commit 'e4f4ef047c7240d5603ad4e65007f4b79a2fefa3':
  <sched.h> should offer both __sched_priority and sched_priority.
2014-01-08 02:53:05 +00:00
Elliott Hughes
f89abab0cb am fccb66b3: am 4458a5a7: am 4faf76ca: Merge "<fcntl.h> should get you the POSIX_FADV_* constants."
* commit 'fccb66b3ab3f6e5672a46d4730d545859308dc8c':
  <fcntl.h> should get you the POSIX_FADV_* constants.
2014-01-08 02:53:04 +00:00
Elliott Hughes
e0d647701e am ec93120e: am 82bbaf7e: am bc4e135a: Merge "Add SWAP_FLAG_* constants to <sys/swap.h>."
* commit 'ec93120e63b44e88ee4665820b7b29c0757852f7':
  Add SWAP_FLAG_* constants to <sys/swap.h>.
2014-01-08 02:43:02 +00:00
Elliott Hughes
4c8caf0ad3 Merge "<sched.h> should offer both __sched_priority and sched_priority." 2014-01-08 02:41:04 +00:00
Elliott Hughes
4faf76ca11 Merge "<fcntl.h> should get you the POSIX_FADV_* constants." 2014-01-08 02:40:44 +00:00
Elliott Hughes
bc4e135a8e Merge "Add SWAP_FLAG_* constants to <sys/swap.h>." 2014-01-08 02:31:55 +00:00
Elliott Hughes
91a7e423a4 am 24ed782f: am d2fe982b: am 1c1b8354: Merge "Define fsid_t as well as __fsid_t."
* commit '24ed782faaf2f373c9c89a8c403bc3ec2e56bab8':
  Define fsid_t as well as __fsid_t.
2014-01-08 02:24:31 +00:00
Elliott Hughes
65c6f3099e Add SWAP_FLAG_* constants to <sys/swap.h>.
Bug: 9336527
Change-Id: I679be4d8425ba177dd782e714f465caf9daa976c
2014-01-08 02:23:06 +00:00
Elliott Hughes
bbb34f9536 <sched.h> should offer both __sched_priority and sched_priority.
If glibc hadn't already done things this way round, I'd have
called the field sched_priority and the macro __sched_priority
since that would seem less likely to cause trouble, but glibc
source compatibility is probably more important.

Change-Id: I8a8a477f2aa87cae641069c5c84b4fcab3152a82
2014-01-07 17:48:30 -08:00
Elliott Hughes
01e505ac9c <fcntl.h> should get you the POSIX_FADV_* constants.
Change-Id: I9de8b840570b228308c12d72b7617b8758237fb8
2014-01-07 17:47:20 -08:00