Commit graph

1810 commits

Author SHA1 Message Date
Elliott Hughes
84136f4be7 Merge "Clean up some <stdio.h> constants."
am: 7f86f1dd15

Change-Id: I917e76ed6786ce08fac63f887e84c04b20cd02b8
2017-08-01 18:14:00 +00:00
Elliott Hughes
b15feb7024 Clean up some <stdio.h> constants.
And actually test an assertion rather than just state it in a comment.

Bug: N/A
Test: ran tests
Change-Id: I07699483aca4aac4e089d8b99123cb5bde9b3c63
2017-07-31 17:20:18 -07:00
Elliott Hughes
b82a2d0bd5 Merge "POSIX getlogin_r/LOGIN_NAME_MAX/TTY_NAME_MAX."
am: 8aa4bc7c55

Change-Id: I578d3e5c096401b0447f9ed7223d3e20ffb5b19e
2017-07-29 14:59:15 +00:00
Elliott Hughes
8aa4bc7c55 Merge "POSIX getlogin_r/LOGIN_NAME_MAX/TTY_NAME_MAX." 2017-07-29 14:56:02 +00:00
Elliott Hughes
105e768638 Merge "Fix the sysconf _SC_2_VERSION test."
am: 3e183a5d30

Change-Id: I384fc20676715a1385a182428e5bbd17d4e3d8e8
2017-07-29 07:07:47 +00:00
Elliott Hughes
6c135f4c41 Fix the sysconf _SC_2_VERSION test.
Not sure how this ended up broken. Too many branches!

Bug: N/A
Test: ran tests
Change-Id: Ieef1e8170c9aaf139d9e0664475ccb08b8fcdeba
2017-07-28 16:53:32 -07:00
Elliott Hughes
06bd5862b1 POSIX getlogin_r/LOGIN_NAME_MAX/TTY_NAME_MAX.
Bug: N/A
Test: ran tests
Change-Id: I97c8ecc82fb09c3fa4bb5e6f000d46f04f3d1702
2017-07-28 16:34:38 -07:00
Elliott Hughes
a97079d94e Merge "Implement wcwidth(3) in terms of icu4c."
am: bafa1985ec

Change-Id: Ia7e74b6124206fe5f2c5bf372c03ee5246045462
2017-07-28 21:50:26 +00:00
Elliott Hughes
c41b560f5f Implement wcwidth(3) in terms of icu4c.
Based on com.google.i18n.CharWidth by the icu-team folks.

Bug: N/A
Test: ran tests
Change-Id: Ia9d818ec4ae60f2f3978533195330d00699397c5
2017-07-27 17:08:24 -07:00
Elliott Hughes
72f06ce7fe Merge "Use O_APPEND for stdio append mode."
am: 38bcf2b704

Change-Id: I4e1274d93adafffc6c4795cbcb5755735533c4de
2017-07-27 15:42:52 +00:00
Elliott Hughes
33a8cb1d1a Use O_APPEND for stdio append mode.
"Although not explicitly required by this volume of POSIX.1-2008, a good
implementation of append (a) mode would cause the O_APPEND flag to be set."

Yeah, about that...

Bug: N/A
Test: ran tests
Change-Id: I23c4bc5c1ebc92e0cb44025d2d313f321f9ffa68
2017-07-25 18:11:23 -07:00
Elliott Hughes
c5c7bee025 Merge "tests: clean up bionic-unit-tests-static linking"
am: b8115bdf4f

Change-Id: I851293e85617365eacdc0aa811473d5a6ebfbb1d
2017-07-25 15:00:25 +00:00
Elliott Hughes
f32d484ace tests: clean up bionic-unit-tests-static linking
Adding libc++_static explicitly is not needed when it is specified
via stl:, and was the real reason we needed --allow-multiple-definition.

Bug: N/A
Test: ran static tests (32- and 64-bit)
Change-Id: I254a4b8c4f7955a17c970d31b427b05c1a2e0acf
Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
2017-07-24 16:22:17 -07:00
Elliott Hughes
2a731897e5 Merge "Make xfail passes not failures."
am: 4dc80181cd

Change-Id: I38cfd064c28994372d6f39a6f7e1e93a3ee58779
2017-07-24 20:55:11 +00:00
Elliott Hughes
4dc80181cd Merge "Make xfail passes not failures." 2017-07-24 20:51:18 +00:00
Elliott Hughes
59378a9a10 Merge "Replace fmemopen."
am: bff8da308f

Change-Id: I67a84a5bc4d879a51871778fd4cea5646e54c34f
2017-07-24 20:39:09 +00:00
Elliott Hughes
bff8da308f Merge "Replace fmemopen." 2017-07-24 20:36:16 +00:00
Elliott Hughes
f06c96a487 Merge "Apply recent strto* fix, add new tests."
am: 89ff49942b

Change-Id: I8d64ce9ecb21c1171ae43153a767a613877aa2ca
2017-07-24 20:22:52 +00:00
Elliott Hughes
778b1bd7f6 Merge "Replace killpg."
am: 57ad09278f

Change-Id: Ib1902dbe08b5c797278a4425ae8434dcadd7f06b
2017-07-24 20:22:39 +00:00
Elliott Hughes
89ff49942b Merge "Apply recent strto* fix, add new tests." 2017-07-24 20:18:34 +00:00
Elliott Hughes
57ad09278f Merge "Replace killpg." 2017-07-24 20:16:40 +00:00
Elliott Hughes
3a4c45499e Replace fmemopen.
A new implementation starting from the FreeBSD fmemopen rather than the
OpenBSD one we used to use.

The tests were arrived at by translating each sentence in
http://pubs.opengroup.org/onlinepubs/9699919799/functions/fmemopen.html,
plus http://man7.org/linux/man-pages/man3/fmemopen.3.html for historical
GNU bugs.

Bug: http://b/31304889
Test: ran tests
Change-Id: Id8b168c9ecde638e9cdedbc3b8a0982fc83c7048
2017-07-24 10:48:42 -07:00
Elliott Hughes
93a89f84e4 Make xfail passes not failures.
Bug: http://b/63703384
Test: ran tests
Change-Id: I02dfc92cfc0e07831b8f3a974803be384bc02f1e
2017-07-21 18:51:06 -07:00
Elliott Hughes
452c185a0b Merge "Hide various mbstate implementation details."
am: dcdd0e3760

Change-Id: I4f2941939f40c04344f3f9dcfd5debe7780d9275
2017-07-15 03:19:16 +00:00
Elliott Hughes
697f42afdb Hide various mbstate implementation details.
...by inlining them.

Also fix a couple of harmless bugs in passing. I've added tests, but in
both cases I don't think it was actually possible to hit the bad behavior:
we'd hit another test and fail immediately after in an externally
indistinguishable way.

Bug: N/A
Test: readelf
Change-Id: I8466050b0bfe2b7b94c76b383cf10c1d9d28debd
2017-07-14 17:00:05 -07:00
Elliott Hughes
5a99bd4ea7 Merge "Fix unistd._POSIX_macros_smoke test."
am: 03e9c498d4

Change-Id: I751bc797ae578760664b51859c7b9a1711709adb
2017-07-13 19:27:58 +00:00
Elliott Hughes
a35293534f Fix unistd._POSIX_macros_smoke test.
We now claim _POSIX2_VERSION, but the test wasn't updated.

Bug: N/A
Test: ran tests
Change-Id: Idb3369b3df4b964f585597f0d37962ae619322d2
2017-07-13 10:20:41 -07:00
Elliott Hughes
f826a37b95 Apply recent strto* fix, add new tests.
The behavior with "0xy" was wrong: we'd swallow the 'x'.

Bug: N/A
Test: ran tests
Change-Id: I2464d22a2408e99880303876306f18a25c390ad9
2017-07-13 09:35:15 -07:00
Elliott Hughes
7532b32627 Replace killpg.
Upstream's killpg is diverging further from glibc behavior, so let's just fork.

Bug: N/A
Test: ran tests
Change-Id: I70a3543018bc0a5c0bbf019ac527043b90568fda
2017-07-11 15:00:17 -07:00
Pavel Labath
8431285728 Merge "sys_ptrace_test: Better detect missing HW support"
am: fbefc86310

Change-Id: Idd43ea10d7e91353e33ff9efe0531eed64bd1a31
2017-07-11 08:17:17 +00:00
Pavel Labath
95d8fb1e84 sys_ptrace_test: Better detect missing HW support
If the hardware debug support is missing from the CPU, the kernel can
end up in the state where it reports that it supports N(>0) watchpoints,
but the "maximum supported watchpoint size" is zero.

This is not a really sensible API, but it is what we have. I'm going to
speak to folks upstream about whether we can have it report something
more sensible, but that will take a while (if ever).

So, for the time being, detect this situation and treat it as if no
hardware watchtpoints/breakpoints are supported.

Test: bionic-unit-tests --gtest_filter="sys_ptrace.*"
Change-Id: Id6a013c9bec8d8b450b4a36c28431f6b7fd15879
Bug: 63116544
2017-07-10 12:52:35 +00:00
Elliott Hughes
e716af709d Merge "Make <sys/ttydefaults.h> more usable."
am: 1de6d0bb8a

Change-Id: Id12e3e0847f8c114509f9acd4ef3751c889cae18
2017-07-06 22:33:46 +00:00
Elliott Hughes
1de6d0bb8a Merge "Make <sys/ttydefaults.h> more usable." 2017-07-06 22:20:34 +00:00
Elliott Hughes
02fdd0570e Make <sys/ttydefaults.h> more usable.
* TTYDEF_OFLAG referred to the BSD OXTABS constant instead of the Linux XTABS,
  so references to it wouldn't compile.

* CEOL was incorrect (compared to `stty -a`).

* ttydefchars wouldn't compile (removed rather than attempt to fix something
  of unclear utility).

Bug: http://b/63145226
Test: new test
Change-Id: I823e5eaab789cafd2eeea03f77ea553346822f74
2017-07-06 10:33:15 -07:00
Andreas Gampe
6b3a608fc9 Merge "Bionic: Add ziparchive test dependency"
am: 7b7475ce85

Change-Id: I391591c530b2c33ddb8ace15c98f895e52140c5f
2017-07-06 15:00:04 +00:00
Andreas Gampe
b9797fe91c Bionic: Add ziparchive test dependency
Add missing dependency.

Bug: 37342627
Test: m
test: mmma bionic
Change-Id: I43ae69a007f0e8745db5721296f457b3e58206dd
2017-07-05 22:36:20 -07:00
Dimitry Ivanov
d24ffb697b Merge "Enable dlfcn.dt_runpath_absolute_path in glibc tests"
am: 291e895b37

Change-Id: Id8ced96e8189dce17a1636aa30effbbb65121df2
2017-06-27 19:56:24 +00:00
Dimitry Ivanov
db6ab3d5ec Enable dlfcn.dt_runpath_absolute_path in glibc tests
dlfcn.dt_runpath_absolute_path no longer fails when
running bionic-unit-tests on glibc

Bug: http://b/25320359
Test: bionic-unit-tests-glibc --gtest_filter=dlfcn.dt*
Change-Id: Ia0ecf43293cb0fed28516fd8cb87e7f5f2d6e648
2017-06-27 11:02:51 -07:00
Elliott Hughes
02a12a3fd4 Merge "Shave another uninteresting stack frame off aborts." am: e300bf837f
am: 14dddaef5a

Change-Id: I364afd38ee1112cac0bc30232bdb43e4f31c0e17
2017-06-21 00:32:19 +00:00
Elliott Hughes
d7c52625f2 Shave another uninteresting stack frame off aborts.
With this, stack frame 0 is the abort, not tgkill.

arm:

     #00 pc 0001a41c  /system/lib/libc.so (abort+63)

arm64:

     #00 pc 000000000001d75c  /system/lib64/libc.so (abort+120)

Also "include what you use" for <sys/syscall.h>.

Bug: N/A
Test: ran `crasher abort` and `crasher64 abort`
Change-Id: I6517ac67b39b4133e890d52efc115071c812958b
2017-06-20 14:58:16 -07:00
Elliott Hughes
206a1fd78b Merge "Add #defines for some key enums." am: 0c44c05166
am: ed283e7926

Change-Id: I1324ac46c7bd0212fad673f2bd463b568a3e9967
2017-06-16 21:10:00 +00:00
Elliott Hughes
0c44c05166 Merge "Add #defines for some key enums." 2017-06-16 20:56:06 +00:00
Christopher Ferris
1e5a6b651b Merge "Update posix_memalign testing." am: b33accf799
am: 4d8149bf9e

Change-Id: I38858d0e49f5ad01dce7a7965697401abe399a5a
2017-06-15 23:23:14 +00:00
Elliott Hughes
8ad4093659 Add #defines for some key enums.
Building ruby actually trips over both of these:

* if the RTLD_ constants aren't #defined, it uses its own incorrect values.

* if the REG_ constants aren't #defined, it confuses x86 with x86-64.

In all other places where we have enums in our headers, we already match
existing glibc practice.

Bug: http://b/62531921
Test: builds
Change-Id: I5b3aab25a1a24611bdc58f2eda4104a78e9f841c
2017-06-15 15:12:29 -07:00
Christopher Ferris
3a32d95e28 Update posix_memalign testing.
Move all tests into stdlib_test.cpp since that's where the definition lives
in bionic.

Add a sweep test and a various size test.

Test: Run new unit tests on glibc and angler.
Change-Id: Ief1301f402bea82ce90240500dd6a01636dbdbae
2017-06-15 14:18:08 -07:00
Elliott Hughes
edc195b403 Merge "Remove volatile from the __errno declaration." am: 7f6bcc4780
am: ccc97f46d3

Change-Id: Ied1902ae342999dc7e344528570793d711946d3c
2017-06-14 01:03:36 +00:00
Treehugger Robot
7f6bcc4780 Merge "Remove volatile from the __errno declaration." 2017-06-14 00:44:33 +00:00
Elliott Hughes
e452cb1ff3 Remove volatile from the __errno declaration.
This breaks code that declares `errno` itself for whatever crazy reason:

  b.c:22:12: error: conflicting types for '__errno'
  extern int errno;
             ^
  /usr/local/google/ndkports/toolchain/bin/../sysroot/usr/include/errno.h:47:20: note: expanded from macro 'errno'
  #define  errno   (*__errno())
                     ^
  /usr/local/google/ndkports/toolchain/bin/../sysroot/usr/include/errno.h:44:15: note: previous declaration is here
  volatile int* __errno(void) __attribute_const__;
                ^

Bug: N/A
Test: built various bits of GNU source
Change-Id: I27c03bf3bde419a001f98f1ea6c267c847f31271
2017-06-13 16:02:07 -07:00
Xin Li
99bba22fcb Merge "libc: Sync qsort(3) with FreeBSD revision r318515." am: 017ee76b15
am: d36052b8ec

Change-Id: I5ff8510d83d2630336a923e53ce7bf6454339f50
2017-06-13 20:56:44 +00:00
Xin Li
4b1a3992de libc: Sync qsort(3) with FreeBSD revision r318515.
r279663: enhance to handle 32-bit aligned data on 64-bit systems

r279666: qsort(3): small style(9) cleanups.

r288030: Use ANSI C prototypes.  Eliminates -Wold-style-definition
warnings.

r318514: Use size_t.

r318515: Reduce the possible recursion level to log2(N) by always
recursing on the smaller partition instead.

Bug: 38450217
Test: builds, ./tests/run-on-host.sh 64
Change-Id: Ieb622e6f54f8f6d6f62e1bdb491d3b5c8e2f9965
2017-06-13 18:49:54 +00:00