{"push_id":2416118524,"size":11,"distinct_size":6,"ref":"refs/heads/o-mr1","head":"535cabc6907c0794b9cb261ec9589ea1fa296290","before":"5b38ab19332105d3bdb0a827ebeec77df0274d51","commits":[{"sha":"1da8826acfa6826107dca88f3fd370d90bf37445","author":{"name":"Adrian DC","email":"12dd3edf19778ce3ff671afff1f3c7743019c997@gmail.com"},"message":"linker: Make platform text relocations denial optional\n\n * Use the TARGET_NEEDS_PLATFORM_TEXT_RELOCATIONS := true\n    configuration to allow a device to use legacy proprietary\n    libraries like camera on non-user build variants\n\n * Partial revert \"Remove textrels support for platform libs\"\n    commit 8068786ae67835291521e52f39c695e40f3ad20d.\n\n * Forward-port to AOSP 8.0, use __ANDROID_API_M__\n    and adapt to Android.bp build rules\n\nChange-Id: I994ab1a600a0b237b496ceebe2dd54febc28a6bd\nSigned-off-by: Adrian DC <radian.dc@gmail.com>","distinct":false,"url":"https://api.github.com/repos/Oreo-onyx/bionic/commits/1da8826acfa6826107dca88f3fd370d90bf37445"},{"sha":"c32fc1a3c93c4734749af928dac1003e91687d51","author":{"name":"Christopher R. Palmer","email":"dfedd7fdae8c01bfb08ce916158286f2c0207048@gmail.com"},"message":"linker: Add support for dynamic SHIM libraries\n\n * Adapt to latest AOSP bionic linker changes\n * Additional header to avoid unused function\n\nlinker: Add support for dynamic \"shim\" libs\n\nAdd a new environment variable\n\nLD_SHIM_LIBS\n\nthat is a colon (\":\") separated list of vertical bar (\"|\") separated pairs.\nThe pairs are the name for a soinfo reference (executable or shared library)\nfollowed by the name of the shim library to load.  For example:\n\nLD_SHIM_LIBS=rmt_storage|libshim_ioprio.so:/system/lib/libicuuv.so|libshim_icu53.so\n\nwill instruct the linker to load the dynamic library libshim_ioprio.so\nwhenver rmt_storage is executed [*] and will load libshim_icu53.so whenever\nany executable or other shared library links against /system/lib/libicuuv.so.\n\nThere are no restrictions against circular references.  In this example,\nlibshim_icu53.so can link against libicuuv.so which provides a simple and\nconvenient means of adding compatibility symbols.\n\n[*] Note that the absolute path is not available to the linker and therefore\nusing the name of executables does depend on the invocation and therefore\nshould only be used if absolutely necessary.  That is, running\n/system/bin/rmt_storage would not load any shim libs in this example because\nit does not match the name of the invocation of the command.\n\nIf you have trouble determining the sonames being loaded, you can also set\nthe environment variable LD_DEBUG=1 which will cause additional information\nto be logged to help trace the detection of the shim libs.\n\nChange-Id: I0ef80fa466167f7bcb7dac90842bef1c3cf879b6\n\nlinker: Fix the fact that shim libs do not properly call constructors\n\nChange-Id: I34333e13443a154e675b853fa41442351bc4243a\n\nlinker: Don't try to walk the g_active_shim_libs when doing dlsym\n\nThis is a bug in the original shim_lib implementation which was\ndoing the shim lib resolution both when loading the libraries\nand when doing the dynamic symbol resolution.\n\nChange-Id: Ib2df0498cf551b3bbd37d7c351410b9908eb1795\n\nRevert \"Revert \"linker: Reset the active shim libs each time we do a dlopen\"\"\n\nThis reverts commit fd0140b028dedabc572f4659cc015edfeee3cd60.\n\nChange-Id: I42b3acfcdc6b84251a396b9e42604bb5685196bd\n\nMake shim lib load failure non-fatal.\n\nInstead, print an appropriate warning message. Aborting symbol\nresolution on shim lib load failure leads to weird symbol lookup\nfailures, because symbols in libraries referenced after the one loading\nthe shim won't be loaded anymore without a log message stating why that\nhappened.\n\nChange-Id: Ic3ad7095ddae7ea1039cb6a18603d5cde8a16143\n\nbionic: Do not allow LD_SHIM_LIBS for setuid executables\n\nThat's really not safe...\n\nChange-Id: If79af951830966fc21812cd0f60a8998a752a941\n\nbionic: linker: Load shim libs *before* the self-linked libs\n\nBy loading them earlier, this allows us to override a symbol in\na library that is being directly linked.\n\nI believe this explains why some people have had problems shimming\none lib but when the changet he shim to be against a different\nlib it magically works.\n\nIt also makes it possible to override some symbols that were\nnearly impossible to override before this change.  For example, it is\npretty much impossible to override a symbol in libutils without\nthis change because it's loaded almost everywhere so no matter\nwhere you try to place the shimming, it will be too late and\nthe other symbol will have priority.\n\nIn particularly, this is necessary to be able to correctly\nshim the VectorImpl symbols for dlx.\n\nChange-Id: I461ca416bc288e28035352da00fde5f34f8d9ffa\n\nlinker: Allow text-relocs for x86 (only)\n\nThis effectively reverts\n\nhttps://android.googlesource.com/platform/bionic/+/e4ad91f86a47b39612e030a162f4793cb3421d31%5E%21/#F0\n\nfor x86 platforms.  Unfortunately, this seems like it is required\nif we are going to support ffmpeg.  The ffmpeg team decreed that they\nrequire text relocations for x86 (only) and that they would not\nfix the fact that android 6.0 makes ffmpeg unusable on x86:\n\nhttps://trac.ffmpeg.org/ticket/4928\n\nChange-Id: I68397f4d62f4f6acd8e0d41b7ecdc115969b890a\n\nlinker: Update find_library call for shimlibs\n\ncommits 0cdef7e7f3c6837b56a969120d9098463d1df8d8\n\"Respect caller DT_RUNPATH in dlopen().\"\nand 42d5fcb9f494eb45de3b6bf759f4a18076e84728\n\"Introducing linker namespaces\"\nadded new arguments to find_library, add them here.\n\nChange-Id: I8f35a45b00d14f8b2ce01a0a96d2dc7759be04a6\n\nlinker: Update LD_SHIM_LIBS parser function\n\n * Upgrade the code using the same changes as\n    42d5fcb9f494eb45de3b6bf759f4a18076e84728\n    bda20e78f0f314dbbf0f0bbcf0740cf2d6a4b85e\n\nChange-Id: Ic8be0871945bd9feccd0f94a6770f3cc78a70a0f\n\nInject shim libs as if they were DT_NEEDED.\n\nThe previous separate approach had one flaw: If the shim lib requires\nanother lib that's already loaded, find_library_internal() would return\nthe previously loaded copy, but the later load action would fail as the\nELF reader map of the initial loading round was already discarded and\nthus a new ElfReader instance for the soinfo instance was created, which\ndidn't know about the previous reading/loading state.\n\nChange-Id: Ib224dbd35d114197097e3dee14a077cc9130fedb\n\nlinker: Make platform text relocations denial enabled by default\n\n * msm8960 variant to support relocations by default\n\n * Partial revert \"Remove textrels support for platform libs\"\n    commit 8068786ae67835291521e52f39c695e40f3ad20d.\n\nChange-Id: I994ab1a600a0b237b496ceebe2dd54febc28a6bd\n\norigChange-Id: Ib9216bcc651d8d38999c593babb94d76dc1dbc95\n\nlinker: load shims prior to dt_needed check\n\nThis allows shims to override existing symbols, not just\ninject new symbols.\n\nChange-Id: Ic3ad7095ddae7ea1039cb6a18603d5cde8a16152","distinct":false,"url":"https://api.github.com/repos/Oreo-onyx/bionic/commits/c32fc1a3c93c4734749af928dac1003e91687d51"},{"sha":"8ea305adda8dcd22786d2cc3cae5586448ad0df6","author":{"name":"Paul Keith","email":"acfb00b00c86ca895da874ab615dbc1c595ab960@gmail.com"},"message":"linker: Move shims to TARGET_LD_SHIM_LIBS\n\n* To reduce security exposure, let's set this at compile time,\n  and block off all the code unless the board flag is set\n\nChange-Id: Ieec5f5d9e0f39a798fd48eae037ecffe9502474c","distinct":false,"url":"https://api.github.com/repos/Oreo-onyx/bionic/commits/8ea305adda8dcd22786d2cc3cae5586448ad0df6"},{"sha":"d17634c12819031906c223e4451129aa1789f5b1","author":{"name":"Tom Marshall","email":"1262307cc1bdcf44594471c15dbc89db1915b3dd@cyngn.com"},"message":"bionic: Let popen and system fall back to /sbin/sh\n\nThis allows recovery utilities such as minivold to work.\n\nChange-Id: I2136b0ca4188b7b44416f5d79492fc006382d4ad","distinct":false,"url":"https://api.github.com/repos/Oreo-onyx/bionic/commits/d17634c12819031906c223e4451129aa1789f5b1"},{"sha":"cf9226720b85455f8223fc6dc2b3d34f1ebd29ff","author":{"name":"LuK1337","email":"e5dd82ba551cd5824ff25209b043164644f98a02@gmail.com"},"message":"linker: allow the linker to shim executables\n\nChange-Id: I0980e7588e5894c22a4c76692507ab2eaf7ed334","distinct":false,"url":"https://api.github.com/repos/Oreo-onyx/bionic/commits/cf9226720b85455f8223fc6dc2b3d34f1ebd29ff"},{"sha":"b5a5a32f0a5658c808fb28b0c184976c522f0730","author":{"name":"Jake Weinstein","email":"6dccd8142a7a8a265024f1df602d29c11823a71c@gmail.com"},"message":"libc: ARM: Add Apple strcmp\n\n* Tested on Nextbit Robin (MSM8992)\n\n$ bench_strcmp -N \"strcmp_1k\" -s 1k -I 200\n\nBefore:\n              prc thr   usecs/call      samples   errors cnt/samp     size\nstrcmp_1k      1   1      3.79192           75        0      500     1024\n\nAfter:\n              prc thr   usecs/call      samples   errors cnt/samp     size\nstrcmp_1k      1   1      1.49527          101        0      500     1024\n\nChange-Id: I60599cbc903de777a12045081f1687613864cf39","distinct":true,"url":"https://api.github.com/repos/Oreo-onyx/bionic/commits/b5a5a32f0a5658c808fb28b0c184976c522f0730"},{"sha":"4d20b8821d9d6c2909183bb9410b1ee1529eeebe","author":{"name":"Jake Weinstein","email":"6dccd8142a7a8a265024f1df602d29c11823a71c@gmail.com"},"message":"libc: Import ARM strlen from Apple C library\n\n* Significant improvements across the board\n\n* Tested on Nextbit Robin (MSM8992)\n\nBefore:\n                                       iterations      ns/op\nBM_string_strlen/8                            20M        126    0.063 GiB/s\nBM_string_strlen/64                            5M        316    0.202 GiB/s\nBM_string_strlen/512                        1000k       1641    0.312 GiB/s\nBM_string_strlen/1024                        500k       3154    0.325 GiB/s\nBM_string_strlen/8Ki                         100k      24688    0.332 GiB/s\nBM_string_strlen/16Ki                         50k      48604    0.337 GiB/s\nBM_string_strlen/32Ki                         20k      97577    0.336 GiB/s\nBM_string_strlen/64Ki                         10k     200116    0.327 GiB/s\n\nAfter:\n                                       iterations      ns/op\nBM_string_strlen/8                            50M         13    0.576 GiB/s\nBM_string_strlen/64                           50M         39    1.604 GiB/s\nBM_string_strlen/512                          10M        163    3.138 GiB/s\nBM_string_strlen/1024                          5M        303    3.370 GiB/s\nBM_string_strlen/8Ki                        1000k       2275    3.600 GiB/s\nBM_string_strlen/16Ki                        500k       4531    3.616 GiB/s\nBM_string_strlen/32Ki                        200k       9487    3.454 GiB/s\nBM_string_strlen/64Ki                        100k      22854    2.868 GiB/s\n\nChange-Id: I735d5cfe6e908f52104647492442a8f3d01acf99","distinct":true,"url":"https://api.github.com/repos/Oreo-onyx/bionic/commits/4d20b8821d9d6c2909183bb9410b1ee1529eeebe"},{"sha":"98c36e80d1e24519eaeca2bd8465fab677640adc","author":{"name":"Yingshiuan Pan","email":"ede49bce292b041f0bd3118bf75c07fa507c481b@linaro.org"},"message":"libc: ARM: Add optimized memchr implementation\n\nThis optimization is extracted from cortex-strings and bionic-ized,\nand applied to arm-v7a cpus (a7, a9, a15, a53, denver, krait).\n\nI ran stringbench[1] on ARM Juno, this optimization could outperform\norigin C implementation by 77%.\n\n[1] https://android.git.linaro.org/gitweb/platform/external/stringbench.git\n\nChange-Id: I1c3fb0c89ce2b3ee7e44f492367b6caf6db58ccf\nSigned-off-by: Yingshiuan Pan <yingshiuan.pan@linaro.org>","distinct":true,"url":"https://api.github.com/repos/Oreo-onyx/bionic/commits/98c36e80d1e24519eaeca2bd8465fab677640adc"},{"sha":"aeae0f683b4f9943b0e39482042f6338930c62e0","author":{"name":"Jake Weinstein","email":"6dccd8142a7a8a265024f1df602d29c11823a71c@gmail.com"},"message":"libc: ARM: Add NEON-optimized memchr implementation from newlib\n\n* Thank you to Bernhard Rosenkränzer from Linaro for fixing an assembly\n  error when building with Clang.\n\nTest: mm\nChange-Id: Ief05eb5cbf3f47d80bf63a8cc256da0d3d5df041","distinct":true,"url":"https://api.github.com/repos/Oreo-onyx/bionic/commits/aeae0f683b4f9943b0e39482042f6338930c62e0"},{"sha":"45d01c273418e09ff19a65c4915391230299c14f","author":{"name":"Jake Weinstein","email":"6dccd8142a7a8a265024f1df602d29c11823a71c@gmail.com"},"message":"libc: Import ARM strcmp from newlib\n\n* Current version is also based on newlib, but an older revision\n\n* The Krait and A9 specific changes no longer seem relevant, so\n  let's use A15 directly.\n\n* Add strcmp benchmark to bionic benchmarks\n\nTested on OnePlus 3 (MSM8996):\n\nBefore (Krait strcmp):\n                                       iterations      ns/op\nBM_string_strcmp/8                          1000k         24    0.322 GiB/s\nBM_string_strcmp/64                           20M        123    0.519 GiB/s\nBM_string_strcmp/512                           2M        920    0.556 GiB/s\nBM_string_strcmp/1024                       1000k       1818    0.563 GiB/s\nBM_string_strcmp/8Ki                         200k      14405    0.569 GiB/s\nBM_string_strcmp/16Ki                        100k      28762    0.570 GiB/s\nBM_string_strcmp/32Ki                         50k      57526    0.570 GiB/s\nBM_string_strcmp/64Ki                         10k     114959    0.570 GiB/s\n\nAfter:\n                                       iterations      ns/op\nBM_string_strcmp/8                          1000k         28    0.284 GiB/s\nBM_string_strcmp/64                           20M        107    0.596 GiB/s\nBM_string_strcmp/512                           2M        800    0.639 GiB/s\nBM_string_strcmp/1024                       1000k       1579    0.649 GiB/s\nBM_string_strcmp/8Ki                         200k      12469    0.657 GiB/s\nBM_string_strcmp/16Ki                        100k      24931    0.657 GiB/s\nBM_string_strcmp/32Ki                         50k      49843    0.657 GiB/s\nBM_string_strcmp/64Ki                         20k      99635    0.658 GiB/s\n\nTest: bionic-benchmarks BM_string_memcmp\nChange-Id: Icb3bfb0a381bcc1e10885ca5e9547842c3f620d7","distinct":true,"url":"https://api.github.com/repos/Oreo-onyx/bionic/commits/45d01c273418e09ff19a65c4915391230299c14f"},{"sha":"535cabc6907c0794b9cb261ec9589ea1fa296290","author":{"name":"Prakhar Bahuguna","email":"a662681d0793752dc93699ca910147e7b245492c@arm.com"},"message":"libc: ARM: Fix minor issues in memchr NEON implementation\n\nChange-Id: I864eb08fe539c4f68dcea5ea359f8eae9ca3b868","distinct":true,"url":"https://api.github.com/repos/Oreo-onyx/bionic/commits/535cabc6907c0794b9cb261ec9589ea1fa296290"}]}
{"actor":{"display_login":"YumeMichi"}}