FreeBSD Bugzilla – Attachment 209240 Details for
Bug 242067
libc: r354823 riscv64 has a fault in printf() where IEEE754-2008 fp128 data is output wrong
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
Assemble , compile and link and check results.
rv64imafdc_printf.txt (text/plain), 32.74 KB, created by
Dennis Clarke
on 2019-11-19 03:18:34 UTC
(
hide
)
Description:
Assemble , compile and link and check results.
Filename:
MIME Type:
Creator:
Dennis Clarke
Created:
2019-11-19 03:18:34 UTC
Size:
32.74 KB
patch
obsolete
> >rv64g$ CC=/usr/local/bin/gcc >rv64g$ export CC > >rv64g$ CFLAGS='-std=iso9899:1999 -O0 -fno-builtin -march=rv64imafdc -mabi=lp64d -L/lib -L/usr/lib -Wl,-rpath=/lib -Wl,-rpath=/usr/lib -mpreferred-stack-boundary=4 -mstrict-align -mexplicit-relocs' >rv64g$ export CFLAGS > >rv64g$ CPPFLAGS='-D_TS_ERRNO -D_POSIX_PTHREAD_SEMANTIC -D_LARGEFILE64_SOURCE -D_XOPEN_SOURCE=600' >rv64g$ export CPPFLAGS >rv64g$ >rv64g$ >rv64g$ $CC $CFLAGS $CPPFLAGS -S -o hex_hack.s hex_hack.c >rv64g$ cat hex_hack.s > .file "hex_hack.c" > .option nopic > .text > .align 1 > .type uname, @function >uname: > addi sp,sp,-32 > sd ra,24(sp) > sd s0,16(sp) > addi s0,sp,32 > sd a0,-24(s0) > ld a1,-24(s0) > li a0,256 > call __xuname > mv a5,a0 > mv a0,a5 > ld ra,24(sp) > ld s0,16(sp) > addi sp,sp,32 > jr ra > .size uname, .-uname > .section .rodata > .align 3 >.LC6: > .string "C" > .align 3 >.LC7: > .string "WARNING : Could not attain system uname data.\n" > .align 3 >.LC8: > .string "uname" > .align 3 >.LC9: > .string "-------------------------------" > .align 3 >.LC10: > .string "------------------------------\n" > .align 3 >.LC11: > .string " system name = %s\n" > .align 3 >.LC12: > .string " node name = %s\n" > .align 3 >.LC13: > .string " release = %s\n" > .align 3 >.LC14: > .string " version = %s\n" > .align 3 >.LC15: > .string " machine = %s\n" > .align 3 >.LC16: > .string "------------------------------" > .align 3 >.LC17: > .string "\n" > .align 3 >.LC18: > .string "x86_fp80[16]\n" > .align 3 >.LC19: > .string " 0x35, 0xc2, 0x68, 0x21, 0xa2, 0xda, 0x0f, 0xc9,\n" > .align 3 >.LC20: > .string " 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n" > .align 3 >.LC21: > .string "out " > .align 3 >.LC22: > .string "0x%02x " > .align 3 >.LC23: > .string " x86_fp80 may be %38.34Le\n" > .align 3 >.LC24: > .string " x86_fp80 or be %18.14g\n" > .align 3 >.LC25: > .string "-------------------------------------------------\n" > .align 3 >.LC26: > .string "pi_fp64le[16]\n" > .align 3 >.LC27: > .string " 0x18, 0x2d, 0x44, 0x54, 0xfb, 0x21, 0x09, 0x40,\n" > .align 3 >.LC28: > .string " 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00\n" > .align 3 >.LC29: > .string " pi_fp64le may be %38.34Le\n" > .align 3 >.LC30: > .string " pi_fp64le or be %18.14g\n" > .align 3 >.LC31: > .string "pi_fp64be[16]\n" > .align 3 >.LC32: > .string " 0x40, 0x09, 0x21, 0xfb, 0x54, 0x44, 0x2d, 0x18,\n" > .align 3 >.LC33: > .string " pi_fp64be may be %38.34Le\n" > .align 3 >.LC34: > .string " pi_fp64be or be %18.14g\n" > .align 3 >.LC35: > .string "pi_fp128le[16]\n" > .align 3 >.LC36: > .string " 0xb8, 0x01, 0x17, 0xc5, 0x8c, 0x89, 0x69, 0x84,\n" > .align 3 >.LC37: > .string " 0xd1, 0x42, 0x44, 0xb5, 0x1f, 0x92, 0x00, 0x40\n" > .align 3 >.LC38: > .string " pi_fp128le may be %38.34Le\n" > .align 3 >.LC39: > .string " pi_fp128le or be %18.14g\n" > .align 3 >.LC40: > .string "pi_fp128be[16]\n" > .align 3 >.LC41: > .string " 0x40, 0x00, 0x92, 0x1f, 0xb5, 0x44, 0x42, 0xd1,\n" > .align 3 >.LC42: > .string " 0x84, 0x69, 0x89, 0x8c, 0xc5, 0x17, 0x01, 0xb8\n" > .align 3 >.LC43: > .string " pi_fp128be may be %38.34Le\n" > .align 3 >.LC44: > .string " pi_fp128be or be %18.14g\n" > .align 3 >.LC45: > .string "%02x " > .align 3 >.LC46: > .string "pi may be %38.34Le\n" > .align 3 >.LC0: > .byte 53 > .byte -62 > .byte 104 > .byte 33 > .byte -94 > .byte -38 > .byte 15 > .byte -55 > .byte 0 > .byte 64 > .byte 0 > .byte 0 > .byte 0 > .byte 0 > .byte 0 > .byte 0 > .align 3 >.LC1: > .byte 24 > .byte 45 > .byte 68 > .byte 84 > .byte -5 > .byte 33 > .byte 9 > .byte 64 > .byte 0 > .byte 0 > .byte 0 > .byte 0 > .byte 0 > .byte 0 > .byte 0 > .byte 0 > .align 3 >.LC2: > .byte 64 > .byte 9 > .byte 33 > .byte -5 > .byte 84 > .byte 68 > .byte 45 > .byte 24 > .byte 0 > .byte 0 > .byte 0 > .byte 0 > .byte 0 > .byte 0 > .byte 0 > .byte 0 > .align 3 >.LC3: > .byte -72 > .byte 1 > .byte 23 > .byte -59 > .byte -116 > .byte -119 > .byte 105 > .byte -124 > .byte -47 > .byte 66 > .byte 68 > .byte -75 > .byte 31 > .byte -110 > .byte 0 > .byte 64 > .align 3 >.LC4: > .byte 64 > .byte 0 > .byte -110 > .byte 31 > .byte -75 > .byte 68 > .byte 66 > .byte -47 > .byte -124 > .byte 105 > .byte -119 > .byte -116 > .byte -59 > .byte 23 > .byte 1 > .byte -72 > .text > .align 1 > .globl main > .type main, @function >main: > addi sp,sp,-1424 > sd ra,1416(sp) > sd s0,1408(sp) > addi s0,sp,1424 > mv a5,a0 > sd a1,-1424(s0) > sw a5,-1412(s0) > lui a5,%hi(.LC5) > ld a4,%lo(.LC5)(a5) > sd a4,-48(s0) > ld a5,%lo(.LC5+8)(a5) > sd a5,-40(s0) > lui a5,%hi(.LC6) > addi a1,a5,%lo(.LC6) > li a0,6 > call setlocale > addi a5,s0,-1328 > mv a0,a5 > call uname > mv a5,a0 > bgez a5,.L4 > lui a5,%hi(__stderrp) > ld a4,%lo(__stderrp)(a5) > lui a5,%hi(.LC7) > addi a1,a5,%lo(.LC7) > mv a0,a4 > call fprintf > lui a5,%hi(.LC8) > addi a0,a5,%lo(.LC8) > call perror > j .L5 >.L4: > lui a5,%hi(.LC9) > addi a0,a5,%lo(.LC9) > call printf > lui a5,%hi(.LC10) > addi a0,a5,%lo(.LC10) > call printf > addi a5,s0,-1328 > mv a1,a5 > lui a5,%hi(.LC11) > addi a0,a5,%lo(.LC11) > call printf > addi a5,s0,-1328 > addi a5,a5,256 > mv a1,a5 > lui a5,%hi(.LC12) > addi a0,a5,%lo(.LC12) > call printf > addi a5,s0,-1328 > addi a5,a5,512 > mv a1,a5 > lui a5,%hi(.LC13) > addi a0,a5,%lo(.LC13) > call printf > addi a5,s0,-1328 > addi a5,a5,768 > mv a1,a5 > lui a5,%hi(.LC14) > addi a0,a5,%lo(.LC14) > call printf > addi a5,s0,-1328 > addi a5,a5,1024 > mv a1,a5 > lui a5,%hi(.LC15) > addi a0,a5,%lo(.LC15) > call printf > lui a5,%hi(.LC9) > addi a0,a5,%lo(.LC9) > call printf > lui a5,%hi(.LC16) > addi a0,a5,%lo(.LC16) > call printf >.L5: > lui a5,%hi(.LC17) > addi a0,a5,%lo(.LC17) > call printf > lui a5,%hi(.LC0) > ld a4,%lo(.LC0)(a5) > sd a4,-1344(s0) > addi a5,a5,%lo(.LC0) > ld a5,8(a5) > sd a5,-1336(s0) > lui a5,%hi(.LC18) > addi a0,a5,%lo(.LC18) > call printf > lui a5,%hi(.LC19) > addi a0,a5,%lo(.LC19) > call printf > lui a5,%hi(.LC20) > addi a0,a5,%lo(.LC20) > call printf > lui a5,%hi(.LC21) > addi a0,a5,%lo(.LC21) > call printf > sw zero,-20(s0) > j .L6 >.L7: > lw a5,-20(s0) > addi a4,s0,-1344 > add a5,a4,a5 > lbu a5,0(a5) > sext.w a5,a5 > mv a1,a5 > lui a5,%hi(.LC22) > addi a0,a5,%lo(.LC22) > call printf > lw a5,-20(s0) > addiw a5,a5,1 > sw a5,-20(s0) >.L6: > lw a5,-20(s0) > sext.w a4,a5 > li a5,15 > ble a4,a5,.L7 > lui a5,%hi(.LC17) > addi a0,a5,%lo(.LC17) > call printf > addi a4,s0,-1344 > ld a5,0(a4) > ld a6,8(a4) > mv a2,a5 > mv a3,a6 > lui a5,%hi(.LC23) > addi a0,a5,%lo(.LC23) > call printf > addi a5,s0,-1344 > fld fa5,0(a5) > fmv.x.d a1,fa5 > lui a5,%hi(.LC24) > addi a0,a5,%lo(.LC24) > call printf > lui a5,%hi(.LC25) > addi a0,a5,%lo(.LC25) > call printf > lui a5,%hi(.LC1) > ld a4,%lo(.LC1)(a5) > sd a4,-1360(s0) > addi a5,a5,%lo(.LC1) > ld a5,8(a5) > sd a5,-1352(s0) > lui a5,%hi(.LC26) > addi a0,a5,%lo(.LC26) > call printf > lui a5,%hi(.LC27) > addi a0,a5,%lo(.LC27) > call printf > lui a5,%hi(.LC28) > addi a0,a5,%lo(.LC28) > call printf > lui a5,%hi(.LC21) > addi a0,a5,%lo(.LC21) > call printf > sw zero,-20(s0) > j .L8 >.L9: > lw a5,-20(s0) > addi a4,s0,-1360 > add a5,a4,a5 > lbu a5,0(a5) > sext.w a5,a5 > mv a1,a5 > lui a5,%hi(.LC22) > addi a0,a5,%lo(.LC22) > call printf > lw a5,-20(s0) > addiw a5,a5,1 > sw a5,-20(s0) >.L8: > lw a5,-20(s0) > sext.w a4,a5 > li a5,15 > ble a4,a5,.L9 > lui a5,%hi(.LC17) > addi a0,a5,%lo(.LC17) > call printf > addi a4,s0,-1360 > ld a5,0(a4) > ld a6,8(a4) > mv a2,a5 > mv a3,a6 > lui a5,%hi(.LC29) > addi a0,a5,%lo(.LC29) > call printf > addi a5,s0,-1360 > fld fa5,0(a5) > fmv.x.d a1,fa5 > lui a5,%hi(.LC30) > addi a0,a5,%lo(.LC30) > call printf > lui a5,%hi(.LC25) > addi a0,a5,%lo(.LC25) > call printf > lui a5,%hi(.LC2) > ld a4,%lo(.LC2)(a5) > sd a4,-1376(s0) > addi a5,a5,%lo(.LC2) > ld a5,8(a5) > sd a5,-1368(s0) > lui a5,%hi(.LC31) > addi a0,a5,%lo(.LC31) > call printf > lui a5,%hi(.LC32) > addi a0,a5,%lo(.LC32) > call printf > lui a5,%hi(.LC28) > addi a0,a5,%lo(.LC28) > call printf > lui a5,%hi(.LC21) > addi a0,a5,%lo(.LC21) > call printf > sw zero,-20(s0) > j .L10 >.L11: > lw a5,-20(s0) > addi a4,s0,-1376 > add a5,a4,a5 > lbu a5,0(a5) > sext.w a5,a5 > mv a1,a5 > lui a5,%hi(.LC22) > addi a0,a5,%lo(.LC22) > call printf > lw a5,-20(s0) > addiw a5,a5,1 > sw a5,-20(s0) >.L10: > lw a5,-20(s0) > sext.w a4,a5 > li a5,15 > ble a4,a5,.L11 > lui a5,%hi(.LC17) > addi a0,a5,%lo(.LC17) > call printf > addi a4,s0,-1376 > ld a5,0(a4) > ld a6,8(a4) > mv a2,a5 > mv a3,a6 > lui a5,%hi(.LC33) > addi a0,a5,%lo(.LC33) > call printf > addi a5,s0,-1376 > fld fa5,0(a5) > fmv.x.d a1,fa5 > lui a5,%hi(.LC34) > addi a0,a5,%lo(.LC34) > call printf > lui a5,%hi(.LC25) > addi a0,a5,%lo(.LC25) > call printf > lui a5,%hi(.LC3) > ld a4,%lo(.LC3)(a5) > sd a4,-1392(s0) > addi a5,a5,%lo(.LC3) > ld a5,8(a5) > sd a5,-1384(s0) > lui a5,%hi(.LC35) > addi a0,a5,%lo(.LC35) > call printf > lui a5,%hi(.LC36) > addi a0,a5,%lo(.LC36) > call printf > lui a5,%hi(.LC37) > addi a0,a5,%lo(.LC37) > call printf > lui a5,%hi(.LC21) > addi a0,a5,%lo(.LC21) > call printf > sw zero,-20(s0) > j .L12 >.L13: > lw a5,-20(s0) > addi a4,s0,-1392 > add a5,a4,a5 > lbu a5,0(a5) > sext.w a5,a5 > mv a1,a5 > lui a5,%hi(.LC22) > addi a0,a5,%lo(.LC22) > call printf > lw a5,-20(s0) > addiw a5,a5,1 > sw a5,-20(s0) >.L12: > lw a5,-20(s0) > sext.w a4,a5 > li a5,15 > ble a4,a5,.L13 > lui a5,%hi(.LC17) > addi a0,a5,%lo(.LC17) > call printf > addi a4,s0,-1392 > ld a5,0(a4) > ld a6,8(a4) > mv a2,a5 > mv a3,a6 > lui a5,%hi(.LC38) > addi a0,a5,%lo(.LC38) > call printf > addi a5,s0,-1392 > fld fa5,0(a5) > fmv.x.d a1,fa5 > lui a5,%hi(.LC39) > addi a0,a5,%lo(.LC39) > call printf > lui a5,%hi(.LC25) > addi a0,a5,%lo(.LC25) > call printf > lui a5,%hi(.LC4) > ld a4,%lo(.LC4)(a5) > sd a4,-1408(s0) > addi a5,a5,%lo(.LC4) > ld a5,8(a5) > sd a5,-1400(s0) > lui a5,%hi(.LC40) > addi a0,a5,%lo(.LC40) > call printf > lui a5,%hi(.LC41) > addi a0,a5,%lo(.LC41) > call printf > lui a5,%hi(.LC42) > addi a0,a5,%lo(.LC42) > call printf > lui a5,%hi(.LC21) > addi a0,a5,%lo(.LC21) > call printf > sw zero,-20(s0) > j .L14 >.L15: > lw a5,-20(s0) > addi a4,s0,-1408 > add a5,a4,a5 > lbu a5,0(a5) > sext.w a5,a5 > mv a1,a5 > lui a5,%hi(.LC22) > addi a0,a5,%lo(.LC22) > call printf > lw a5,-20(s0) > addiw a5,a5,1 > sw a5,-20(s0) >.L14: > lw a5,-20(s0) > sext.w a4,a5 > li a5,15 > ble a4,a5,.L15 > lui a5,%hi(.LC17) > addi a0,a5,%lo(.LC17) > call printf > addi a4,s0,-1408 > ld a5,0(a4) > ld a6,8(a4) > mv a2,a5 > mv a3,a6 > lui a5,%hi(.LC43) > addi a0,a5,%lo(.LC43) > call printf > addi a5,s0,-1408 > fld fa5,0(a5) > fmv.x.d a1,fa5 > lui a5,%hi(.LC44) > addi a0,a5,%lo(.LC44) > call printf > lui a5,%hi(.LC25) > addi a0,a5,%lo(.LC25) > call printf > sw zero,-20(s0) > j .L16 >.L17: > lw a5,-20(s0) > addi a4,s0,-48 > add a5,a4,a5 > lbu a5,0(a5) > sext.w a5,a5 > mv a1,a5 > lui a5,%hi(.LC45) > addi a0,a5,%lo(.LC45) > call printf > lw a5,-20(s0) > addiw a5,a5,1 > sw a5,-20(s0) >.L16: > lw a5,-20(s0) > mv a4,a5 > li a5,15 > bleu a4,a5,.L17 > lui a5,%hi(.LC17) > addi a0,a5,%lo(.LC17) > call printf > ld a5,-48(s0) > ld a6,-40(s0) > mv a2,a5 > mv a3,a6 > lui a5,%hi(.LC46) > addi a0,a5,%lo(.LC46) > call printf > li a5,0 > mv a0,a5 > ld ra,1416(sp) > ld s0,1408(sp) > addi sp,sp,1424 > jr ra > .size main, .-main > .section .rodata > .align 4 >.LC5: > .word 3306619320 > .word 2221509004 > .word 3041149649 > .word 1073779231 > .ident "GCC: (GNU) 8.2.0" >rv64g$ >rv64g$ >rv64g$ echo '16o 1073779231p 3041149649p 2221509004p 3306619320pq' | dc >4000921F >B54442D1 >8469898C >C51701B8 >rv64g$ > >rv64g$ >rv64g$ $CC -v $CFLAGS $CPPFLAGS -c -o hex_hack.o hex_hack.s >Using built-in specs. >COLLECT_GCC=/usr/local/bin/gcc >Target: riscv64-unknown-freebsd12.0 >Configured with: /home/br/dev/riscv20181213/riscv-gnu-toolchain/riscv-gcc/configure --target=riscv64-unknown-freebsd12.0 --host=riscv64-unknown-freebsd12.0 --with-build-sysroot=/home/br/riscv-world --without-newlib --without-headers --disable-werror --disable-shared --enable-threads --enable-tls --enable-languages=c,c++ --with-gmp=/home/br/riscv-world/usr/local --with-mpfr=/home/br/riscv-world/usr/local --with-mpc=/home/br/riscv-world/usr/local --disable-libatomic --disable-libmudflap --disable-libssp --disable-libquadmath --disable-libgomp --disable-nls --disable-bootstrap --disable-multilib --with-arch=rv64imafdc >Thread model: posix >gcc version 8.2.0 (GCC) >COLLECT_GCC_OPTIONS='-v' '-std=c99' '-O0' '-fno-builtin' '-march=rv64imafdc' '-mabi=lp64d' '-L/lib' '-L/usr/lib' '-mpreferred-stack-boundary=4' '-mstrict-align' '-mexplicit-relocs' '-D' '_TS_ERRNO' '-D' '_POSIX_PTHREAD_SEMANTIC' '-D' '_LARGEFILE64_SOURCE' '-D' '_XOPEN_SOURCE=600' '-c' '-o' 'hex_hack.o' > /usr/local/lib/gcc/riscv64-unknown-freebsd12.0/8.2.0/../../../../riscv64-unknown-freebsd12.0/bin/as -v --traditional-format -march=rv64imafdc -mabi=lp64d -o hex_hack.o hex_hack.s >GNU assembler version 2.31.1 (riscv64-unknown-freebsd12.0) using BFD version (GNU Binutils) 2.31.1 >COMPILER_PATH=/usr/local/libexec/gcc/riscv64-unknown-freebsd12.0/8.2.0/:/usr/local/libexec/gcc/riscv64-unknown-freebsd12.0/8.2.0/:/usr/local/libexec/gcc/riscv64-unknown-freebsd12.0/:/usr/local/lib/gcc/riscv64-unknown-freebsd12.0/8.2.0/:/usr/local/lib/gcc/riscv64-unknown-freebsd12.0/:/usr/local/lib/gcc/riscv64-unknown-freebsd12.0/8.2.0/../../../../riscv64-unknown-freebsd12.0/bin/ >LIBRARY_PATH=/usr/local/lib/gcc/riscv64-unknown-freebsd12.0/8.2.0/:/usr/local/lib/gcc/riscv64-unknown-freebsd12.0/8.2.0/../../../../riscv64-unknown-freebsd12.0/lib/:/lib/:/usr/lib/ >COLLECT_GCC_OPTIONS='-v' '-std=c99' '-O0' '-fno-builtin' '-march=rv64imafdc' '-mabi=lp64d' '-L/lib' '-L/usr/lib' '-mpreferred-stack-boundary=4' '-mstrict-align' '-mexplicit-relocs' '-D' '_TS_ERRNO' '-D' '_POSIX_PTHREAD_SEMANTIC' '-D' '_LARGEFILE64_SOURCE' '-D' '_XOPEN_SOURCE=600' '-c' '-o' 'hex_hack.o' >rv64g$ >rv64g$ >rv64g$ $CC -v $CFLAGS $CPPFLAGS -o hex_hack hex_hack.o >Using built-in specs. >COLLECT_GCC=/usr/local/bin/gcc >COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/riscv64-unknown-freebsd12.0/8.2.0/lto-wrapper >Target: riscv64-unknown-freebsd12.0 >Configured with: /home/br/dev/riscv20181213/riscv-gnu-toolchain/riscv-gcc/configure --target=riscv64-unknown-freebsd12.0 --host=riscv64-unknown-freebsd12.0 --with-build-sysroot=/home/br/riscv-world --without-newlib --without-headers --disable-werror --disable-shared --enable-threads --enable-tls --enable-languages=c,c++ --with-gmp=/home/br/riscv-world/usr/local --with-mpfr=/home/br/riscv-world/usr/local --with-mpc=/home/br/riscv-world/usr/local --disable-libatomic --disable-libmudflap --disable-libssp --disable-libquadmath --disable-libgomp --disable-nls --disable-bootstrap --disable-multilib --with-arch=rv64imafdc >Thread model: posix >gcc version 8.2.0 (GCC) >COMPILER_PATH=/usr/local/libexec/gcc/riscv64-unknown-freebsd12.0/8.2.0/:/usr/local/libexec/gcc/riscv64-unknown-freebsd12.0/8.2.0/:/usr/local/libexec/gcc/riscv64-unknown-freebsd12.0/:/usr/local/lib/gcc/riscv64-unknown-freebsd12.0/8.2.0/:/usr/local/lib/gcc/riscv64-unknown-freebsd12.0/:/usr/local/lib/gcc/riscv64-unknown-freebsd12.0/8.2.0/../../../../riscv64-unknown-freebsd12.0/bin/ >LIBRARY_PATH=/usr/local/lib/gcc/riscv64-unknown-freebsd12.0/8.2.0/:/usr/local/lib/gcc/riscv64-unknown-freebsd12.0/8.2.0/../../../../riscv64-unknown-freebsd12.0/lib/:/lib/:/usr/lib/ >COLLECT_GCC_OPTIONS='-v' '-std=c99' '-O0' '-fno-builtin' '-march=rv64imafdc' '-mabi=lp64d' '-L/lib' '-L/usr/lib' '-mpreferred-stack-boundary=4' '-mstrict-align' '-mexplicit-relocs' '-D' '_TS_ERRNO' '-D' '_POSIX_PTHREAD_SEMANTIC' '-D' '_LARGEFILE64_SOURCE' '-D' '_XOPEN_SOURCE=600' '-o' 'hex_hack' > /usr/local/libexec/gcc/riscv64-unknown-freebsd12.0/8.2.0/collect2 -plugin /usr/local/libexec/gcc/riscv64-unknown-freebsd12.0/8.2.0/liblto_plugin.so -plugin-opt=/usr/local/libexec/gcc/riscv64-unknown-freebsd12.0/8.2.0/lto-wrapper -plugin-opt=-fresolution=/tmp//cc5h5Xey.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc --eh-frame-hdr -melf64lriscv -V -dynamic-linker /libexec/ld-elf.so.1 -o hex_hack /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o -L/lib -L/usr/lib -L/usr/local/lib/gcc/riscv64-unknown-freebsd12.0/8.2.0 -L/usr/local/lib/gcc/riscv64-unknown-freebsd12.0/8.2.0/../../../../riscv64-unknown-freebsd12.0/lib -rpath=/lib -rpath=/usr/lib hex_hack.o -lgcc -lc -lgcc /usr/lib/crtend.o /usr/lib/crtn.o >GNU ld (GNU Binutils) 2.31.1 > Supported emulations: > elf64lriscv > elf32lriscv >COLLECT_GCC_OPTIONS='-v' '-std=c99' '-O0' '-fno-builtin' '-march=rv64imafdc' '-mabi=lp64d' '-L/lib' '-L/usr/lib' '-mpreferred-stack-boundary=4' '-mstrict-align' '-mexplicit-relocs' '-D' '_TS_ERRNO' '-D' '_POSIX_PTHREAD_SEMANTIC' '-D' '_LARGEFILE64_SOURCE' '-D' '_XOPEN_SOURCE=600' '-o' 'hex_hack' >rv64g$ >rv64g$ ./hex_hack >------------------------------------------------------------- > system name = FreeBSD > node name = callisto > release = 13.0-CURRENT > version = FreeBSD 13.0-CURRENT r350568 QEMU > machine = riscv >------------------------------------------------------------- >x86_fp80[16] > 0x35, 0xc2, 0x68, 0x21, 0xa2, 0xda, 0x0f, 0xc9, > 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 >out 0x35 0xc2 0x68 0x21 0xa2 0xda 0x0f 0xc9 0x00 0x40 0x00 0x00 0x00 0x00 0x00 0x00 > x86_fp80 may be 1.2825405666778966716566646778220136e-4937 > x86_fp80 or be -8.8796093704934e+43 >------------------------------------------------- >pi_fp64le[16] > 0x18, 0x2d, 0x44, 0x54, 0xfb, 0x21, 0x09, 0x40, > 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 >out 0x18 0x2d 0x44 0x54 0xfb 0x21 0x09 0x40 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 > pi_fp64le may be 1.2844033302391040508901570296769377e-4937 > pi_fp64le or be 3.1415926535898 >------------------------------------------------- >pi_fp64be[16] > 0x40, 0x09, 0x21, 0xfb, 0x54, 0x44, 0x2d, 0x18, > 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 >out 0x40 0x09 0x21 0xfb 0x54 0x44 0x2d 0x18 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 > pi_fp64be may be 1.2844033302391040510714290479378338e-4937 > pi_fp64be or be 3.2073756306764e-192 >------------------------------------------------- >pi_fp128le[16] > 0xb8, 0x01, 0x17, 0xc5, 0x8c, 0x89, 0x69, 0x84, > 0xd1, 0x42, 0x44, 0xb5, 0x1f, 0x92, 0x00, 0x40 >out 0xb8 0x01 0x17 0xc5 0x8c 0x89 0x69 0x84 0xd1 0x42 0x44 0xb5 0x1f 0x92 0x00 0x40 > pi_fp128le may be 2.0000076404754786670482531268212651e+00 > pi_fp128le or be -2.0963761001907e-287 >------------------------------------------------- >pi_fp128be[16] > 0x40, 0x00, 0x92, 0x1f, 0xb5, 0x44, 0x42, 0xd1, > 0x84, 0x69, 0x89, 0x8c, 0xc5, 0x17, 0x01, 0xb8 >out 0x40 0x00 0x92 0x1f 0xb5 0x44 0x42 0xd1 0x84 0x69 0x89 0x8c 0xc5 0x17 0x01 0xb8 > pi_fp128be may be -1.2377431474080501179507612648697053e-616 > pi_fp128be or be -2.7726117564375e+83 >------------------------------------------------- >b8 01 17 c5 8c 89 69 84 d1 42 44 b5 1f 92 00 40 >pi may be 2.0000076404754786670482531268212651e+00 >rv64g$ readelf -delV hex_hack >ELF Header: > Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 > Class: ELF64 > Data: 2's complement, little endian > Version: 1 (current) > OS/ABI: NONE > ABI Version: 0 > Type: EXEC (Executable file) > Machine: RISC-V > Version: 0x1 > Entry point address: 0x10610 > Start of program headers: 64 (bytes into file) > Start of section headers: 16208 (bytes into file) > Flags: 0x5, double-float ABI, RVC > Size of this header: 64 (bytes) > Size of program headers: 56 (bytes) > Number of program headers: 7 > Size of section headers: 64 (bytes) > Number of section headers: 34 > Section header string table index: 33 > >Elf file type is EXEC (Executable file) >Entry point 0x10610 >There are 7 program headers, starting at offset 64 > >Program Headers: > Type Offset VirtAddr PhysAddr > FileSiz MemSiz Flg Align > PHDR 0x0000000000000040 0x0000000000010040 0x0000000000010040 > 0x0000000000000188 0x0000000000000188 R 0x8 > INTERP 0x00000000000001c8 0x00000000000101c8 0x00000000000101c8 > 0x0000000000000015 0x0000000000000015 R 0x1 > [Requesting program interpreter: /libexec/ld-elf.so.1] > LOAD 0x0000000000000000 0x0000000000010000 0x0000000000010000 > 0x0000000000001230 0x0000000000001230 R E 0x1000 > LOAD 0x0000000000001230 0x0000000000012230 0x0000000000012230 > 0x0000000000000228 0x0000000000000240 RW 0x1000 > DYNAMIC 0x0000000000001238 0x0000000000012238 0x0000000000012238 > 0x00000000000001c0 0x00000000000001c0 RW 0x8 > NOTE 0x00000000000001e0 0x00000000000101e0 0x00000000000101e0 > 0x0000000000000048 0x0000000000000048 R 0x4 > GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000 > 0x0000000000000000 0x0000000000000000 RW 0x10 > > Section to Segment mapping: > Segment Sections... > 00 > 01 .interp > 02 .interp .note.tag .hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .plt .text .fini .rodata > 03 .init_array .jcr .dynamic .got .sdata .sbss .bss > 04 .jcr .dynamic > 05 .note.tag > 06 >There are 34 section headers, starting at offset 0x3f50: > >Section Headers: > [Nr] Name Type Address Offset > Size EntSize Flags Link Info Align > [ 0] NULL 0000000000000000 00000000 > 0000000000000000 0000000000000000 0 0 0 > [ 1] .interp PROGBITS 00000000000101c8 000001c8 > 0000000000000015 0000000000000000 A 0 0 1 > [ 2] .note.tag NOTE 00000000000101e0 000001e0 > 0000000000000048 0000000000000000 A 0 0 4 > [ 3] .hash HASH 0000000000010228 00000228 > 0000000000000048 0000000000000004 A 4 0 8 > [ 4] .dynsym DYNSYM 0000000000010270 00000270 > 0000000000000138 0000000000000018 A 5 1 8 > [ 5] .dynstr STRTAB 00000000000103a8 000003a8 > 0000000000000086 0000000000000000 A 0 0 1 > [ 6] .gnu.version SUNW_versym 000000000001042e 0000042e > 000000000000001a 0000000000000002 A 4 0 2 > [ 7] .gnu.version_r SUNW_verneed 0000000000010448 00000448 > 0000000000000020 0000000000000000 A 5 1 8 > [ 8] .rela.dyn RELA 0000000000010468 00000468 > 0000000000000018 0000000000000018 A 4 0 8 > [ 9] .rela.plt RELA 0000000000010480 00000480 > 00000000000000c0 0000000000000018 AI 4 18 8 > [10] .init PROGBITS 0000000000010540 00000540 > 000000000000000a 0000000000000000 AX 0 0 1 > [11] .plt PROGBITS 0000000000010550 00000550 > 00000000000000a0 0000000000000010 AX 0 0 16 > [12] .text PROGBITS 00000000000105f0 000005f0 > 000000000000067e 0000000000000000 AX 0 0 2 > [13] .fini PROGBITS 0000000000010c6e 00000c6e > 000000000000000a 0000000000000000 AX 0 0 1 > [14] .rodata PROGBITS 0000000000010c80 00000c80 > 00000000000005b0 0000000000000000 A 0 0 16 > [15] .init_array INIT_ARRAY 0000000000012230 00001230 > 0000000000000008 0000000000000008 WA 0 0 8 > [16] .jcr PROGBITS 0000000000012238 00001238 > 0000000000000000 0000000000000000 WA 0 0 8 > [17] .dynamic DYNAMIC 0000000000012238 00001238 > 00000000000001c0 0000000000000010 WA 5 0 8 > [18] .got PROGBITS 00000000000123f8 000013f8 > 0000000000000058 0000000000000008 WA 0 0 8 > [19] .sdata PROGBITS 0000000000012450 00001450 > 0000000000000008 0000000000000000 WA 0 0 8 > [20] .sbss NOBITS 0000000000012458 00001458 > 0000000000000008 0000000000000000 WA 0 0 8 > [21] .bss NOBITS 0000000000012460 00001458 > 0000000000000010 0000000000000000 WA 0 0 8 > [22] .comment PROGBITS 0000000000000000 00001458 > 000000000000024b 0000000000000001 MS 0 0 1 > [23] .debug_aranges PROGBITS 0000000000000000 000016b0 > 00000000000000e0 0000000000000000 0 0 16 > [24] .debug_info PROGBITS 0000000000000000 00001790 > 0000000000000856 0000000000000000 0 0 1 > [25] .debug_abbrev PROGBITS 0000000000000000 00001fe6 > 000000000000035f 0000000000000000 0 0 1 > [26] .debug_line PROGBITS 0000000000000000 00002345 > 00000000000006b4 0000000000000000 0 0 1 > [27] .debug_frame PROGBITS 0000000000000000 00002a00 > 0000000000000098 0000000000000000 0 0 8 > [28] .debug_str PROGBITS 0000000000000000 00002a98 > 0000000000000463 0000000000000001 MS 0 0 1 > [29] .debug_loc PROGBITS 0000000000000000 00002efb > 000000000000048e 0000000000000000 0 0 1 > [30] .debug_ranges PROGBITS 0000000000000000 00003390 > 0000000000000110 0000000000000000 0 0 16 > [31] .symtab SYMTAB 0000000000000000 000034a0 > 0000000000000738 0000000000000018 32 52 8 > [32] .strtab STRTAB 0000000000000000 00003bd8 > 0000000000000246 0000000000000000 0 0 1 > [33] .shstrtab STRTAB 0000000000000000 00003e1e > 000000000000012d 0000000000000000 0 0 1 >Key to Flags: > W (write), A (alloc), X (execute), M (merge), S (strings) > I (info), L (link order), G (group), x (unknown) > O (extra OS processing required) o (OS specific), p (processor specific) > >Dynamic section at offset 0x1238 contains 23 entries: > Tag Type Name/Value > 0x0000000000000001 NEEDED Shared library: [libc.so.7] > 0x000000000000000f RPATH Library rpath: [/lib:/usr/lib] > 0x000000000000000c INIT 0x10540 > 0x000000000000000d FINI 0x10c6e > 0x0000000000000019 INIT_ARRAY > 0x000000000000001b INIT_ARRAYSZ 8 (bytes) > 0x0000000000000004 HASH 0x10228 > 0x0000000000000005 STRTAB 0x103a8 > 0x0000000000000006 SYMTAB 0x10270 > 0x000000000000000a STRSZ 134 (bytes) > 0x000000000000000b SYMENT 24 (bytes) > 0x0000000000000015 DEBUG 0x0 > 0x0000000000000003 PLTGOT 0x123f8 > 0x0000000000000002 PLTRELSZ 192 (bytes) > 0x0000000000000014 PLTREL RELA > 0x0000000000000017 JMPREL 0x10480 > 0x0000000000000007 RELA 0x10468 > 0x0000000000000008 RELASZ 216 (bytes) > 0x0000000000000009 RELAENT 24 (bytes) > 0x000000006ffffffe VERNEED 0x10448 > 0x000000006fffffff VERNEEDNUM 1 > 0x000000006ffffff0 VERSYM 0x1042e > 0x0000000000000000 NULL 0x0 > >Version symbol section (.gnu.version): > 000: 0 *local* 2 FBSD_1.0 2 FBSD_1.0 2 FBSD_1.0 > 004: 2 FBSD_1.0 1 *global* 2 FBSD_1.0 2 FBSD_1.0 > 008: 2 FBSD_1.0 2 FBSD_1.0 0 *local* 1 *global* > 00c: 2 FBSD_1.0 > >Version needed section (.gnu.version_r): > 0x0000 vn_version: 1 vn_file: libc.so.7 vn_cnt: 1 > 0x0010 vna_name: FBSD_1.0 vna_flags: 0 vna_other: 2 >rv64g$ >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 242067
:
209239
| 209240