Commit Graph

3933 Commits

Author SHA1 Message Date
Calin Juravle
c3957eea26 am d57eb903: am b145b5ef: Merge "Fix broken pointer overflow check ns_name_unpack()"
* commit 'd57eb903c1ca2f798ab6a9ab0f9c84678b0f3025':
  Fix broken pointer overflow check ns_name_unpack()
2014-03-07 19:29:51 +00:00
Calin Juravle
a7c42b1268 am 542e6c87: am d9ba757e: Merge "Sync up nameser with upstream(2014.03.05)"
* commit '542e6c87e52f7886e5ede72e3222c2d6ed83aefb':
  Sync up nameser with upstream(2014.03.05)
2014-03-07 19:29:50 +00:00
Calin Juravle
b145b5ef7c Merge "Fix broken pointer overflow check ns_name_unpack()" 2014-03-07 11:46:48 +00:00
Calin Juravle
d9ba757ef4 Merge "Sync up nameser with upstream(2014.03.05)" 2014-03-07 11:45:58 +00:00
Elliott Hughes
e4014d8882 am 37486940: am d40eb159: Merge "Fix some pthread symbols build as C++ symbol under x64 lunch."
* commit '3748694064366694b2136ac8943332d5ceec7bf4':
  Fix some pthread symbols build as C++ symbol under x64 lunch.
2014-03-07 11:00:32 +00:00
Elliott Hughes
39febf4a95 am e992f79a: am 087dbc6b: Merge "Bring the generate-NOTICE script up to date."
* commit 'e992f79a5627e9d839a001f8563b637d2e97bb93':
  Bring the generate-NOTICE script up to date.
2014-03-07 03:09:45 +00:00
Elliott Hughes
18a32d4ac0 am 372196e9: am dec5bacf: Merge "Update the NOTICE files."
* commit '372196e955047551d6241de7b83ae43bdb5a8b5c':
  Update the NOTICE files.
2014-03-07 03:09:44 +00:00
Elliott Hughes
7157b81966 am 91a5272e: am e7ea9363: Merge "Add ARMv8 optimized string handling functions based on cortex-strings"
* commit '91a5272e6f7712e5313b85c6a615f6891e7ea0a7':
  Add ARMv8 optimized string handling functions based on cortex-strings
2014-03-07 03:09:44 +00:00
Elliott Hughes
d40eb1594d Merge "Fix some pthread symbols build as C++ symbol under x64 lunch." 2014-03-07 01:03:25 +00:00
Elliott Hughes
22a0d6fcdc Bring the generate-NOTICE script up to date.
Change-Id: I63981a2f3cb0a4d7ee7e1a2b4ce00f77898ac25b
2014-03-06 15:10:22 -08:00
Elliott Hughes
4e54b114f9 Update the NOTICE files.
Change-Id: Ie72a01cddd5b813393656f603689e497b0f88ddd
2014-03-06 15:06:11 -08:00
Elliott Hughes
e7ea9363cb Merge "Add ARMv8 optimized string handling functions based on cortex-strings" 2014-03-06 23:02:11 +00:00
Bernhard Rosenkraenzer
7e4fa56099 Add ARMv8 optimized string handling functions based on cortex-strings
This adds ARMv8 optimized string handling functions to Bionic.
The implementations live in a generic/ directory because there will
likely be more CPU specific versions (e.g. Cortex-A53 vs. Cortex-A57)
later.

These implementations are 50%+ faster on current v8 models.

Change-Id: If3adc54a284d9519459b0d4d4390f0cd6ded8786
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
2014-03-06 14:59:51 -08:00
Calin Juravle
85c5202a64 Fix broken pointer overflow check ns_name_unpack()
Many compilers may optimize away the overflow check `msg + l < msg',
where `msg' is a pointer and `l' is an integer, because pointer
overflow is undefined behavior in C.

Use a safe precondition test `l >= eom - msg' instead.
Bug: 13219633

Change-Id: I3fca2125834073cc36d7e9c4e586e97842265a59
2014-03-06 18:39:29 +00:00
Calin Juravle
fcb502e3ec Sync up nameser with upstream(2014.03.05)
Bug: 13219633

Change-Id: I8ee4ddf270710e9eea415fa3db984af7719a8dd4
2014-03-06 18:36:43 +00:00
Mark Salyzyn
bbcd3c686e am a6bd876e: am 68a651e7: Merge "libc: libc_logging 64bit compile issue"
* commit 'a6bd876e3dffedb2227dde034328987ebb79223b':
  libc: libc_logging 64bit compile issue
2014-03-06 02:50:44 +00:00
Mark Salyzyn
9fc76027f3 libc: libc_logging 64bit compile issue
- user space logger wire format for time

Change-Id: I4840653e3a6ae151a02584311d1227d2fe536d0f
2014-03-05 16:59:39 -08:00
Robert Greenwalt
abf91850f9 Merge "Fix dns searchdomain use in gethostbyname." into klp-dev 2014-03-05 18:26:27 +00:00
Narayan Kamath
ffce5ede0b am 4e53c59d: am 48d145c1: Merge "Stop defining HAVE_PTHREAD_COND_TIMEDWAIT_MONOTONIC."
* commit '4e53c59db205bcb991000bf540241eb5d3b99bef':
  Stop defining HAVE_PTHREAD_COND_TIMEDWAIT_MONOTONIC.
2014-03-05 13:31:12 +00:00
Narayan Kamath
252ee1e112 Stop defining HAVE_PTHREAD_COND_TIMEDWAIT_MONOTONIC.
No code is using this definition.

Change-Id: I188db63f38d62baf1cb57d0a36fcda540ad98492
2014-03-05 13:19:10 +00:00
Halton Huo
f0870c3bfe Fix some pthread symbols build as C++ symbol under x64 lunch.
Functions protected with !defined(__LP64__) will be get build as C++
symbols for X64 build. This is not the desired work. So protect the
implementation with !defined(__LP64__) as well.

Change-Id: I4ef50ec36e46289ab308063e24f6c5ac61a6ca8d
2014-03-05 16:34:20 +08:00
Elliott Hughes
636bcf0f69 am 614f7626: am bef50164: Merge "Remove dead NULL checks from pthread code."
* commit '614f7626fc5dcf5c0cff2c49799f2659524d3ad3':
  Remove dead NULL checks from pthread code.
2014-03-04 19:16:08 +00:00
Elliott Hughes
39b644a0e2 Remove dead NULL checks from pthread code.
GCC is removing these checks anyway because it knows the arguments
must be non-null, so leaving this code around is just confusing.

We know from experience that people were shipping code with locking
bugs because they weren't checking for error returns. Failing hard
like glibc does seems the better choice. (And it's what the checked
in code was already doing; this patch doesn't change that. It just
makes it more obvious that that's what's going on.)

Change-Id: I167c6d7c0a296822baf0cb9b43b97821eba7ab35
2014-03-04 10:55:39 -08:00
Elliott Hughes
43b9169ffb am 17ef5653: am a0bf9bde: Merge "Implement POSIX pthread_mutex_timedlock."
* commit '17ef5653dd8aa92176e90964c95a02ccf4809695':
  Implement POSIX pthread_mutex_timedlock.
2014-03-04 18:50:35 +00:00
Elliott Hughes
0e714a5b41 Implement POSIX pthread_mutex_timedlock.
This replaces the non-standard pthread_mutex_lock_timeout_np, which we have
to keep around on LP32 for binary compatibility.

Change-Id: I098dc7cd38369f0c1bec1fac35687fbd27392e00
2014-03-04 10:27:58 -08:00
Calin Juravle
631d309268 am 0c8d3b35: am 8e541b12: Merge "Moved nameser.h and namser_compat.h to public include dir"
* commit '0c8d3b35c6eb07384b0176ab3d1d462bad996e06':
  Moved nameser.h and namser_compat.h to public include dir
2014-03-04 18:04:44 +00:00
Calin Juravle
3f6229cf32 am cc0948d8: am 4a46a689: Merge "Moved private dns header to their own dir."
* commit 'cc0948d86a50a1b2441552cd0f357ca040855928':
  Moved private dns header to their own dir.
2014-03-04 17:55:59 +00:00
Calin Juravle
ff4dfd26a8 am 8121d264: am 9f2d1bcd: Merge "Renamed the misleading libc/netbsd directory to libc/dns."
* commit '8121d264bc58c6d97edae23981d2646b05fcdf83':
  Renamed the misleading libc/netbsd directory to libc/dns.
2014-03-04 17:55:58 +00:00
Narayan Kamath
b863c9574e am 3f985d31: am caaae7f2: Merge "Implement pthread_condattr_{get,set}clock."
* commit '3f985d31b6fc3fd61f76b71aa05c3c69d853452a':
  Implement pthread_condattr_{get,set}clock.
2014-03-04 16:05:46 +00:00
Calin Juravle
569fb9887d Moved nameser.h and namser_compat.h to public include dir
This is part of the upstream sync (Net/Open/Free BSDs expose the
nameser.h in their public headers).

Change-Id: Ib063d4e50586748cc70201a8296cd90d2e48bbcf
2014-03-04 15:07:07 +00:00
Calin Juravle
4a46a68942 Merge "Moved private dns header to their own dir." 2014-03-04 14:25:51 +00:00
Calin Juravle
9f2d1bcd17 Merge "Renamed the misleading libc/netbsd directory to libc/dns." 2014-03-04 14:25:30 +00:00
Narayan Kamath
51e6cb33e3 Implement pthread_condattr_{get,set}clock.
We only support CLOCK_REALTIME and CLOCK_MONOTONIC for now,
so we us a single bit from pthread_cond_t->value to denote
the clock type. Note that this reduces the width of the counter
to 30 bits, but this should be large enough for all practical
purposes.

bug: 13232338

Change-Id: I857e7da64b3ecbb23eeac7c9f3fbd460f60231bd
2014-03-04 11:17:13 +00:00
Elliott Hughes
010d090241 am fea778b3: am 2c7c79e6: Merge "Switch to upstream alarm(3)."
* commit 'fea778b308be2dd0d75bd757129c3ef62ace3a61':
  Switch to upstream alarm(3).
2014-03-04 01:11:01 +00:00
Elliott Hughes
2c7c79e6e5 Merge "Switch to upstream alarm(3)." 2014-03-04 00:58:53 +00:00
Elliott Hughes
aedb00d04e Switch to upstream alarm(3).
The only way the setitimer call can fail is if the unsigned number of seconds is
too large to fit in the kernel's signed number of seconds. If you schedule a
68-year alarm, glibc will fail by returning 0 and BSD will fail by returning -1.

Change-Id: Ic3721b01428f5402d99f31fd7f2ba2cc58805607
2014-03-04 00:58:31 +00:00
Mark Salyzyn
4fc7758e6f am 337815ff: am f33df6a6: Merge "libc: Make calls to new user-space logger (revisit)"
* commit '337815ffa2d4c899bf3c2b9798cb90665b497cea':
  libc: Make calls to new user-space logger (revisit)
2014-03-03 21:18:08 +00:00
Mark Salyzyn
f33df6a662 Merge "libc: Make calls to new user-space logger (revisit)" 2014-03-03 21:05:19 +00:00
Elliott Hughes
1eb606df0a am 46215a8b: am dfeb42ed: Merge "If the kernel doesn\'t have MADV_MERGEABLE, stop asking for it."
* commit '46215a8b53e149de3fc28600c2b2eebe66d36716':
  If the kernel doesn't have MADV_MERGEABLE, stop asking for it.
2014-03-03 20:55:35 +00:00
Elliott Hughes
29264f4eda am f6ce4490: am 15e71cd7: Merge "Remove deprecated and unused constants from <sys/klog.h>."
* commit 'f6ce44900e5b94c18a026ac4ce4d5fd2c51663d4':
  Remove deprecated and unused constants from <sys/klog.h>.
2014-03-03 20:55:35 +00:00
Calin Juravle
cecc036970 Moved private dns header to their own dir.
Bug: 13219633
Change-Id: I3435ef7564b9ad3c7b54188a0809440993b36c9e
2014-03-03 20:40:41 +00:00
Mark Salyzyn
f38292862b libc: Make calls to new user-space logger (revisit)
* TARGET_USES_LOGD is true or false, yes is not valid
* was supposed to be in the libc_bionic definition

Change-Id: I7f15d0fe61205641f7310ba9762df885e6c959d0
2014-03-03 12:30:24 -08:00
Elliott Hughes
9bd9b7dd20 If the kernel doesn't have MADV_MERGEABLE, stop asking for it.
Note that a dynamically-linked binary will still probably see two attempts ---
one by the dynamic linker (which will set its copy of the flag so it won't try
again) and then one by the executable itself (which gets a new uninitialized
copy of the flag).

Change-Id: Id6b7e47780f0f24d2ca0384a75373f4824fa8f12
2014-03-03 11:54:21 -08:00
Elliott Hughes
e4ab19c67d Remove deprecated and unused constants from <sys/klog.h>.
Change-Id: I23d54b5eaf918859480f927534a3f9e3af602311
2014-03-03 10:57:28 -08:00
Elliott Hughes
019cff957e am 3c42b739: am ddad384d: Merge "Fix build."
* commit '3c42b73985817da87c32c2d97a58e5e4f21d48a6':
  Fix build.
2014-03-01 02:12:59 +00:00
Elliott Hughes
a8b1eb3fcf Fix build.
Change-Id: I71cde79263d5f5a8382865b8151f65c5c05ea17b
2014-02-28 17:59:29 -08:00
Elliott Hughes
79370b2aee am 5b9d3ddf: am 2ec592c3: Merge "Add recvmmsg and sendmmsg syscalls."
* commit '5b9d3ddf372ca47e3065845487a770794021c760':
  Add recvmmsg and sendmmsg syscalls.
2014-03-01 01:24:39 +00:00
Elliott Hughes
e63d519946 am 796b7c7c: am ddc8cc7a: Merge "Add getprogname/setprogname for BSD compatibility."
* commit '796b7c7cf9404b59b2120177d2f2b40ecc58c3c8':
  Add getprogname/setprogname for BSD compatibility.
2014-03-01 01:24:38 +00:00
Elliott Hughes
2ec592c338 Merge "Add recvmmsg and sendmmsg syscalls." 2014-03-01 01:14:23 +00:00
Elliott Hughes
692207eb45 Add getprogname/setprogname for BSD compatibility.
This is one less change we have to make when porting BSD code.

Bug: https://code.google.com/p/android/issues/detail?id=34898
Change-Id: If9b1a8d16996c7a19abcce8d3a456afc3e105a41
2014-02-28 16:23:27 -08:00
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