Skip to content

Conversation

@peterdocter
Copy link
Owner

No description provided.

@hubot hubot deleted the master branch April 28, 2017 16:31
@hubot hubot restored the master branch April 28, 2017 21:26
enh-google and others added 28 commits January 29, 2025 10:49
Original change: https://android-review.googlesource.com/c/platform/bionic/+/3460552

Change-Id: I5b2f595e9eacfb2d81771a8693367417a3241d9b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
…o main am: e1d8d8d

Original change: https://android-review.googlesource.com/c/platform/bionic/+/3467805

Change-Id: Id8f7d082a873887b9df647e4474c70d7cb6ec054
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Change-Id: Ie1b22479128f9a4b8ece08a433ee5943a1d04c11
Original change: https://android-review.googlesource.com/c/platform/bionic/+/3469989

Change-Id: Ic170967cd67990d46f438063593e47dca0da2b06
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This was motivated by the fact that most of the _anchors_ on the doc page were outdated. I've taken the simple expedient of removing those. I was then struck by the amount of copy & paste involved in showing both warning and error, so the new function takes care of that.

Change-Id: I82d3e6a6d8235a78f7cfe427b1209a1f9c83f682
In particular, link directly to our "Android changes for NDK developers" doc. (But also repeat the most pertinent bits of that content.)

Bug: http://b/391919232
Change-Id: I15688afffe0bbb7a9bdc4fcec21db480e924b663
Original change: https://android-review.googlesource.com/c/platform/bionic/+/3469988

Change-Id: I9d2c3708acfb46d996c1992541439d102b460931
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
…api level." into main am: 9160882

Original change: https://android-review.googlesource.com/c/platform/bionic/+/3469991

Change-Id: Id1b2fafbb6de20122a0b290fac71100ca210aea3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Only really matters in the errors shown to app developers, but we may as well be consistent throughout, especially since we almost always are anyway!

Change-Id: I37cce9d4de76579084b9f64df881b5ec6e6b3efd
The other logging options are checked "for free" by virtue of all macro-expanding to an existing logging function that has the appropriate attribute. This was an exception, and I found and removed a harmless extra argument from one call in my previous change to this code. I expected more fallout from turning on the checking, so kept it for a separate patch, but it seems that the one mistake I already fixed was the only mistake.

Oh well, at least this will mean we can't regress...

Change-Id: I6f47ccf9c545ea5b74375f4a5ceb0951006b948e
Still a questionable ABI (because the struct changes size over time without changing its name), but it's in glibc 2.41, so my assumption is that _not_ having it is likely to be more disruptive than the ABI issues going forward. (Hopefully no-one was planning on passing these structs between separately compiled libraries anyway!)

Bug: http://b/183240349
Change-Id: I80c39900b70af7e84913e547f38f656efa3e16ec
This hasn't been used since we removed the non-V string/memory routines.

Change-Id: I35864842f7c6b73f319cd9eb026bfc815b933192
Original change: https://android-review.googlesource.com/c/platform/bionic/+/3472474

Change-Id: Iaceca1c7840cc2a63433b5547926f91b0276973e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
No need for the `_v` names any more, and we can change the two __*_chk
functions to fall through rather than tail call.

Change-Id: Iccb2a67a4186faa03106efbad814d9d5c9770738
tests/headers/posix/ is a nice easy place to start because it's all under the same license, and almost all with the same copyright date.

Change-Id: I5e27370ae138a222339609adb4e04e74deb2cc41
Original change: https://android-review.googlesource.com/c/platform/bionic/+/3472473

Change-Id: I6aed889ad335b319b99a713ba9eb5b69199cb70d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
…nto main am: 0d1f18c

Original change: https://android-review.googlesource.com/c/platform/bionic/+/3472549

Change-Id: Ib76fa68c6696830ef5d5c7093e3edb912c2ff831
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
… into main am: e4e893d

Original change: https://android-review.googlesource.com/c/platform/bionic/+/3470670

Change-Id: I8ee8534630faa574f14e66ecd5566fc74a7252ba
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Original change: https://android-review.googlesource.com/c/platform/bionic/+/3469992

Change-Id: I5a89e963185e8c8ca6ff9e4782efc15deb514392
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
On arm/arm64, these functions (memset, memcpy, etc.) are provided by
libarm-optimized-routines-mem, which is included in librust_baremetal.
However, that library does not provide x86_64 implementations, so we
include the same assembly versions of these functions used elsewhere in
Bionic to satisfy downstream librust_baremetal users.

The librust_baremetal library is now also explicitly disabled for 32-bit
x86 and arm; the Virtualization module where librust_baremetal is used
only works on 64-bit platforms for now.

Bug: 389669171
Test: link x86_64 pvmfw
Change-Id: I63d88b1d05f84f511ecfca4262c30858fda08eb9
enh-google and others added 30 commits March 13, 2025 06:47
This reverts commit b8f1f6d.

Bug: http://b/291762537
Change-Id: I2e5eccb025e8a750f2d882aa991d1053072a93ea
Change-Id: I792d1fef0a58db9738578d58afdea41f5c4a9be6
Change-Id: I94b23f4752e47420062936ea712b1b89ee2aa1a5
…E=3.""

This reverts commit fb9026f.

Reason for revert: Droidmonitor created revert due to b/403604533. Will be verifying through ABTD before submission.

Change-Id: I550ea89aee8115cc56f3eab81fe9c4289df4e6f9
Bug: http://b/291762537
Change-Id: Ida079459eb53ca8d30c775a01d5ea0cbfbf5c981
Writing this, I think I deliberately left it off because it's rarely useful. But it does exist, and should be documented somewhere --- if only because it's very different from the similarly-spelled `__ANDROID__`.

Change-Id: I37cf36b319ed1198b5944593101c747f430182eb
I forgot to document this when I made it more useful recently.

Change-Id: I704d1c45c48b0ffe40ca945cbd8b7b4be78eda27
Change-Id: I2f9988b7c2ca93e84b0609140163f7af7279310a
_FORTIFY_SOURCE=3

There is an exception that allow malloc_usable_size to be used with
_FORTIFY_SOURCE=3. In this case, we can define
__BIONIC_DISABLE_MALLOC_USABLE_SIZE_FORTIFY_WARNINGS to disable compiler error.

Bug: 291762537
Test: m with aosp/3539100 and aosp/3554506
Change-Id: I67a8ae06f1dae541c3b9066da48b46b0de3bfc19
The intention -- as with the other bionic_asm.h macros -- is that they
should "just work" in the sense of "do nothing" on architectures where
they're not needed.

This requires that we simplify the .bp file, but that seems like a good
thing too. (The transitive include of <features.h> from bionic_asm.h
that caused all this was deliberate to ensure that it's usable from
assembler.)

Change-Id: Ic8cebed1e16d4fc2094985385e5fb315d4ca8e83
Xiaomi reports that AutoFDO for libc has significant improvement for app
launch performance. Turn on afdo flag for libc to allow collecting and
generating AutoFDO profiles for evaluation.

This change alone, without the corresponding profile, has no effect on
the performance. It only asks the compiler to generate additional debug
info for AutoFDO profile generation.

Test: presubmit
Bug: 354059402
Change-Id: I547c4480b91d3aee7bfaa473859ef7d1d0dec7c7
_FORTIFY_SOURCE=3 with malloc_usable_size

We plan to make _FORTIFY_SOURCE=3 global on device and ndk_cruft.cpp in
bionic/libc/bionic uses malloc_usable_size. In this case, it is called
in dlmalloc_usable_size which is only kept for backward-compatibility
with existing 32-bit binaries. We can ignore these cases by defining
__BIONIC_DISABLE_MALLOC_USABLE_SIZE_FORTIFY_WARNINGS to
disable compiler error.

Bug: 291762537
Test: presubmit
Change-Id: I21444380ff7f49a31a270b6e00983576df61f084
There turn out to be several issues causing test failures:
- -fno-builtin is passed when building the Fortify tests. This
  prevents HWASan from recognizing memcpy/memmove/memset as builtin
  functions and replacing them with runtime library calls. Fix that
  by passing -fbuiltin.
- For the tests in fortify_test.cpp, now that we are passing -fbuiltin,
  dead store elimination was eliminating the calls to
  memcpy/memmove/memset before the HWASan pass ran so there was no
  HWASan error report. Work around this by passing the mem* function
  return values to DoNotOptimize. The tests in clang_fortify_tests.cpp
  seem to be unaffected by this because of the use of EXPECT instead
  of ASSERT and subsequent calls to non-analyzable functions.
- Now that the errors are being detected with HWASan instead of Fortify
  adjust the test expectations based on which tool is being used.
- Now that we are passing -fbuiltin, an intentional bug in the sprintf2 test
  is being caught by the compiler so we need to disable warnings so we
  can test if it is caught at runtime as well.

Bug: 405340508
Change-Id: I16dc40dbca70245c6a22dd5927551fbf689d40a5
…low _FORTIFY_SOURCE=3 with malloc_usable_size" into main
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.