aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-05-18Merge "Remove useless line from pyproject.toml."Treehugger Robot
2023-05-18Merge "Install launchers when building ndk-gdb/ndk-stack."Treehugger Robot
2023-05-18Lint all PythonApplication modules.Dan Albert
Bug: Test: Change-Id: I986d8eb6a93bdfe121ccdd40a1a3818e3968cd6e
2023-05-18Add dependency on gdbrunner.Dan Albert
Allows mypy to pass on ndkgdb.py. Bug: None Test: mypy ndkgdb.py Change-Id: Idc312001d8e1bb47b52563cd7d41d9bb07d510b4
2023-05-18Remove useless line from pyproject.toml.Dan Albert
Bug: None Test: ./checkbuild.py pythonlint Change-Id: I722a480b297d15671129e8e66ee59f51f05e4817
2023-05-18Install launchers when building ndk-gdb/ndk-stack.Dan Albert
Bug: None Test: ./checkbuild.py ndk-gdb ndk-stack Change-Id: Ic50171909bdf0de87b81dbadff9dc6eddead36bc
2023-05-18Merge "Adapt to gdbrunner packaging."Dan Albert
2023-05-17Merge changes I9410dde2,IaddafcaeTreehugger Robot
* changes: Make ndkstack mypy clean. Make ndkgdb pylint clean.
2023-05-16Make ndkstack mypy clean.Dan Albert
Bug: None Test: mypy ndkstack Change-Id: I9410dde2c259e776b19f5cfc3dd5a59d6b1bc1b0
2023-05-16Make ndkgdb pylint clean.Dan Albert
Bug: None Test: pylint ndkgdb.py Change-Id: Iaddafcae49bce0f41790957d4b6d17f755bbfc6c
2023-05-16Merge "Make ndkgdb mostly mypy clean."Treehugger Robot
2023-05-16Merge "Migrate off deprecated module."Treehugger Robot
2023-05-16Merge "Restore accidentally deleted constant."Treehugger Robot
2023-05-16Adapt to gdbrunner packaging.Dan Albert
Bug: None Test: built and ran ndk-gdb --help Change-Id: I008958c70af173b33118cba2dedf54283f1c5272
2023-05-16Make ndkgdb mostly mypy clean.Dan Albert
Prep work to make tests easier to write. This isn't complete and can't be until gdbrunner is a real package with type annotations. I'll do that next. Bug: None Test: mypy ndkgdb.py Change-Id: Ib312c7d8084b4480cd3789534f16f0923d52bce3
2023-05-16Migrate off deprecated module.Dan Albert
xml.etree.ElementTree automatically uses cElementTree when available. Explicit imports of cElementTree have been deprecated since Python 3.3. Bug: None Test: None Change-Id: I981bce1fde9a3ffc2bff8ef88ae0051f53219001
2023-05-16Restore accidentally deleted constant.Dan Albert
This was collateral damage when deleting the now unnecessary sys.path manipulation. Discovered while trying to make this lint cleanly. Bug: None Test: trying to get lint clean so I can reasonably write tests... Change-Id: I5bfb9a83482cc576e5f9da21056b5ca4c3804618
2023-05-12Note macOS LLDB fix.Dan Albert
Bug: None Test: lldb.sh # on macOS Change-Id: If049b72f994fc48bdf7ae675da374a0bb218cca3
2023-05-12Merge "Don't enforce strict interpreter path on macOS."Treehugger Robot
2023-05-12Don't enforce strict interpreter path on macOS.Dan Albert
For the reason explained in the comment, this is impossible to comply with, and I'm tired of forgetting to pass --permissive-python-environment for everything I do. Bug: None Test: ./run_tests.py # on macOS with a non-prebuilt python Change-Id: I54b9f0cb0171ba1127bc366f3a34d8e2d218e003
2023-05-11Merge changes Ic6286481,I94e1370e,Ibdd0c2d4Treehugger Robot
* changes: Remove unused MultiFileModule. Move ndk-stack to PythonApplication as well. Convert ndk-gdb to a PEP-441 zip application.
2023-05-11Remove unused MultiFileModule.Dan Albert
Bug: None Test: ./checkbuild.py pythonlint Change-Id: Ic6286481d0990cec9b4b682babff503a368e2aea
2023-05-11Move ndk-stack to PythonApplication as well.Dan Albert
Bug: None Test: $NDK/ndk-stack --help Change-Id: I94e1370ea3969343d808be2020f52f29bb9d60c0
2023-05-11Convert ndk-gdb to a PEP-441 zip application.Dan Albert
Python supports executing zipped applications and running them in that manner makes dependency discovery easier, since the application directory will automatically be added to sys.path. We do have to stop using hyphens in our script names though, because those aren't valid python modules. This does potentially allow us to do more cool things. If we moved ndkgdb.py into ndk.tools, we could include the rest of the ndk package so we can use things like ndk.hosts and ndk.abis. Moving it there also makes it easier to ensure that it'll be covered by our linters and tests, which was the real motivation for this change. Bug: None Test: ./checkbuild.py ndk-gdb ndk-gdb-shortcut && $NDK/ndk-gdb --help Change-Id: Ibdd0c2d42a2eccaf46d188221421601f740b02d9
2023-05-11Merge "Advise using --clean-device for release testing."Dan Albert
2023-05-11Merge "Update to the c toolchain build."Dan Albert
2023-05-11Update to the c toolchain build.Dan Albert
Includes the fix for libc++abi TLS. Bug: None Test: ./checkbuild.py && ./run_tests.py Change-Id: I0cb1bc6f5a0d842b535a0b391cfe7e839430a4ec
2023-05-11Advise using --clean-device for release testing.Dan Albert
Bug: None Test: None Change-Id: I913c143e96532acc3f67772e2d888ee553c9a067
2023-05-10Merge "Add another fixed bug."Treehugger Robot
2023-05-10Add another fixed bug.Dan Albert
Bug: https://github.com/android/ndk/issues/1883 Test: None Change-Id: Ic99cdf916bd890dd8583d61ba7b7af65819377c2
2023-05-10Merge "Note a few more fixed Clang bugs."Treehugger Robot
2023-05-10Note a few more fixed Clang bugs.Dan Albert
Bug: https://github.com/android/ndk/issues/1861 Bug: https://github.com/android/ndk/issues/1880 Test: None Change-Id: I2473eaf5bf042e57c42910d773c5fd3eff28e1c4
2023-05-08Merge "Enable unspecified encoding lint."Treehugger Robot
2023-05-08Enable unspecified encoding lint.Dan Albert
We probably don't have any bugs here since we're unlikely to write anything not in the ASCII range, and most platforms use UTF-8 as the default anyway. The changes in ndk-build might be symptomatic for some inputs on Windows though. Bug: None Test: poetry run ./checkbuild.py pythonlint Change-Id: I1069d165db8eae1ea6fb31ce3216ca58a72e8e9e
2023-05-05Merge "Use list instead of map function"Aditya Kumar
2023-05-05Merge changes I512417dd,Id8f99069Treehugger Robot
* changes: Remove libc++ testing support. Use the libc++ from the toolchain.
2023-05-05Remove libc++ testing support.Dan Albert
This is now tested as part of the toolchain release. We don't have the source of the tests that match the toolchain's libc++, so we can't run them any more. Even if we could, it's not useful to run them this late. Plus, look at all the code that we get to delete! This was always a gross hack and I'm glad to see it go. This also makes our test artifacts significantly smaller, and building/running the tests it *much* faster (7 minutes to build, 40 seconds to run). Bug: None Test: poetry run ./run_tests.py --rebuild. Change-Id: I512417dd9d088c5b797bbc034a387670cffcf955
2023-05-05Use the libc++ from the toolchain.Dan Albert
Bug: https://github.com/android/ndk/issues/1530 Test: ./checkbuild.py && ./run_tests.py Change-Id: Id8f99069e1c0bbe532626ebd99054689872caa72
2023-05-05Use list instead of map functionAdityaK
Bug: https://github.com/android/ndk/issues/1764 In Python 2, map() returns a list which you can freely concatenate to another list. In Python 3 map() returns a lazy map object (a generator) and cant be immediately concatenated to a list Fix suggested in: https://github.com/android/ndk/issues/1764#issuecomment-1242521200 Change-Id: I705afb179d3f71162c3637b748ceb4c06de04f93
2023-05-04Merge "Add readelf finding to parse_elfnote.py."Treehugger Robot
2023-05-04Merge "Sort changelog bugs."Treehugger Robot
2023-05-04Sort changelog bugs.Dan Albert
Bug: None Test: None Change-Id: I9a354a3875f1b13286263a8b8fd28ac2dd14bf68
2023-05-04Merge "Let the driver handle the C++ stdlib."Dan Albert
2023-05-04Let the driver handle the C++ stdlib.Dan Albert
Even after r19 made this unnecessary, ndk-build continued to do it to prevent incorrectly built libraries from poisoning the app with the wrong unwinder. The mistakes that allowed that to happen were fixed a long time ago (in our build systems, anyway), and when getting libc++ from the toolchain it's quite a bit more difficult to keep our workaround functioning. This drops it and brings ndk-build's behavior more in line with CMake's (and probably every other build system, since I don't think any system other than ndk-build was ever this thorough). Bug: None Test: treehugger Change-Id: Ifc46ed144b98e952e1b86736424567f384b758f7
2023-05-04Merge "Use clang when modules have no C++ code."Dan Albert
2023-05-03Use clang when modules have no C++ code.Dan Albert
This is needed by the next patch which delegates C++ stdlib linking to the driver. Without this, C-only modules will be linked to the C++ stdlib. Bug: None Test: existing tests pass (LOCAL_HAS_CPP* covers this behavior well) Change-Id: Ic723b2296d2e634537c56aed7670e2a9bf3d0a2d
2023-05-03Merge changes I421c9dca,I24d2d89eTreehugger Robot
* changes: Allow black to check the build system and tests. Format overlooked files.
2023-05-03Allow black to check the build system and tests.Dan Albert
These were excluded by default because black thinks they're build output rather than build tools and tests. Bug: None Test: poetry run ./checkbuild.py black Change-Id: I421c9dca525976b388d98f75d4da35c3a8a95dbf
2023-05-03Format overlooked files.Dan Albert
The default black config excludes anything that matches "build". The next commit fixes the config to check these. Bug: None Test: None Change-Id: I24d2d89ee035a7b93c4b25e40df3a09941b314f7
2023-05-02Add readelf finding to parse_elfnote.py.Dan Albert
Rather than only using the `readelf` that is in PATH, support (in order of preference): 1. The llvm-readelf in --ndk 2. The llvm-readelf in the out directory 3. The llvm-readelf in PATH 4. The readelf in PATH Bug: None Test: poetry run ./parse_elfnote.py --ndk <installed NDK> <library> Test: poetry run ./parse_elfnote.py <library> # in dev tree Change-Id: Ie6cf2dec11d311b1cef360e57b080e001e83f0d1