Currently when switching between internal to aosp, PYTHONPATH will be
contaminated. This CL is to ensure PYTHONPATH will be as clean as
opening a new terminal and source/lunch.
Bug: 121106770
Test: internal:
$ source build/envsetup.sh; lunch; echo $PYTHONPATH| sed 's/:/\n/g'
will see VENDOR_PYTHONPATH in PYTHONPATH.
switch to aosp:
$ source build/envsetup.sh; lunch; echo $PYTHONPATH| sed 's/:/\n/g'
won't see VENDOR_PYTHONPATH in PYTHONPATH.
Change-Id: Id1916673000ee3fad55e9611d0c47cc80de86645
Fix this error:
rprichard@cashew:/x/aosp/out/target/product/walleye/system/bin$ ls
bash: ./ls: cannot execute binary file: Exec format error
Bug: none
Test: lunch a target, "echo $PATH | grep ::"
Test: lunch an arm target, cd $OUT/system/bin, ls (
Change-Id: I2c0d5ece85964dffa14d6ac8df168dd4e733162e
This reverts commit 610b6302cf.
Reason for revert: m mlibc from root dir works. Create a tmp dir and then cd in to tmp. Run the same command and it fails.
Change-Id: I0f0c056d7e668da621ae99d347a055ecdf2dec07
The functionality of m* envsetup.sh commands has been implemented in
soong_ui. The bash functionality of m* commands can be replaced by
soong's modules-in* build commands.
Fixes: b/130049705
Test: * Loaded the envsetup.sh on a new environment
* Executed each m* command.
* Verified with "type <build command>" to make sure
the function generation is correct.
* Ran on Darwin environment.
Change-Id: I8792e4f1f1727aba2ca6ee4bdfe657f6ac42302a
Very few vendorsetup.sh files are needed anymore, since add_lunch_combo
has been deprecated. So add a way so that only approved vendorsetup.sh
files can be loaded into the shell, and others will be skipped.
This further limits the amount of code that can run outside the build
sandbox, and makes this list more visible to tree maintainers before
they're used instead of after.
Test: no allowed-vendorsetup_sh-files
Test: empty allowed-vendorsetup_sh-files
Test: one file in allowed-vendorsetup_sh-files
Test: two files in allowed-vendorsetup_sh-files
Test: non-present file in allowed-vendorsetup_sh-files
Change-Id: Ia23d1c9d11a7295d5be5abd10cf56edbdec80483
Remove atest/acloud/aidegen functions and append prebuilt path
in PATH. Use local built by default; if there is no local built,
use the prebuilt one instead.
Bug:
Test: $ source build/envsetup.sh; lunch
$ echo $PATH|sed 's/:/\n/g' | egrep "out|asuite"
# will see out/host prioritises prebuilts/asuite.
Change-Id: I1e5869bcb81cf7058cf8971f480a47d2c8f8b6f0
If ANDROID_QUIET_BUILD environment variable is set, do not print
build timing and colorized summary result.
Test: treehugger
Change-Id: I7ae3f8eb407df470837560706f06e5785911828c
Remove atest/acloud/aidegen functions and append prebuilt path
in PATH. Use local built by default; if there is no local built,
use the prebuilt one instead.
Bug:
Test: $ source build/envsetup.sh; lunch
$ echo $PATH|sed 's/:/\n/g' | egrep "out|asuite"
# will see out/host prioritises prebuilts/asuite.
Change-Id: I16c3e85c195b878d3c629149afbd96636ed1f0e1
When target directories are specified, mmm now scans their parent
direcotries to when searching for build config files. Also make it look
more like mm as minor refactoring.
Bug: 62899341
Test: Manual builds.
Change-Id: Ic9c081090e1baeb0849508e9086f2976b108c0ee
After running "lunch" multiple times, the global variable
PYTHONPATH grows larger and larger with repetively content.
This patch is to prevent PYTHONPATH from prepending redundant path.
Bug: b/121110600
Test: $ source build/envsetup.sh && lunch
$ echo $PYTHONPATH | sed 's/:/\n/g'
$ lunch; lunch
$ echo $PYTHONPATH | sed 's/:/\n/g' # not growing.
Change-Id: Ifc36d071fb63bb1494bb0a94fdff477a41708c74
A function name with dashes is apparently not universally recognized
by shell versions/variants(?). Using underscore in place of dashes
solves this problem.
Test: ./development/vndk/tools/header-checker/utils/create_reference_dumps.py -l libGLESv1_CM
Change-Id: Id7d701600760140dae9e4762a11f4abd64947d10
Usage:
...aosp/$ gomod libbase
...aosp/system/core/base$
Using in alias:
alias g=gomod
complete -F _complete-android-module-names g
...aosp/$ g libbase
...aosp/system/core/base$
Nothing in Android keeps an up to date index of all Android modules
and their locations between builds. However, there is a target
'module-info.json' which is used to contain some of that information.
This module can be updated using the command 'refreshmod' added
here, but it will also be updated during a normal Android build.
This also adds auto-complete for m.
Bug: N/A
Test: manual
Change-Id: I06b0b87c308b9fe2798dbc29225906cc30fe59fe
toybox xxd treats -ps as -p -s with a missing argument to -s, rather
than as a bizarre synonym for -p.
Test: manual
Change-Id: Ia576861588a4ddeac9885bce8d718929b74f31b1
There are plenty of .hpp files in the AOSP sources.
$ find . -name \*.hpp | wc -l
2430
They were already grepped in cgrep(), but were missing in
sgrep and treegrep.
Test: manual - run the script
Change-Id: I1fb3f576f6cdcc2b492e2beadf11ced98cb3938e
Atest will run in the sequence of built -> prebuilt -> source code.
Bug: b/118801769
Test: source build/envsetup.sh; lunch
and atest will run in the appearing sequence above.
Change-Id: I0494aeab99c390c31bb02641c6c1c11afd5642a2
I call "compinit -i" in my .zshrc, to allow loading autocompletion from
"unsafe" locations. envsetup.sh breaks that. Change behavior to only
call compinit if bash-style completion is not already enabled.
This is a minimal fix; an alternative would be to rely on the user
to call 'bashcompinit' in their .zshrc instead, and just skip all
autocomplete functionality if they don't.
Test: manual - source ./envsetup.sh in {bash, zsh, zsh -f} and test
completion for lunch
Change-Id: Ibb10eb68a96d69c19b9db9b21e0546fe8ae299b2
(zsh)$ source build/envsetup.sh; lunch 23
will result in selecting #22 because array in zsh starts from 1
instead of 0. This CL is to fix this issue.
Bug: b/117202855
Test: below commands should have the same output:
(zsh)$ source build/envsetup.sh; lunch 23
(zsh)$ source build/envsetup.sh; lunch aosp_walleye-userdebug
Change-Id: I0570585417878bc7c73eda0e1a416232fe147fb4
Now Atest can autocomplete module names, dir and filenames with
tab completion, and zsh users can benefit from it.
Bug: 110629292
Test: In both bash and zsh environments:
source build/envsetup.sh && lunch aosp_arm-eng
atest <tab><tab> # has candidates
adb <tab><tab> # has candidates
ENVSETUP_NO_COMPLETION=atest:adb . build/envsetup.sh && lunch aosp_arm-eng
atest <tab><tab> # no candidates
adb <tab><tab> # no candidates
Change-Id: Ib1c9e02feeb8aaf75c0b97821ae26e13ba8df350
Make it so that these can be used in other scripts by moving them from
functions defined in envsetup.sh to standalone scripts.
Test: stacks zygote64
Change-Id: Id8e5ce5b4da80e57f4226eb34edaf82b87393834
Fix stacks for the change in ANR trace location by using `debuggerd -j`
instead of manually fetching the traces file.
Also, dump zygote/zygote64 as native processes, since they don't
respond to SIGQUIT.
Test: stacks zygote
Test: stacks adbd
Test: stacks com.android.settings
Change-Id: I015458bdc2dd45624940204d42614365aacf8304
Many Android.bp files are now no longer needed (since they
are all scanned and subdirs are deprecated), so there are many
places in a tree where they aren't hit.
This still suffers from one bug, given this directory structure:
A/B/Android.bp
A/B/C/D/Android.bp
A/B/C/
A/B/C/E/Android.bp
if you call 'mma' from 'A/B/C', then it will make
MODULES-IN-A-B.
However, for now, this change makes it so given the following
directory structure:
A/B/C/D/Android.bp
A/B/C/
A/B/C/E/Android.bp
if you call 'mma' from 'A/B/C', then it will make
MODULES-IN-A-B-C as expected (since there are no makefiles in
parent directories). This is the expected behavior in this case
and it is common in directories where Android.bps have been
removed (since they only referenced subdirs) or outside of
git projects.
The reason why this usecase is supported is so that given this:
A/B/C/D/Android.bp
A/B/C/D/include/D/foo.h
You can, from A/B/C/D/include/D/ (for instance) do an mma, and
it will still make the modules defined in A/B/C/D/ which are
presumably related to this.
This change doesn't fix mm or other binaries. In the long term,
either we should just consider mma to make the current directory
(and not look for parent directories for the above 'feature') or
we should move more of the complexity in the build system itself
so that it can intelligently find the first parent directory
which contains a makefile in a subdirectory.
Fixes: 65407300
Test: mma from following dirs
system/tools/hidl/test/hash_test/bad/hash/1.0 MODULES-IN-system-tools-hidl-test-hash_test
system/tools/hidl/test/hash_test/ MODULES-IN-system-tools-hidl-test-hash_test
system/ MODULES-IN-system
hardware/ril/ MODULES-IN-hardware-ril
Change-Id: I072d3f382d40cd360ec3d14f8f5b060a4bde9289
Now most of the other noise is gone, we should probably quiet down too.
Bug: N/A
Test: `source build/envsetup.sh`
Change-Id: Ic5b169b1771163488e70d732276372efbf304bae
settitle always had a bug in the PROMPT_COMMAND, it used "\033]0;",
where it should be "\033[0m". It was opt-in, and changed to opt-out, and
no one really complained that it didn't work. So we are just going to
remove this.
References:
- http://www.termsys.demon.co.uk/vtansi.htm
- https://en.wikipedia.org/wiki/ANSI_escape_code
Test: lunch and see no change in prompt
Change-Id: I777c87b4d8e80c0e9437e5d2628f6df020883389
Start deprecating add_lunch_combo, preferring a list of common choices
in each AndroidProducts.mk file.
This list will be validated so that we don't have typos:
https://android-review.git.corp.google.com/c/device/generic/car/+/619533
Or targets that no longer exist.
Bug: 77599627
Test: lunch
Test: lunch 34
Test: lunch aosp_x86_64-eng
Test: lunch aosp_<tab>
Change-Id: Ie0ddaa94cbd6cee26584f56f1706a8ec1333f87e
* Use the definitions of ClangDefaultBase and ClangDefaultVersion
in build/soong/cc/config/global.go.
* scan-build is too old;
replaced by better clang-tidy's -clang-analyzer-* checks.
* WITH_STATIC_ANALYZER is still effective
to invoke ccc-analyzer or c++-analyzer.
Test: make checkbuild
Change-Id: Ifd159dd28e529d5d3c9807f5e391911365da8cdb
This architecture only existed for unbundled use, but even the NDK is
removing support in their r17 release, so just remove support for it.
Test: build/soong/build_test.bash -only-config
Test: check buildserver configs, I don't see anything still using armv5
Change-Id: Ic183b510c9ada94438bd4cc2b9362fa438a29ced
Some parts of envsetup.sh aren't very happy with things like
this:
function cd() {
builtin cd "$@" && pwd && ls -l
}
here, I have s/cd/builtin cd/ one such case where envsetup
is trying to execute the output of cd.
Test: manual
Change-Id: I2774481dfbd958410682a4f773f1b8f12a0080aa
Let folks opt in if they want the custom title.
Bug: https://issuetracker.google.com/38402256
Test: hitting enter no longer flashes this title
Change-Id: I8c1e1b22cc47ab9496797328fb1b13c0827840b0
Use soong_ui instead of make&config.mk directly. This way we use a
consistent make parser and sandboxing configurations.
Test: printconfig
Test: get_build_var TARGET_DEVICE
Test: get_abs_build_var PRODUCT_OUT
Test: get_abs_build_var ALL_PRODUCTS
Test: lunch aosp_marlin-userdebug
Test: build_build_var_cache; set | grep var_cache (diff before/after)
Change-Id: I22abdf95669b7a4fb8162377e013a9013155f249
When ANDROID_TOOLCHAIN_2ND_ARCH is unset (all arches except ARM64) the
PATH was being extended with an empty entry, which is interpreted as the
current directory (rarely desirable).
Test: lunch aosp_arm-eng; echo $PATH; lunch aosp_arm64-eng; echo $PATH
Change-Id: I31661241c10b06165dcf555c8b3e799fe54cc0dc
To allow building other make-based systems from the top of the android
tree.
Bug: 64145979
Test: get_make_command
Test: get_make_command -C
Test: get_make_command -C.
Test: get_make_command -C .
Test: get_make_command -j test
Test: get_make_command test-C
Test: get_make_command " -C"
Test: make
Test: make -C.
Change-Id: I406dd2706f19e5d2a6afdff441335f4e01ba6d12
Point the make java variables at JDK prebuilts in
prebuilts/jdk/jdk8, add them to the path, and clean up
some old overrides.
Reapplies Ibbeb30fab96e45aedd5bb6d710d1170f85789982 after updating
some more manifests to include the prebuilts.
Bug: 62956999
Test: m -j checkbuild
Change-Id: I9e27aa5cb04d1ed09e43b798e5d654843afc000f
(cherry picked from commit 1931750940)
Point the make java variables at JDK prebuilts in
prebuilts/jdk/jdk8, add them to the path, and clean up
some old overrides.
Bug: 62956999
Test: m -j checkbuild
Change-Id: Ibbeb30fab96e45aedd5bb6d710d1170f85789982
Instead of running make -> makeparallel -> soong_ui, just run soong_ui.
Soong_ui now handles user-facing argument parsing.
The user visible changes should only be:
* Most `make` command line options are no longer supported. Many didn't
do anything useful before this change either.
* `-j` is now implied, so not specifying it will default to full
parallelism instead of a single-threaded build.
* `make` debug messages are removed:
make: Entering directory ...
make: Leaving directory ...
make: *** [run_soong_ui] Error 1
We still support the make workflow for users that don't use envsetup.sh
-- the build servers primarily, but also various helper scripts. These
will be converted later.
Test: in $TOP; make nothing
Test: in $TOP/bionic; make (runs real make, fails w/no makefile)
Test: in $TOP; m nothing
Test: in $TOP; mm nothing
Test: in $TOP; mma nothing
Test: in bionic/libc; m nothing
Test: in bionic/libc; mm
Test: in bionic/libc; mma
Test: in $TOP; mmm bionic/libc
Test: in $TOP; mmma bionic/libc
Test: in bionic; mmm libc
Test: in bionic; mmma libc
Test: set WITH_STATIC_ANALYZER=1, repeat above
Change-Id: Ic00190ac65a6aa924dad35d3d540c11d653b9c53
Setting TARGET_PLATFORM_VERSION to DEFAULT_PLATFORM_VERSION during
"lunch sailfish-userdebug" causes unnecessary pain when
DEFAULT_PLATFORM_VERSION becomes invalid after branching. Only
set TARGET_PLATFORM_VERSION if it was explicitly requested with
lunch sailfish-userdebug-OPR1.
Test: build/make/tests/envsetup_tests.sh
Bug: 34972208
Bug: 37208937
Change-Id: I40ba4617e73803c5bec1a8d317382f70fb3ec3a2
Merged-In: I40ba4617e73803c5bec1a8d317382f70fb3ec3a2
Setting TARGET_PLATFORM_VERSION to DEFAULT_PLATFORM_VERSION during
"lunch sailfish-userdebug" causes unnecessary pain when
DEFAULT_PLATFORM_VERSION becomes invalid after branching. Only
set TARGET_PLATFORM_VERSION if it was explicitly requested with
lunch sailfish-userdebug-OPR1.
Test: build/make/tests/envsetup_tests.sh
Bug: 34972208
Bug: 37208937
Change-Id: I40ba4617e73803c5bec1a8d317382f70fb3ec3a2
Fix all of the leaking of local variables by marking locals properly.
Fix a case where ANDROID_TOOLCHAIN_2ND_ARCH is set incorrectly.
Test: lunch'd aosp_angler-userdebug and then aosp_fugu-userdebug
Test: and verified ANDROID_TOOLCHAIN_2ND_ARCH is set properly after
Test: the first lunch and unset after the second lunch.
Test: Also attempt to build the two targets.
Change-Id: I49548e0d6654bfb1105a6ecaf2705825b9ddf3a5
lunch can now take combos in the form:
$TARGET_PRODUCT
$TARGET_PRODUCT-$TARGET_BUILD_VARIANT
$TARGET_PRODUCT-$TARGET_BUILD_VARIANT-$TARGET_PLATFORM_VERSION
If all 3 are not specified the unspecified ones will take the
default values provided by the build system (eng, and currently
OPR1).
In addition, error handling for invalid products, variants and
versions is moved to the build system.
Bug: 34972208
Test: build/make/tests/envsetup_tests.sh
Change-Id: Ib0aaa98633448ba9bd8df911704c9cb3a8ebbe85
debuggerd64 doesn't exist anymore, `debuggerd $PID` works on both 32
and 64 bit processes.
Bug: http://b/35872661
Change-Id: I47be05c7ec346e5d657d06e6c3aff1723494639b
Instead of having test tools search the OUT_DIR for the
testcases folders (of which there can be multiple different
targets), let's have these variables become part of the runtime
environment after a developer has run lunch.
Bug: 35322559
Test: . build/envsetup.sh ; lunch ; printenv | grep TESTCASES
Change-Id: Ic4addc2b9727ff717b2e595b9be224650e2f1b1d
- Add it to the base build (the first one in the hierarchy that includes
the activity manager).
- Add tab completion commands to envsetup.sh
Test: . build/envsetup.sh ; make
Change-Id: Id24acaa0f17f198bda329016ff17170ad93624ec
Call findmakefile in mma to walk up the tree to find the nearest
makefile. Fixes mma in subdirectories of directories that have
Android.mk or Android.bp files.
Change-Id: I6fa509171699071fc34a2a75dd7e191d4ddca31a
Canonicalize the mmm path relative to the top level before creating the
MODULES-IN-dir target. Fixes cd frameworks/base; mmm -j .
Test: cd frameworks/base; mmm -j
Change-Id: If7bc321e8a87b76121f876bf4bc296b0f9b80578
This was printing all of the Soong modules in addition to the modules
defined in the ONE_SHOT_MAKEFILE. So replicate what we did with
MODULES-IN-* with GET-INSTALL-PATH-IN-* and update all the users.
Bug: 30191725
Change-Id: Ib1e4bf00f64d7a3e8cd91f44eaf1ff82fdfbf162
am: 323396993c
* commit '323396993c6651b4b98974df9e9d53118f27a840':
Fix mm and mmm in Android.bp directories
Change-Id: I95d6bde7a0ea72b47779f1a5b0577ff423524b6f
mm and mmm were not parsing out/soong/Android.mk, so they were ignoring
all modules defined in an Android.bp file. Always include
out/soong/Android.mk when ONE_SHOT_MAKEFILE is set, and convert the mm
and mmm functions to build MODULES-IN-$DIR instead of all_modules so
that only the subset of modules defined in out/soong/Android.mk for the
requested directory are built.
Bug: 28986194
Change-Id: I6e1ff8cacfc668a4154a0d5937450db840bb7a6b
Two eval commands did not enclose their arguments in double quotes, and
this broke compatibility on zsh - preventing lunch from running to
completion. This CL adds the double quotes and fixes the issue.
Change-Id: I5ed884b455e2e61182f6c29fb807ed92372af039
Have croot take an argument of a directory to end up in,
so we can jump around the tree even faster.
Change-Id: Ieb6a8d47fee0412006a11192b29ed44604961312
* Call clang-tidy before every C/C++ compilation if
(1) clang-tidy is found at $(PATH_TO_CLANG_TIDY)
(2) $(my_clang) is true
(3) LOCAL_TIDY is 1 or true, or
LOCAL_TIDY is undefined and WITH_TIDY is 1 or true.
* clang-tidy is called with -checks=$(my_tidy_checks),
which has default '-*,google*,-google-readability*'
and can be overwritten by WITH_TIDY_CHECKS.
* LOCAL_TIDY_CHECKS is appended to $(my_tidy_checks)
* Extra flags are passed to clang-tidy through
WITH_TIDY_FLAGS or LOCAL_TIDY_FLAGS.
* To quickly find and fix clang-tidy warnings, set $(WITH_TIDY_ONLY)
to 1 or true to skip compilation of C/C++ files.
* Add a PHONY tidy_only target,
which includes all $(cpp_objects) and $(c_objects).
* The 'mm' and 'mmm' functions are changed to call make with
the 'tidy_only' target when WITH_TIDY_ONLY is true or 1.
In that case, only clang-tidy is called for C and C++ files.
Bug: http://b/27779618
Change-Id: I8adcfff217d68af49849b79aacee7d7654cafb1b
Neither is standard, but ulimit is toybox and therefore a bit more
regular and at least has help text.
Change-Id: Id7ba9adc9ca256b821d8060506010abef30dee28
1. Combined ~10 calls to the make build system to only one.
We added a phony target "dump-many-vars" to the build system to dump
"<var>=<value>" pairs. We then store the pairs as shell variables.
With this cache get_build_var/get_abs_build_var can just return
the shell variables instead of querying the build system.
2. Prune .git when we search for AndroidProduct.mks.
In internal source tree lunch time was reduced from ~15s to ~1.5s.
Bug: 27429759
(cherry picked from commit 08800fd905)
Change-Id: I862a0ec3c1aae97c552054dacec133e857042edf
1. Combined ~10 calls to the make build system to only one.
We added a phony target "dump-many-vars" to the build system to dump
"<var>=<value>" pairs. We then store the pairs as shell variables.
With this cache get_build_var/get_abs_build_var can just return
the shell variables instead of querying the build system.
2. Prune .git when we search for AndroidProduct.mks.
In internal source tree lunch time was reduced from ~15s to ~1.5s.
Bug: 27429759
Change-Id: I24e88598f6fab598ef26518885fd5e86e71a772d
The actual clang compiler called for static analysis is decided
by build/core/binary.mk, not the one given to --use-analyzer.
BUG: 13287788
Change-Id: I58105c20b56ce17ddf329a275c750d14284d1e25
Temporary revert to help out Brillo folks.
It will be resubmitted tomorrow.
This reverts commit 4495f6afb8.
Change-Id: Id378c7d3a6e72e9be50f9404b19d5763568987a5
To return to OpenJDK 7:
export LEGACY_USE_JAVA7=true
And run envsetup.sh/lunch again.
Bug: 25786468
Change-Id: I8e00591a24d13e3b8b6baaafe0fdff6536c58770
This is more efficient as find itself can handle correctly passing
arguments down to the command, and this is in POSIX. The current
versions of OS X also support this form.
BUG=None
TEST=mgrep still works
Change-Id: Ie570867609113868daaf068658c4f7e6f4ae42fa
When a directory isn't present with mmm, don't show "No Android.mk present", rather show that the directory isn't present
Change-Id: I7259a60012c6f30c470daa60d5a5097d01ffc4c7
Signed-off-by: Abhinav1997 <abhinav.jhanwar.august2@gmail.com>
This will run ${ANDROID_PRODUCT_OUT}/provision-device which in turn can
run fastboot (and other vendor-specific bits, if needed) to repartition
the device and reflash all partitions with known versions. Options
passed to the 'provision' command will be passed on to said script which
is expected to pass them on to fastboot.
Since this is a rather destructive operation involving data loss etc.,
user confirmation is required. This confirmation can be bypassed using
the option --no-confirmation.
Change-Id: Iec5667f2f5070b95d2eb70ad1b2984909ae4184c
This avoids Ninja's path canonicalization on those goal names.
Without this, Ninja complains about duplicate rules for
MODULES-IN/a/b/.. and MODULES-IN/a.
Bug: 24309760
Change-Id: Id3aa9da5d3887a2cd1426cbb5fdf35659c65805e
Previously we use command line variable BUILD_MODULES_IN_PATHS which
causes kati to regenerate build.ninja if any variable value changes.
TODO: Remove the old rules of BUILD_MODULES_IN_PATHS in
build/core/main.mk and ninja.mk once users have re-sourced envsetup.sh.
Probably in a few weeks.
Caveat: With this change, if a user sources the new envsetup.sh, mma/mmma
won't work in old branches from the same shell.
Bug: 24309760
Change-Id: I212e82aeebaaa2bd4114e2066f1995da8886b5e2
Nothing else was being imported from system/core yet, and a path under
development makes more sense for this.
Bug: http://b/22881740
Change-Id: Ib0beb02137805b3e382535514a2bc067b7fd1d33
We used to rely on envsetup.sh to set up PATH before doing kernel build.
Now we have new kernel build process.
Also the variable doesn't work any more as we don't have corresponding arm-eabi
toolchain for the latest arm-linux-androideabi toolchain.
Change-Id: I99443fdc58e94f57f4f1f7e88da6dd127f3b2fac
There's an adb Python interface now, and system/core needs to be in
the PYTHONPATH for `import adb` to find it.
Change-Id: I712767a2ba96cb017ce5857dc367e4cacf2ec51f
For historical reason, the aosp_* products were named full_*.
We keep the full, full_x86 and full_mips in case some tools still
reference these legacy names; But no reason the have the full_* product
names for the new 64-bit archs.
Change-Id: I240ed0c6ded0ded2d80603bd0c5ff24750999afc
Blocking these sequences on Darwin has false positives (Terminal.app)
and false negatives (Eclipse CDT on Linux). Instead let's ask the
terminal what it supports.
Change-Id: I907942925a8b30abc1ea920f077b5fc3af815ba4
Signed-off-by: Greg Hackmann <ghackmann@google.com>
gdbclient looks for 'x86_64-linux-androideabi-gdb' whereas the prebuilts
have gdb as 'x86_64-linux-android-gdb'
$ cd $ANDROID_BUILD_TOP
$ find prebuilts -iname *x86*gdb
prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/bin/x86_64-linux-android-gdb
prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.8/bin/x86_64-linux-android-gdb
prebuilts/gcc/darwin-x86/x86/x86_64-linux-android-4.9/bin/x86_64-linux-android-gdb
prebuilts/gcc/darwin-x86/x86/x86_64-linux-android-4.8/bin/x86_64-linux-android-gdb
Change-Id: Ib940ecd6f345ea501da79834168b91cc0f6e5a96
We had discussed the idea of making all host tools default to using
ASAN. Even if we don't make it the default, this makes it easy for the
user to switch all host binaries over.
Change-Id: I64a5c741b1b4e9aefed3a6be8dcd4f386e06b29c
1. Some devices do not set ro.product.device in which
case take it from ro.hardware
2. Add path to tapas symbols to sysroot and solib-search-path
for tapas users only
Change-Id: I4eed2d3c3aefd95070beebdbfba4464a524c3066
Proper selinux labeling support for files on rootfs was
never completely implemented. Instead of putting coredump
files on rootfs, put them on tmpfs instead.
See: http://www.mail-archive.com/seandroid-list@tycho.nsa.gov/msg01815.html
Bug: 18227650
Change-Id: I2eeabee4fe1a14bfbf990a4a518d538d6b4b6e87
Differences between this implementation and the old one:
1. Resolves symbols/gdb based on device information (lunch
target is irrelevant)
2. Works with downloaded from build-server symbols
3. Does not require user to specify exe file - detects it automatically
Bug: 18208329
(cherry picked from commit 9b8e4b3772)
Change-Id: I13ae2debb6e2d827b9aa55e93864b5d60c2bd32e
Differences between this implementation and the old one:
1. Resolves symbols/gdb based on device information (lunch
target is irrelevant)
2. Works with downloaded from build-server symbols
3. Does not require user to specify exe file - detects it automatically
Change-Id: I4e7ce0a51868634593a9f104fe3f2fa67b54ca9f
The shell functions in this patch enable crashing processes with the core limit
set correctly to dump core in directory /cores. They do so by remounting the
root partition, which is RAM-backed, and by creating the 0777-chmodded /cores
under it. They also set the core file pattern in /proc/sys/kernel/core_pattern
to be /cores/core.%p, such that a core dump will have the crashing process' PID
appended to it. You enable core-dump generation once per boot, as follows:
coredump-setup
If a process does not have its core-size rlimit set (as most do not), you can
either set it manually by typing "adb shell prlimit <pid> 4 -1 -1", or by
typing coredump-enable <name>, e.g.
coredump-enable $(pid mediaserver)
Alternatively, you can cause a running process to dump core by sending it a
SIGSEGV via the shell function core <name>, e.g.:
core $(pid mediaserver)
Change-Id: Ib174e7ee95515fb9866fa6bf0d5b5bf23f3ec61b
Signed-off-by: Iliyan Malchev <malchev@google.com>