aboutsummaryrefslogtreecommitdiffstats
path: root/libc/libc.x86.map
Commit message (Collapse)AuthorAgeFilesLines
* More missing _unlocked <stdio.h> functions.Elliott Hughes2017-10-311-0/+7
| | | | | | | | | | | | | Also simplify trivial one-liners like perror/puts/fputs, and clean up fread/fwrite slightly. Fix perror to match POSIX. Add basic perror and *_unlocked tests. Bug: N/A Test: ran tests Change-Id: I63f83c8e0c15c3c4096509d17421ac331b6fc23d
* Merge "Implement pthread_attr_getinheritsched/pthread_attr_setinheritsched."Elliott Hughes2017-10-261-0/+2
|\
| * Implement pthread_attr_getinheritsched/pthread_attr_setinheritsched.Elliott Hughes2017-10-251-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Historically, Android defaulted to EXPLICIT but with a special case because SCHED_NORMAL/priority 0 was awkward. Because the code couldn't actually tell whether SCHED_NORMAL/priority 0 was a genuine attempt to explicitly set those attributes (because the parent thread is SCHED_FIFO, say) or just because the pthread_attr_t was left at its defaults. Now we support INHERIT, we could call sched_getscheduler to see whether we actually need to call sched_setscheduler, but since the major cost is the fixed syscall overhead, we may as well just conservatively call sched_setscheduler and let the kernel decide whether it's a no-op. (Especially because we'd then have to add both sched_getscheduler and sched_setscheduler to any seccomp filter.) Platform code (or app code that only needs to support >= P) can actually add a call to pthread_attr_setinheritsched to say that they just want to inherit (if they know that none of their threads actually mess with scheduler attributes at all), which will save them a sched_setscheduler call except in the doubly-special case of SCHED_RESET_ON_FORK (which we do handle). An alternative would be "make pthread_attr_setschedparams and pthread_attr_setschedprio set EXPLICIT and change the platform default to INHERIT", but even though I can only think of weird pathological examples where anyone would notice that change, that behavior -- of pthread_attr_setschedparams/pthread_attr_setschedprio overriding an earlier call to pthread_attr_setinheritsched -- isn't allowed by POSIX (whereas defaulting to EXPLICIT is). If we have a lot of trouble with this change in the app compatibility testing phase, though, we'll want to reconsider this decision! -*- This change also removes a comment about setting the scheduler attributes in main_thread because we'd have to actually keep them up to date, and it's not clear that doing so would be worth the trouble. Also make async_safe_format_log preserve errno so we don't have to be so careful around it. Bug: http://b/67471710 Test: ran tests Change-Id: Idd026c4ce78a536656adcb57aa2e7b2c616eeddf
* | Merge "Add POSIX swab."Treehugger Robot2017-10-191-0/+1
|\ \
| * | Add POSIX swab.Elliott Hughes2017-10-181-0/+1
| |/ | | | | | | | | | | | | | | | | | | Surprisingly to me, there are actual uses of `swab` in the codebases I have available to search, including one with a #ifndef __ANDROID__ around it. Bug: N/A Test: ran tests Change-Id: Ic91b78ae22bb65c346cb46dd38916f48d979abe0
* / Add POSIX fexecve.Elliott Hughes2017-10-181-0/+1
|/ | | | | | | | | | I'm skeptical about the usefulness of this, but it's in POSIX, it's in glibc (but not iOS), and it is used in some internal source (test runners and container code). Bug: N/A Test: ran tests Change-Id: I92c5398f2a679b21a33fba92bc8e67e3ae2eb76f
* Add pthread_setschedprio.Elliott Hughes2017-10-171-0/+1
| | | | | | Bug: http://b/26204555 Test: ran tests Change-Id: Ic34062b9b6036a1ce2642a069514bab48a893338
* Complete <netdb.h>.Elliott Hughes2017-10-151-0/+8
| | | | | | | | | | | | | | | | | | | | Add all the missing <netdb.h> functions. Also fix getservbyport to handle a null protocol correctly. Also fix getservbyname/getservbyport to not interfere with getservent. Also fix endservent to reset getservent iteration. Also reduce unnecessary differences from upstream NetBSD sethostent.c. The servent implementation is still horrific, and we should probably support protoent too so that debugging tools can use getprotobyname/getprotobynumber. Bug: N/A Test: ran tests Change-Id: I639108c46df0a768af297cf3bbce857cb1bef9d9
* Implement <spawn.h>.Elliott Hughes2017-10-111-0/+21
| | | | | | | | | | | | | | As described here: http://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_spawn.html And here: http://man7.org/linux/man-pages/man3/posix_spawn.3.html Bug: N/A (but mentioned in my inbox since 2013) Test: ran tests Change-Id: I0b27b2919b660779e3bd8a25fb429527c16dc621
* Don't repeat ourselves unnecessarily in the maps.Elliott Hughes2017-10-021-18/+18
| | | | | | | | | We can mark a whole version "introduced=" rather than doing every line separately. Bug: N/A Test: builds Change-Id: I3219edc755a42ce5ff6258efb744fb5e05967a3a
* Merge changes I76dde1e3,I54fec461Elliott Hughes2017-09-291-0/+2
|\ | | | | | | | | | | * changes: Add <sys/random.h>. Run other maintenance scripts as part of the preupload hooks.
| * Add <sys/random.h>.Elliott Hughes2017-09-291-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | iOS 10 has <sys/random.h> with getentropy, glibc >= 2.25 has <sys/random.h> with getentropy and getrandom. (glibc also pollutes <unistd.h>, but that seems like a bad idea.) Also, all supported devices now have kernels with the getrandom system call. We've had these available internally for a while, but it seems like the time is ripe to expose them. Bug: http://b/67014255 Test: ran tests Change-Id: I76dde1e3a2d0bc82777eea437ac193f96964f138
* | Add <glob.h>.Elliott Hughes2017-09-261-0/+2
|/ | | | | | | | | | | | | | | This is the FreeBSD implementation, plus some tests. The FreeBSD implementation includes the GNU extensions and seems to be what iOS is using too, which should provide bug compatibility for app developers. The code unfortunately uses a lot of stack, and uses FreeBSD locale implementation that we don't have, but it does seem better maintained than the other BSDs. Bug: http://b/29251134 Test: ran tests Change-Id: Ie477b45e42a6df1319b25712098519d2b33adf67
* Finish <search.h>.Elliott Hughes2017-08-311-0/+6
| | | | | | | | | | | I'm unable to find a bug, but we've had requests for this internally once or twice (though I pointed those folks at the STL), and there's code we build for the host or in our bootloaders that would use this, and there's reasonable-looking FreeBSD implementation ready and waiting. Bug: N/A Test: ran tests Change-Id: I6ddee4b71bea4c22ed015debd31d3eaac4fcdd35
* Pretend the <fts.h> functions didn't appear until 21.Elliott Hughes2017-08-251-5/+5
| | | | | | | | | | Because there was an accidental ABI breakage in 21, and we can't fix the past. It seems more useful to refuse to build code that won't work on any current or future device. Bug: https://issuetracker.google.com/37051826 Test: builds Change-Id: I4b5c30f899e2c7307642e2fb20e43a3ca14ae7fe
* Implement <iconv.h>.Elliott Hughes2017-08-251-0/+3
| | | | | | Bug: http://b/32978596 Test: ran tests Change-Id: I56b6ae3d9c5a3a56d2b4afba33fb8f9e964bf7b9
* Fix ndk build.Elliott Hughes2017-08-251-4/+4
| | | | | | | | | | | | | | | | | | | | | | | The NDK gen_stub_libs.py doesn't support introduced=P yet: Traceback (most recent call last): File "build/soong/cc/gen_stub_libs.py", line 439, in <module> main() File "build/soong/cc/gen_stub_libs.py", line 429, in main versions = SymbolFileParser(symbol_file, api_map).parse() File "build/soong/cc/gen_stub_libs.py", line 234, in parse versions.append(self.parse_version()) File "build/soong/cc/gen_stub_libs.py", line 269, in parse_version symbols.append(self.parse_symbol()) File "build/soong/cc/gen_stub_libs.py", line 286, in parse_symbol tags = decode_api_level_tags(tags, self.api_map) File "build/soong/cc/gen_stub_libs.py", line 76, in decode_api_level_tags raise ParseError('Unknown version name in tag: {}'.format(tag)) __main__.ParseError: Unknown version name in tag: introduced=P Bug: N/A Test: builds Change-Id: Ifd91e525b30f3aa9ad8c889c9564cd769a3a603a
* Add syncfs(2).Elliott Hughes2017-08-241-3/+4
| | | | | | | | GMM calls this system call directly at the moment. That's silly. Bug: http://b/36405699 Test: ran tests Change-Id: I1e14c0e5ce0bc2aa888d884845ac30dc20f13cd5
* Finish <stdio_ext.h>.Elliott Hughes2017-08-011-0/+2
| | | | | | | | | Implement __freading and __fwriting, and clarify the documentation that was the cause of these not being implemented for years. Bug: http://b/17157253 Test: ran tests Change-Id: I89542c8131b13889e2585417a024050ecf2abcb7
* Merge "Allow calling v?dprintf for any target API level."Treehugger Robot2017-07-311-2/+2
|\
| * Allow calling v?dprintf for any target API level.Dan Albert2017-07-271-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Old versions of Android called these fdprintf and vfdprintf out of fears that the glibc names would collide with user debug printfs. Allow users to just use dprintf and vfdprintf on any version by renaming those calls to their legacy equivalents if needed. Test: built trivial NDK module targeting android-14 and using dprintf Test: make checkbuild Bug: https://github.com/android-ndk/ndk/issues/72 Change-Id: I90de149278f931380418536abaef47c5cee5c195
* | POSIX getlogin_r/LOGIN_NAME_MAX/TTY_NAME_MAX.Elliott Hughes2017-07-281-2/+7
|/ | | | | | Bug: N/A Test: ran tests Change-Id: I97c8ecc82fb09c3fa4bb5e6f000d46f04f3d1702
* Move mallopt to correct section.Christopher Ferris2017-05-311-1/+1
| | | | | | | Bug: 62202823 Test: Built and built unit tests. Change-Id: Icefc152eb756fd60ce8f51d694f22923a41a9cd1
* Add a netcontext variant of gethostbynameBen Schwartz2017-05-221-0/+1
| | | | | | Bug: 34953048 Test: Integration tests pass Change-Id: I670427d67fde09d8e76ea6a920c90a1969230c4f
* Merge "Add a netcontext variant of gethostbyaddr"Treehugger Robot2017-05-221-0/+1
|\
| * Add a netcontext variant of gethostbyaddrBen Schwartz2017-05-181-0/+1
| | | | | | | | | | | | Bug: 34953048 Test: Integration tests pass Change-Id: Id04830345be56cd7a077981c6e2acfb5568e7a88
* | Add support for modifying decay timer.Christopher Ferris2017-05-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add the mallopt function, and only a single option so far. Bug: 36401135 Test: Built and booted bullhead. Test: Ran jemalloc unit tests. Test: Ran bionic unit tests. Test: Ran a test that allocated and free'd a large piece of memory, Test: and verified that after changing the parameter, the PSS Test: sticks around (decay timer set to 1), the PSS is purged (decay Test: timer set to 0). Change-Id: I6927929b0c539c1023d34772d9e26bb6a8a45877
* | Run bionic/libc/tools/genversion-scripts.pyElliott Hughes2017-05-111-51/+51
|/ | | | | | | | | When 2e8e5e60b6ecbcfe2110242e41b9ec5340b11cf5 was cherrypicked, we didn't regenerate the generated files. Bug: N/A Test: builds Change-Id: I87730e834520aea742738708237d11a798bf3220
* Restore __system_property_find_nth versionDimitry Ivanov2017-04-131-1/+1
| | | | | | | | | | Moving this to LIBC_DEPRECATED caused compatibility problems for some apps. Bug: http://b/36566667 Test: launch app and check that it does not crash Change-Id: I470f916ef818ff62ff5391b3a0c86dd44c1e8cd0 (cherry picked from commit 2167e74f168a192ca9c63abee1c03197326b83d7)
* Move __system_property_*_serial back to LIBCDimitry Ivanov2017-02-241-2/+2
| | | | | | | Bug: http://b/35764972 Bug: http://b/34114501 Test: make Change-Id: Ibbda0107d07c432110a0633de03259e39480fde4
* Hide internal __system_property_* functionsDimitry Ivanov2017-02-231-7/+7
| | | | | | Bug: http://b/34114501 Test: bionic-unit-tests --gtest_filter=prop* Change-Id: I1fc57b4ced6aaf841aad64e12e7696d25c2e027b
* Merge "add fortified implementations of send/sendto"Treehugger Robot2017-02-151-0/+1
|\
| * add fortified implementations of send/sendtoDaniel Micay2017-02-141-0/+1
| | | | | | | | | | | | Bug: None Test: Bullhead builds+boots; CtsBionicTestCases passes. Change-Id: I2f137a100f679f7f2145d84b2f29ddd3e96a36ae
* | Add __system_property_wait and return the serial in ↵Elliott Hughes2017-02-131-0/+1
|/ | | | | | | | | | | | | | | | | | | | | | __system_property_read_callback. In order to implement android::base::WaitForProperty well, we need a way to wait not for *any* property to change (__system_property_wait_any), but to specifically wait for the property represented by a given `prop_info` to change. The android::base::WaitForProperty implementation, like attempts to cache system properties in the past, also needs a way to keep serials and values in sync, but the existing functions don't provide a cheap way to get a consistent snapshot. Change the __system_property_read_callback callback's type to include the serial corresponding to the given value. Add a test, slightly clean up some of the existing tests (and name them to include the names of the functions they're testing, in our usual style). Bug: http://b/35201172 Test: ran tests Change-Id: Ibc8ebe2e88eef1e333a1bd3dd7f68135f1ba7fb5
* Revert "Revert "Remove limit of system property name length""Dimitry Ivanov2017-01-241-0/+1
| | | | | | | | | This reverts commit 489f58b5eaedd5a80635bb3a7b39e97037c585f6. Bug: http://b/33926793 Bug: http://b/34670529 Test: Run bionic-unit-tests --gtest_filter=prop* Change-Id: Id4e94652dc2310a21f5b7bd3af098bf79df3f380
* Revert "Remove limit of system property name length"Dimitry Ivanov2017-01-241-1/+0
| | | | | | | | This reverts commit 5c1ce278f31bc6fc338b9b951f1adc7c2b343d7c. Bug: http://b/33926793 Bug: http://b/34670529 Change-Id: I0dc4a8ae55576c69b34b2958d8e664f7066b9c54
* Remove limit of system property name lengthDimitry Ivanov2017-01-231-0/+1
| | | | | | | | | | | | | This change introduces new __system_property_read_callback method to use in place of deprecated __system_property_read __system_property_set() and get() should just work but now do not have limit on system property names. Bug: http://b/33926793 Test: boot device, run adb shell propget Test: boot device with old version of init (protocol v1) Test: run bionic-unit-tests --gtest_filter=prop* Change-Id: I619fb5a7e27a272aac30011579665f6160888bc7
* Hide __system_property_add/update, deprecate find_nthDimitry Ivanov2017-01-101-3/+7
| | | | | | | | | | | | | These functions are supposed to be used only by the property service. __system_property_find_nth is deprecated and no longer part of NDK. Call to this function will result in abort for apps targeting Android O. Bug: http://b/34114501 Test: bionic-unit-tests --gtest_filter=prop* Change-Id: I9846965bf248e2ddf45cd7b293618245bbd87145
* Implement <langinfo.h>.Elliott Hughes2016-11-191-0/+2
| | | | | | | | | | | POSIX locale only, as usual. The GNU YESSTR and NOSTR extensions return the empty string in the C locale, so I haven't bothered supporting them. Bug: http://b/1401872 Test: bionic tests Change-Id: I6846839e4f9f1812344ed5dce0b93f83c0c20eb3
* Add strtof_l and strtod_l.Dan Albert2016-09-221-0/+4
| | | | | | | | libc++ needs these now. Add shims to match the others. Test: make checkbuild tests Bug: http://b/31639993 Change-Id: Ifec6c32099145d8d3d1a5639a4809e5e9f553c33
* Flesh out <sys/msg.h>, <sys/sem.h>, <sys/shm.h>.Elliott Hughes2016-08-181-0/+12
| | | | | | | | | | | | Also fix <sys/ipc.h>. Not useful except to systems/bringup folks for testing. Trivial tests added, and double-checked under strace to see that things look right. x86 -- which works differently to everything else -- tested on the host. Bug: http://b/27952303 Change-Id: I328534e994ae9e90755f545478fba03038c0bb94
* Move brillo closer to Android.Elliott Hughes2016-08-101-38/+38
| | | | | | | | | Hiding our legacy cruft seemed like a good idea, but in practice it will only mean worse interoperability. Plus we got it wrong, as the recent `putw` example showed. Change-Id: I167c7168eff133889028089c22a7a0dfb8d6d0cf
* Run genversion-scripts.py.Dan Albert2016-08-041-33/+33
| | | | Change-Id: I01c4d9a85d3397b02b00b4d33fafe6d9ae692ed7
* Run genversion-scripts.py.Dan Albert2016-08-021-464/+464
| | | | Change-Id: Iecc1b127c67a96aecc4e86582c1cc3291a4acf00
* Add ctermid.Elliott Hughes2016-06-091-0/+1
| | | | Change-Id: I7c7c815c2725df222932db923632c8b6419741ab
* Add futimes, futimesat, and lutimes.Elliott Hughes2016-06-081-0/+3
| | | | | | | | | Spotted these while cleaning up <sys/cdefs.h> --- if we remove __USE_XOPEN2K8, libchrome decides you "must" have futimes. Adding the missing functions (all just alternative interfaces to utimensat(2) system call) lets us clean up without breaking anything. Change-Id: If44fab08ee3de0e31066d650d128a3c96323529b
* Remove __brkDimitry Ivanov2016-06-031-1/+0
| | | | | | | The symbol is unused and deprecated Bug: http://b/29005114 Change-Id: I5e99c8b029514e8b2405a1eec23ac8941374a8a4
* Fix <wctype.h>.Elliott Hughes2016-04-281-0/+4
| | | | | | | | | | * Fix the return type of towlower_l/towupper_l. * Implement wctrans/wctrans_l/towctrans/towctrans_l. * Move declarations that POSIX says are available from both <wchar.h> and <wctype.h> to <bits/wctype.h> and include from both POSIX headers. * Write the missing tests. Change-Id: I3221da5f3d7e8a2fb0a7619dc724de45f7b55398
* Implement mblen(3).Elliott Hughes2016-04-281-0/+1
| | | | Change-Id: I65948ea5b9ecd63f966ba767ad6db4a2effc4700
* Make malloc debug symbols platform-privateDimitry Ivanov2016-04-271-4/+4
| | | | | Bug: http://b/28432442 Change-Id: I96b9cb8b57726b4e8d53069e72666cf107cdeba2