Commit Graph

34118 Commits

Author SHA1 Message Date
Christopher Ferris d29cac66b4 Merge "Update to v5.11 kernel headers." 2021-02-19 19:47:44 +00:00
Treehugger Robot b69a0d4969 Merge "Move __libc_int0x80 to an assembly file" 2021-02-19 19:27:48 +00:00
Elliott Hughes 35e81bfc9f Merge "Fix some bionic death tests." 2021-02-19 19:02:24 +00:00
Elliott Hughes fabcc96a7c Merge "Use death tests correctly." 2021-02-19 18:26:00 +00:00
Treehugger Robot 3b7cc4ad89 Merge "Switch BionicDeathTest to `#pragma once`." 2021-02-19 18:22:53 +00:00
Elliott Hughes a0a2654e2e Merge "Inline the raise(SIGABRT) for x86-64 too." 2021-02-19 18:19:00 +00:00
Elliott Hughes 7f7efa92df Merge "Use BionicDeathTest for an assert(3) test." 2021-02-19 18:09:44 +00:00
Treehugger Robot 6fe4daaa16 Merge "iconv(3): ignore src_bytes_left if src_bytes is null." 2021-02-19 18:09:17 +00:00
Treehugger Robot 18dd0731f6 Merge "Increase leniancy in an inherently flaky test." 2021-02-19 18:06:36 +00:00
Elliott Hughes 8d6d795c28 Merge "Don't involve debuggerd in a SIGFPE test." 2021-02-19 16:30:15 +00:00
Treehugger Robot 067a564814 Merge "Revert "[LSC] Add LOCAL_LICENSE_KINDS to bionic"" 2021-02-19 16:11:57 +00:00
Rupert Shuttleworth 10e3cd784d Merge "Rename ldd input file to ldd.sh to make Bazel conversion easier." 2021-02-19 14:15:07 +00:00
Bob Badour f6613b492f Revert "[LSC] Add LOCAL_LICENSE_KINDS to bionic"
This reverts commit 48d43034d7.

Reason for revert: Need to re-run each directory separately.

Change-Id: Ie1acfe7af0331e9ed5f17aa1dd3c48a3708d6e45
2021-02-19 06:36:45 +00:00
Jingwen Chen e89fe2021b Merge "bp2build: mark crt_beginso1 as bp2build_available." 2021-02-19 03:54:43 +00:00
Elliott Hughes 6249f9b44e Don't involve debuggerd in a SIGFPE test.
We just want to check that SIGFPE is raised, not try to "debug" this
expected behavior.

Bug: http://b/180605583
Test: check logs
Change-Id: I11571e02c4608570e0d406adeabc36186c5bb107
2021-02-18 17:25:07 -08:00
Elliott Hughes e657eb4f8a Fix some bionic death tests.
These were creating tombstones and spewing to the log.

You need TEST_F() rather than TEST(), and the modern style is apparently
to use `using` rather than an empty subclass.

Bug: http://b/180605583
Test: run tests, check logcat
Change-Id: I1e639d34854aeff6f042c24643b769a6bcfab877
2021-02-18 17:23:04 -08:00
Elliott Hughes 61d0706507 Use death tests correctly.
The existing attempt at a death test wrapper wasn't functional (because
the tests were TEST rather than TEST_F), and the code in that class
doesn't work anyway. Since I don't understand the intent behind the
failing dup2() calls, I've just removed this and replaced it with
BionicDeathTest which we do need to suppress all the debuggerd work
which caused this bug to be filed.

Bug: http://b/180605583
Test: treehugger
Change-Id: I7717f7ae2620452656cf07db299774dadef55766
2021-02-18 17:17:27 -08:00
Elliott Hughes 15122842ae Use BionicDeathTest for an assert(3) test.
Bug: http://b/180605583
Test: check logs
Change-Id: I5eebef156ea1185c605060fb7e9457ccaaadaf5d
2021-02-18 17:16:09 -08:00
Elliott Hughes d63ea5627c Switch BionicDeathTest to `#pragma once`.
Test: treehugger
Change-Id: I3daded12812fb579e8b7d7abeb885ee7f17032e3
2021-02-18 17:15:25 -08:00
Jingwen Chen 5daf8f9c3f bp2build: mark crt_beginso1 as bp2build_available.
This leaf module is selected as the first cc_object module to be converted by
the bp2build converter.

Test: GENERATE_BAZEL_FILES=true m nothing && bp2build-sync write && bazel build //bionic/libc:crt_beginso1
Change-Id: Idf752e7b5251161a4fbd58ba52b52dd85c8fc92b
2021-02-19 00:27:32 +00:00
Rupert Shuttleworth a7e29a8823 Rename ldd input file to ldd.sh to make Bazel conversion easier.
Test: m and bp2build write; bazel build ...
Change-Id: Ic8a4ad6ac81f034ac8b9736d99a322c48598619e
2021-02-18 23:41:55 +00:00
Elliott Hughes 3abde068bd Inline the raise(SIGABRT) for x86-64 too.
This matches what we do for arm and arm64. 32-bit x86 is too big a mess
to warrant the effort still, but the more testing is done on cuttlefish,
the more value there is to making every stack frame count.

Before:

   #00 pc 00000000000596d8 .../libc.so (syscall+24)
   #01 pc 000000000005d072 .../libc.so (abort+194)
   #02 pc 000000000005f1f0 .../libc.so (__fortify_fatal(char const*, ...)+160)

After:

   #00 pc 000000000005d07d .../libc.so (abort+205)
   #01 pc 000000000005f1e0 .../libc.so (__fortify_fatal(char const*, ...)+160)

Test: crasher64 fortify
Change-Id: Ib74cb8b36341093c268872e26020f35eb2d8ef66
2021-02-18 15:16:39 -08:00
Elliott Hughes 527b78d194 Increase leniancy in an inherently flaky test.
The example in the bug was 16ms instead of 10ms. Try 20ms?

Bug: http://b/180581857
Test: treehugger
Change-Id: I58302ad576ab5a031124244edef9df733d796c7e
2021-02-18 10:46:35 -08:00
Elliott Hughes 20c023fdb2 iconv(3): ignore src_bytes_left if src_bytes is null.
This is undefined behavior, but glibc and macOS are both lenient, and
someone hit this in the wild, so we may as well be lenient too. (The
only cost is that it's now slightly easier to write code that works on
everything except old versions of Android.)

Bug: https://issuetracker.google.com/180598400
Test: treehugger
Change-Id: Ia217169ea6283cc53f4fbf71e5abfa08356c2049
2021-02-18 10:37:22 -08:00
Pirama Arumuga Nainar 7b89be78f4 Move __libc_int0x80 to an assembly file
Bug: http://b/157081822

If __libc_int0x80 is in a C/C++ file, Clang's coverage instrumentation
adds instructions to count the number of times it gets executed [1].
With coverage instrumentation, __libc_sysinfo, used on 32-bit x86, is
initialized to the wrong value, causing dl.preinit_system_calls to fail.

Moving the function to an assembly file leaves __libc_sysinfo properly
initialized.

[1] We could change clang so it doesn't instrument functions marked
__attribute__((naked)) as a followup.

Test: `m CLANG_COVERAGE=true NATIVE_COVERAGE_PATHS=bionic` and run
bionic-unit-tests

Change-Id: I73558253512392d345de8d5b66d38bb14b308fdf
2021-02-18 09:52:59 -08:00
Elliott Hughes 332065d57e Merge "Fix/update notices." 2021-02-17 17:51:06 +00:00
Mathew Inwood ede54420ba Merge "Set updatable=false explicitly." 2021-02-17 09:55:07 +00:00
Rupert Shuttleworth 9432c923b1 Merge "Mark cc_library_headers targets as being bp2build_available." 2021-02-17 08:57:19 +00:00
Bob Badour 22801c7c8d Merge "Revert "[LSC] Add LOCAL_LICENSE_KINDS to bionic"" 2021-02-17 01:59:45 +00:00
Rupert Shuttleworth 592ef756a0 Merge "Mark ldd as executable for Bazel builds to work." 2021-02-17 01:34:29 +00:00
Christopher Ferris 05667cd66a Update to v5.11 kernel headers.
Kernel headers coming from:

Git: https://android.googlesource.com/kernel/common/
Branch: android-mainline
Tag: android-mainline-5.11

Test: Built cuttlefish and flame images. Ran bionic unit tests on both.
Change-Id: Ie60337aafad4bda55af99b6c8fe9f56bf2fa787f
2021-02-16 16:01:34 -08:00
Elliott Hughes aa8db1b9d1 Fix/update notices.
Auto-generate NOTICE files for all the directories, and for each one
individually rather than mixing libc and libm together.

Test: N/A
Change-Id: I7e251194a8805c4ca78fcc5675c3321bcd5abf0a
2021-02-16 15:06:50 -08:00
Elliott Hughes 51166f4f56 Merge "Rename __ANDROID_UNGUARDED_AVAILABILITY__ -> __ANDROID_UNAVAILABLE_SYMBOLS_ARE_WEAK__." 2021-02-16 21:26:12 +00:00
Elliott Hughes 5e44c22ebf Revert "[LSC] Add LOCAL_LICENSE_KINDS to bionic"
This reverts commit 48d43034d7.

Reason for revert: bionic is multiple projects, not just one.

Change-Id: Ib31e1bb8888cc85c6e7736c4e2a1d4652fd23935
2021-02-16 20:02:47 +00:00
Rupert Shuttleworth a4583b7af3 Mark ldd as executable for Bazel builds to work.
Test: bazel build ...
Change-Id: I15f23804ab1ef44cc0a68b66c408dd88366f8098
2021-02-16 15:28:25 +00:00
Mathew Inwood f11ce9a175 Set updatable=false explicitly.
Currently, this is the default so this is a no-op,
But the default is changing to true.

Bug: 180375550
Test: Treehugger
Change-Id: I74cfd805958687a4c1e43eded31fb0e6583c1482
2021-02-16 14:45:45 +00:00
Rupert Shuttleworth fd64868a92 Mark cc_library_headers targets as being bp2build_available.
Test: build/bazel/scripts/bp2build-sync.sh write.
Change-Id: I78a491d20779f50757b55c8e5305b588bf613839
2021-02-16 03:39:20 +00:00
Treehugger Robot f4ac74d9b4 Merge "[LSC] Add LOCAL_LICENSE_KINDS to bionic" 2021-02-15 23:21:48 +00:00
Bob Badour 48d43034d7 [LSC] Add LOCAL_LICENSE_KINDS to bionic
Added SPDX-license-identifier-Apache-2.0 to:
  libdl/Android.bp
  tools/versioner/src/Android.bp

Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD to:
  benchmarks/Android.bp
  libc/malloc_debug/Android.bp
  libc/system_properties/Android.bp
  linker/Android.bp
  tests/Android.bp
  tests/libs/Android.bp
  tests/libs/Android.build.dlext_testzip.mk
  tests/make_fortify_compile_test.mk

Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD
    SPDX-license-identifier-ISC SPDX-license-identifier-MIT
    legacy_notice legacy_unencumbered
to:
  Android.bp
  libc/Android.bp

Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD
    SPDX-license-identifier-ISC SPDX-license-identifier-MIT
    legacy_unencumbered
to:
  tools/Android.bp
  tools/versioner/Android.bp

Added SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD
    SPDX-license-identifier-MIT legacy_unencumbered
to:
  libm/Android.bp

Added SPDX-license-identifier-Apache-2.0 legacy_unencumbered
to:
  libc/tools/Android.bp

Added SPDX-license-identifier-BSD
to:
  benchmarks/linker_relocation/Android.bp
  benchmarks/spawn/Android.bp
  libc/async_safe/Android.bp
  libc/malloc_hooks/Android.bp
  libfdtrack/Android.bp
  tests/headers/Android.bp
  tests/headers/posix/Android.bp

Added legacy_notice
to:
  apex/Android.bp
  benchmarks/linker_relocation/gen/Android.bp

Bug: 68860345
Bug: 151177513
Bug: 151953481

Test: m all

Exempt-From-Owner-Approval: janitorial work
Change-Id: I76cad00578b9b99180ee5dd1e04b4646d5c5fedf
2021-02-12 17:51:24 -08:00
Elliott Hughes a37b18133d Rename __ANDROID_UNGUARDED_AVAILABILITY__ -> __ANDROID_UNAVAILABLE_SYMBOLS_ARE_WEAK__.
Also reduce some of the duplication in the macros.

Bug: http://b/179067538
Test: treehugger
Change-Id: I81ab341731b0faad6c7c5f00037feff8576abafb
2021-02-11 12:56:39 -08:00
Ryan Prichard ef0ec82684 Merge "Revert "Disable signal frame unwinding tests on arm64"" 2021-02-10 23:31:31 +00:00
Elliott Hughes 8460308d11 Merge "Make fd overflow an abort." 2021-02-10 16:28:34 +00:00
Ryan Prichard cdace2f227 Revert "Disable signal frame unwinding tests on arm64"
This reverts commit 315969a67e.

Reason for revert: r407598b has llvm.org/D90898, which should fix the test.

Change-Id: I466e2122a700ba4df9160b57a5d3c94867472615
2021-02-10 07:08:18 +00:00
Elliott Hughes d3915c7b53 Make fd overflow an abort.
On LP32, just abort if we're asked to handle an fd that's too big for
the `short` field in `struct FILE`. This is unreachable anyway because
the ulimit is 32Ki, and this will make issues far more noticeable if we
ever do increase that limit (which seems unlikely for LP32 devices).

Also rename __finit() to __FILE_init() to match __FILE_close().

Test: treehugger
Change-Id: I5db4d6c4529a1f558aff135b4dea071d73666be5
2021-02-09 17:13:09 -08:00
Treehugger Robot 8d1f9c2c3b Merge "Mark sh_binary target as being bp2build_available." 2021-02-09 16:29:55 +00:00
Rupert Shuttleworth 344b8da46a Mark sh_binary target as being bp2build_available.
Test: build/bazel/scripts/bp2build-sync.sh write.
Change-Id: I8e8c3c95aa2c7ff6d7db3d92291f224bdf7cf255
2021-02-09 11:53:36 +00:00
Elliott Hughes 6d5662d22a Merge "Fix freopen() where the path is null." 2021-02-08 20:07:12 +00:00
Treehugger Robot 3990193d7f Merge "Remove obsolete `cpp_std: "experimental"`." 2021-02-08 19:02:52 +00:00
Treehugger Robot b0e9906c3a Merge "Mark //bionic filegroups/genrules as bp2build_available." 2021-02-08 18:14:20 +00:00
Elliott Hughes a988ed65e4 Remove obsolete `cpp_std: "experimental"`.
This is why I prefer being specific...

Test: treehugger
Change-Id: Ia2f2f5a2a4499df8ab4041c573b0ef78aecbaf3c
2021-02-08 09:25:35 -08:00