Skip to content

Instantly share code, notes, and snippets.

@lupyuen
Last active February 1, 2024 13:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lupyuen/5f8191d5c63b7dba030582cbe7481572 to your computer and use it in GitHub Desktop.
Save lupyuen/5f8191d5c63b7dba030582cbe7481572 to your computer and use it in GitHub Desktop.
TCC WebAssembly Web Browser Log. See https://github.com/lupyuen/tcc-riscv32-wasm
main: start
compile_program: start
compile_program: options=["-c","hello.c"]
compile_program: code=int main(int argc, char *argv[]) {
printf("Hello, World!!\n");
return 0;
}
compile_program: options[0]=-c
compile_program: options[1]=hello.c
open: path=hello.c, oflag=0, return fd=3
sem_init: sem=tcc-wasm.sem_t@10d028, pshared=0, value=1
sem_wait: sem=tcc-wasm.sem_t@10d028
TODO: setjmp
TODO: sscanf: str=0.9.27, format=%d.%d.%d
format_string1: size=128, format=#define __TINYC__ %d
, a=1991381569
vsnprintf: return str=#define __TINYC__ 1991381569
format_string2: size=99, format=#define %s%s
, a0=__riscv, a1= 1
vsnprintf: return str=#define __riscv 1
format_string2: size=81, format=#define %s%s
, a0=__riscv_xlen 64, a1=
vsnprintf: return str=#define __riscv_xlen 64
format_string2: size=185, format=#define %s%s
, a0=__riscv_flen 64, a1=
vsnprintf: return str=#define __riscv_flen 64
format_string2: size=161, format=#define %s%s
, a0=__riscv_div, a1= 1
vsnprintf: return str=#define __riscv_div 1
format_string2: size=139, format=#define %s%s
, a0=__riscv_mul, a1= 1
vsnprintf: return str=#define __riscv_mul 1
format_string2: size=117, format=#define %s%s
, a0=__riscv_fdiv, a1= 1
vsnprintf: return str=#define __riscv_fdiv 1
format_string2: size=94, format=#define %s%s
, a0=__riscv_fsqrt, a1= 1
vsnprintf: return str=#define __riscv_fsqrt 1
format_string2: size=326, format=#define %s%s
, a0=__riscv_float_abi_double, a1= 1
vsnprintf: return str=#define __riscv_float_abi_double 1
format_string2: size=291, format=#define %s%s
, a0=__linux__, a1= 1
vsnprintf: return str=#define __linux__ 1
format_string2: size=271, format=#define %s%s
, a0=__linux, a1= 1
vsnprintf: return str=#define __linux 1
format_string2: size=253, format=#define %s%s
, a0=__unix__, a1= 1
vsnprintf: return str=#define __unix__ 1
format_string2: size=234, format=#define %s%s
, a0=__unix, a1= 1
vsnprintf: return str=#define __unix 1
format_string2: size=217, format=#define %s%s
, a0=__CHAR_UNSIGNED__, a1= 1
vsnprintf: return str=#define __CHAR_UNSIGNED__ 1
format_string1: size=189, format=#define __SIZEOF_POINTER__ %d
, a=8
vsnprintf: return str=#define __SIZEOF_POINTER__ 8
format_string1: size=160, format=#define __SIZEOF_LONG__ %d
, a=8
vsnprintf: return str=#define __SIZEOF_LONG__ 8
format_string2: size=134, format=#define %s%s
, a0=__STDC__, a1= 1
vsnprintf: return str=#define __STDC__ 1
format_string1: size=115, format=#define __STDC_VERSION__ %dL
, a=199901
vsnprintf: return str=#define __STDC_VERSION__ 199901L
format_string1: size=356, format=#define __BASE_FILE__ "%s"
, a=hello.c
vsnprintf: return str=#define __BASE_FILE__ "hello.c"
read: fd=3, nbyte=8192
read: return buf=int main(int argc, char *argv[]) {
printf("Hello, World!!\n");
return 0;
}
format_string2: size=128, format=%s:%d: , a0=hello.c, a1=2
vsnprintf: return str=hello.c:2:
format_string0: size=117, format=warning:
vsnprintf: return str=warning:
format_string1: size=108, format=implicit declaration of function '%s', a=printf
vsnprintf: return str=implicit declaration of function 'printf'
format_string1: size=0, format=%s
, a=hello.c:2: warning: implicit declaration of function 'printf'
fprintf: stream=tcc-wasm.FILE@2
hello.c:2: warning: implicit declaration of function 'printf'
format_string1: size=0, format=L.%u, a=0
sprintf: return str=L.0
format_string1: size=256, format=.rela%s, a=.text
snprintf: return str=.rela.text
read: fd=3, nbyte=8192
read: return buf=
close: fd=3
sem_post: sem=tcc-wasm.sem_t@10d028
format_string1: size=1024, format=%s, a=hello.c
snprintf: return str=hello.c
unlink: path=hello.o
open: path=hello.o, oflag=577, return fd=4
fdopen: fd=4, mode=wb, return FILE=5
fwrite: size=1, nmemb=64, stream=tcc-wasm.FILE@5
0000: 7F 45 4C 46 02 01 01 00 00 00 00 00 00 00 00 00 .ELF............
0016: 01 00 F3 00 01 00 00 00 00 00 00 00 00 00 00 00 ................
0032: 00 00 00 00 00 00 00 00 D0 01 00 00 00 00 00 00 ................
0048: 04 00 00 00 40 00 00 00 00 00 40 00 09 00 08 00 ....@.....@.....
fwrite: size=1, nmemb=64, stream=tcc-wasm.FILE@5
0000: 13 01 01 FE 23 3C 11 00 23 38 81 00 13 04 01 02 ....#<..#8......
0016: 13 00 00 00 23 34 A4 FE 23 30 B4 FE 17 05 00 00 ....#4..#0......
0032: 13 05 05 00 97 00 00 00 E7 80 00 00 1B 05 00 00 ................
0048: 83 30 81 01 03 34 01 01 13 01 01 02 67 80 00 00 .0...4......g...
fwrite: size=1, nmemb=16, stream=tcc-wasm.FILE@5
0000: 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21 21 0A 00 Hello, World!!..
fwrite: size=1, nmemb=144, stream=tcc-wasm.FILE@5
0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0016: 00 00 00 00 00 00 00 00 01 00 00 00 04 00 F1 FF ................
0032: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0048: 0E 00 00 00 01 00 03 00 00 00 00 00 00 00 00 00 ................
0064: 10 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 ................
0080: 1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0096: 09 00 00 00 12 00 01 00 00 00 00 00 00 00 00 00 ................
0112: 40 00 00 00 00 00 00 00 12 00 00 00 12 00 00 00 @...............
0128: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
fwrite: size=1, nmemb=25, stream=tcc-wasm.FILE@5
0000: 00 68 65 6C 6C 6F 2E 63 00 6D 61 69 6E 00 4C 2E .hello.c.main.L.
0016: 30 00 70 72 69 6E 74 66 00 0.printf.
7fputc: c=0x00, stream=tcc-wasm.FILE@5
fwrite: size=1, nmemb=72, stream=tcc-wasm.FILE@5
0000: 1C 00 00 00 00 00 00 00 17 00 00 00 02 00 00 00 ................
0016: 00 00 00 00 00 00 00 00 20 00 00 00 00 00 00 00 ........ .......
0032: 18 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 ................
0048: 24 00 00 00 00 00 00 00 13 00 00 00 05 00 00 00 $...............
0064: 00 00 00 00 00 00 00 00 ........
8fputc: c=0x00, stream=tcc-wasm.FILE@5
fwrite: size=1, nmemb=64, stream=tcc-wasm.FILE@5
0000: 00 2E 74 65 78 74 00 2E 64 61 74 61 00 2E 64 61 ..text..data..da
0016: 74 61 2E 72 6F 00 2E 62 73 73 00 2E 73 79 6D 74 ta.ro..bss..symt
0032: 61 62 00 2E 73 74 72 74 61 62 00 2E 72 65 6C 61 ab..strtab..rela
0048: 2E 74 65 78 74 00 2E 73 68 73 74 72 74 61 62 00 .text..shstrtab.
fwrite: size=1, nmemb=64, stream=tcc-wasm.FILE@5
0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0016: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0032: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0048: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
fwrite: size=1, nmemb=64, stream=tcc-wasm.FILE@5
0000: 01 00 00 00 01 00 00 00 06 00 00 00 00 00 00 00 ................
0016: 00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 ........@.......
0032: 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @...............
0048: 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
fwrite: size=1, nmemb=64, stream=tcc-wasm.FILE@5
0000: 07 00 00 00 01 00 00 00 03 00 00 00 00 00 00 00 ................
0016: 00 00 00 00 00 00 00 00 80 00 00 00 00 00 00 00 ................
0032: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0048: 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
fwrite: size=1, nmemb=64, stream=tcc-wasm.FILE@5
0000: 0D 00 00 00 01 00 00 00 03 00 00 00 00 00 00 00 ................
0016: 00 00 00 00 00 00 00 00 80 00 00 00 00 00 00 00 ................
0032: 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0048: 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
fwrite: size=1, nmemb=64, stream=tcc-wasm.FILE@5
0000: 16 00 00 00 08 00 00 00 03 00 00 00 00 00 00 00 ................
0016: 00 00 00 00 00 00 00 00 90 00 00 00 00 00 00 00 ................
0032: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0048: 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
fwrite: size=1, nmemb=64, stream=tcc-wasm.FILE@5
0000: 1B 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 ................
0016: 00 00 00 00 00 00 00 00 90 00 00 00 00 00 00 00 ................
0032: 90 00 00 00 00 00 00 00 06 00 00 00 04 00 00 00 ................
0048: 08 00 00 00 00 00 00 00 18 00 00 00 00 00 00 00 ................
fwrite: size=1, nmemb=64, stream=tcc-wasm.FILE@5
0000: 23 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 #...............
0016: 00 00 00 00 00 00 00 00 20 01 00 00 00 00 00 00 ........ .......
0032: 19 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0048: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
fwrite: size=1, nmemb=64, stream=tcc-wasm.FILE@5
0000: 2B 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 +...............
0016: 00 00 00 00 00 00 00 00 40 01 00 00 00 00 00 00 ........@.......
0032: 48 00 00 00 00 00 00 00 05 00 00 00 01 00 00 00 H...............
0048: 08 00 00 00 00 00 00 00 18 00 00 00 00 00 00 00 ................
fwrite: size=1, nmemb=64, stream=tcc-wasm.FILE@5
0000: 36 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 6...............
0016: 00 00 00 00 00 00 00 00 90 01 00 00 00 00 00 00 ................
0032: 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @...............
0048: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
close: stream=tcc-wasm.FILE@5
a.out: 1040 bytes
0000: 7F 45 4C 46 02 01 01 00 00 00 00 00 00 00 00 00 .ELF............
0016: 01 00 F3 00 01 00 00 00 00 00 00 00 00 00 00 00 ................
0032: 00 00 00 00 00 00 00 00 D0 01 00 00 00 00 00 00 ................
0048: 04 00 00 00 40 00 00 00 00 00 40 00 09 00 08 00 ....@.....@.....
0064: 13 01 01 FE 23 3C 11 00 23 38 81 00 13 04 01 02 ....#<..#8......
0080: 13 00 00 00 23 34 A4 FE 23 30 B4 FE 17 05 00 00 ....#4..#0......
0096: 13 05 05 00 97 00 00 00 E7 80 00 00 1B 05 00 00 ................
0112: 83 30 81 01 03 34 01 01 13 01 01 02 67 80 00 00 .0...4......g...
0128: 48 65 6C 6C 6F 2C 20 57 6F 72 6C 64 21 21 0A 00 Hello, World!!..
0144: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0160: 00 00 00 00 00 00 00 00 01 00 00 00 04 00 F1 FF ................
0176: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0192: 0E 00 00 00 01 00 03 00 00 00 00 00 00 00 00 00 ................
0208: 10 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 ................
0224: 1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0240: 09 00 00 00 12 00 01 00 00 00 00 00 00 00 00 00 ................
0256: 40 00 00 00 00 00 00 00 12 00 00 00 12 00 00 00 @...............
0272: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0288: 00 68 65 6C 6C 6F 2E 63 00 6D 61 69 6E 00 4C 2E .hello.c.main.L.
0304: 30 00 70 72 69 6E 74 66 00 00 00 00 00 00 00 00 0.printf........
0320: 1C 00 00 00 00 00 00 00 17 00 00 00 02 00 00 00 ................
0336: 00 00 00 00 00 00 00 00 20 00 00 00 00 00 00 00 ........ .......
0352: 18 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 ................
0368: 24 00 00 00 00 00 00 00 13 00 00 00 05 00 00 00 $...............
0384: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0400: 00 2E 74 65 78 74 00 2E 64 61 74 61 00 2E 64 61 ..text..data..da
0416: 74 61 2E 72 6F 00 2E 62 73 73 00 2E 73 79 6D 74 ta.ro..bss..symt
0432: 61 62 00 2E 73 74 72 74 61 62 00 2E 72 65 6C 61 ab..strtab..rela
0448: 2E 74 65 78 74 00 2E 73 68 73 74 72 74 61 62 00 .text..shstrtab.
0464: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0480: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0496: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0512: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0528: 01 00 00 00 01 00 00 00 06 00 00 00 00 00 00 00 ................
0544: 00 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 ........@.......
0560: 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @...............
0576: 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0592: 07 00 00 00 01 00 00 00 03 00 00 00 00 00 00 00 ................
0608: 00 00 00 00 00 00 00 00 80 00 00 00 00 00 00 00 ................
0624: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0640: 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0656: 0D 00 00 00 01 00 00 00 03 00 00 00 00 00 00 00 ................
0672: 00 00 00 00 00 00 00 00 80 00 00 00 00 00 00 00 ................
0688: 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0704: 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0720: 16 00 00 00 08 00 00 00 03 00 00 00 00 00 00 00 ................
0736: 00 00 00 00 00 00 00 00 90 00 00 00 00 00 00 00 ................
0752: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0768: 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0784: 1B 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 ................
0800: 00 00 00 00 00 00 00 00 90 00 00 00 00 00 00 00 ................
0816: 90 00 00 00 00 00 00 00 06 00 00 00 04 00 00 00 ................
0832: 08 00 00 00 00 00 00 00 18 00 00 00 00 00 00 00 ................
0848: 23 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 #...............
0864: 00 00 00 00 00 00 00 00 20 01 00 00 00 00 00 00 ........ .......
0880: 19 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0896: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
0912: 2B 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 +...............
0928: 00 00 00 00 00 00 00 00 40 01 00 00 00 00 00 00 ........@.......
0944: 48 00 00 00 00 00 00 00 05 00 00 00 01 00 00 00 H...............
0960: 08 00 00 00 00 00 00 00 18 00 00 00 00 00 00 00 ................
0976: 36 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 6...............
0992: 00 00 00 00 00 00 00 00 90 01 00 00 00 00 00 00 ................
1008: 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 @...............
1024: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
main: ptr=18219008
main: len=1040
{
"elf_data": "%7f%45%4c%46%02%01%01%00%00%00%00%00%00%00%00%00%01%00%f3%00%01%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%d0%01%00%00%00%00%00%00%04%00%00%00%40%00%00%00%00%00%40%00%09%00%08%00%13%01%01%fe%23%3c%11%00%23%38%81%00%13%04%01%02%13%00%00%00%23%34%a4%fe%23%30%b4%fe%17%05%00%00%13%05%05%00%97%00%00%00%e7%80%00%00%1b%05%00%00%83%30%81%01%03%34%01%01%13%01%01%02%67%80%00%00%48%65%6c%6c%6f%2c%20%57%6f%72%6c%64%21%21%0a%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%01%00%00%00%04%00%f1%ff%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%0e%00%00%00%01%00%03%00%00%00%00%00%00%00%00%00%10%00%00%00%00%00%00%00%00%00%00%00%00%00%01%00%1c%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%09%00%00%00%12%00%01%00%00%00%00%00%00%00%00%00%40%00%00%00%00%00%00%00%12%00%00%00%12%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%68%65%6c%6c%6f%2e%63%00%6d%61%69%6e%00%4c%2e%30%00%70%72%69%6e%74%66%00%00%00%00%00%00%00%00%1c%00%00%00%00%00%00%00%17%00%00%00%02%00%00%00%00%00%00%00%00%00%00%00%20%00%00%00%00%00%00%00%18%00%00%00%03%00%00%00%00%00%00%00%00%00%00%00%24%00%00%00%00%00%00%00%13%00%00%00%05%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%2e%74%65%78%74%00%2e%64%61%74%61%00%2e%64%61%74%61%2e%72%6f%00%2e%62%73%73%00%2e%73%79%6d%74%61%62%00%2e%73%74%72%74%61%62%00%2e%72%65%6c%61%2e%74%65%78%74%00%2e%73%68%73%74%72%74%61%62%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%01%00%00%00%01%00%00%00%06%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%40%00%00%00%00%00%00%00%40%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%08%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%07%00%00%00%01%00%00%00%03%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%80%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%08%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%0d%00%00%00%01%00%00%00%03%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%80%00%00%00%00%00%00%00%10%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%08%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%16%00%00%00%08%00%00%00%03%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%90%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%08%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%1b%00%00%00%02%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%90%00%00%00%00%00%00%00%90%00%00%00%00%00%00%00%06%00%00%00%04%00%00%00%08%00%00%00%00%00%00%00%18%00%00%00%00%00%00%00%23%00%00%00%03%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%20%01%00%00%00%00%00%00%19%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%01%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%2b%00%00%00%04%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%40%01%00%00%00%00%00%00%48%00%00%00%00%00%00%00%05%00%00%00%01%00%00%00%08%00%00%00%00%00%00%00%18%00%00%00%00%00%00%00%36%00%00%00%03%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%90%01%00%00%00%00%00%00%40%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00%01%00%00%00%00%00%00%00%00%00%00%00%00%00%00%00"
}
main: end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment