From 98e32a5496f302f8f04892df920a1f9a46c5de26 Mon Sep 17 00:00:00 2001 From: Ciro Santilli Date: Fri, 14 Sep 2018 11:33:22 +0100 Subject: [PATCH] runtc: rename to run-toochain Names up to two full words are saner and not too long --- README.adoc | 28 ++++++++++++++-------------- runtc => run-toolchain | 2 +- 2 files changed, 15 insertions(+), 15 deletions(-) rename runtc => run-toolchain (93%) diff --git a/README.adoc b/README.adoc index 0eeb24a..a269433 100644 --- a/README.adoc +++ b/README.adoc @@ -877,7 +877,7 @@ so it is close to the failing `0xbf0000cc`. `readelf`: .... -./runtc readelf -- -s "$(./getvar build_dir)/kernel_modules-1.0/hello.ko" +./run-toolchain readelf -- -s "$(./getvar build_dir)/kernel_modules-1.0/hello.ko" .... does not give any interesting hits at `cc`, no symbol was placed that far. @@ -950,7 +950,7 @@ The base address shows on terminal: Now let's find the offset of `myinit`: .... -./runtc readelf -- \ +./run-toolchain readelf -- \ -s "$(./getvar build_dir)/kernel_modules-1.0/fops.ko" | \ grep myinit .... @@ -1273,7 +1273,7 @@ Cannot access memory at address 0x10604 We have also double checked the address with: .... -./runtc --arch arm readelf -- \ +./run-toolchain --arch arm readelf -- \ -s "$(./getvar --arch arm build_dir)/kernel_modules-1.0/fops.ko" | \ grep main .... @@ -1878,7 +1878,7 @@ TODO Can you run arm executables in the aarch64 guest? https://stackoverflow.com I've tried: .... -./runtc --arch aarch64 gcc -- -static ~/test/hello_world.c -o data/9p/a.out +./run-toolchain --arch aarch64 gcc -- -static ~/test/hello_world.c -o data/9p/a.out ./run --arch aarch64 --eval-busybox '/mnt/9p/a.out' .... @@ -3679,7 +3679,7 @@ vermagic: 4.17.0 SMP mod_unload modversions Module information is stored in a special `.modinfo` section of the ELF file: .... -./runtc readelf -- -SW "$(./getvar target_dir)/module_info.ko" +./run-toolchain readelf -- -SW "$(./getvar target_dir)/module_info.ko" .... contains: @@ -3691,7 +3691,7 @@ contains: and: .... -./runtc readelf -- -x .modinfo "$(./getvar build_dir)/module_info.ko" +./run-toolchain readelf -- -x .modinfo "$(./getvar build_dir)/module_info.ko" .... gives: @@ -3908,7 +3908,7 @@ as explained at: https://stackoverflow.com/questions/8545931/using-gdb-to-conver The exact same thing can be done post mortem with: .... -./runtc gdb -- \ +./run-toolchain gdb -- \ -batch \ -ex 'info line *(myinit+0x1d)' \ "$(./getvar build_dir)/kernel_modules-1.0/panic.ko" \ @@ -5238,7 +5238,7 @@ Meaning of the flags: * `vaddr`: first virtual address of a page the belongs to the process. Notably: + .... -./runtc readelf -- -l "$(./getvar build_dir)/kernel_modules-1.0/user/virt_to_phys_test.out" +./run-toolchain readelf -- -l "$(./getvar build_dir)/kernel_modules-1.0/user/virt_to_phys_test.out" .... + contains: @@ -5610,7 +5610,7 @@ Notes: It can be found from: + .... -./runtc readelf -- -e "$(./getvar vmlinux)" | grep Entry +./run-toolchain readelf -- -e "$(./getvar vmlinux)" | grep Entry .... + TODO confirm further. If I try to break there with: @@ -7169,7 +7169,7 @@ The reason this is cool, is that `ls` is not statically compiled, but since we h In other words, much cooler than: .... -./runtc --arch arm gcc -- -static ./packages/kernel_modules/user/hello.c +./run-toolchain --arch arm gcc -- -static ./packages/kernel_modules/user/hello.c qemu-arm a.out .... @@ -7220,9 +7220,9 @@ First we try some `-static` sanity checks. Works and prints `hello`: .... -./runtc --arch x86_64 gcc -- -static -o x86_64.out ./packages/kernel_modules/user/hello.c -./runtc --arch arm gcc -- -static -o arm.out ./packages/kernel_modules/user/hello.c -./runtc --arch aarch64 gcc -- -static -o aarch64.out ./packages/kernel_modules/user/hello.c +./run-toolchain --arch x86_64 gcc -- -static -o x86_64.out ./packages/kernel_modules/user/hello.c +./run-toolchain --arch arm gcc -- -static -o arm.out ./packages/kernel_modules/user/hello.c +./run-toolchain --arch aarch64 gcc -- -static -o aarch64.out ./packages/kernel_modules/user/hello.c "$(./getvar --arch x86_64 --gem5 exec)" "$(./getvar gem5_se_file)" -c ./x86_64.out "$(./getvar --arch arm --gem5 exec)" "$(./getvar gem5_se_file)" -c ./arm.out "$(./getvar --arch aarch64 --gem5 exec)" "$(./getvar gem5_se_file)" -c ./aarch64.out @@ -7262,7 +7262,7 @@ gem5 user mode: .... make \ -C "$(./getvar --arch arm build_dir)/dhrystone-2" \ - CC="$(./runtc --arch arm --dry gcc)" \ + CC="$(./run-toolchain --arch arm --dry gcc)" \ CFLAGS=-static \ ; time \ diff --git a/runtc b/run-toolchain similarity index 93% rename from runtc rename to run-toolchain index 306a733..62e2cdb 100755 --- a/runtc +++ b/run-toolchain @@ -41,7 +41,7 @@ if args.dry: else: sys.exit(common.run_cmd( [common.get_toolchain_tool(args.tool)] + args.extra_args, - cmd_file=os.path.join(common.run_dir, 'runtc.sh'), + cmd_file=os.path.join(common.run_dir, 'run-toolchain.sh'), cwd=common.linux_variant_dir, show_cmd=False, ))