[mockbuild@942f39f843ac428c82c6c109caed0112 ~]$ gdb --args julia -e 'println(Float16(2.) > Float32(1.))' GNU gdb (GDB) Fedora 11.2-3.fc36 Copyright (C) 2022 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-redhat-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from julia... Reading symbols from /usr/lib/debug/usr/bin/julia-1.7.2-1.fc35.x86_64.debug... (gdb) r Starting program: /usr/bin/julia -e println\(Float16\(2.\)\ \>\ Float32\(1.\)\) This GDB supports auto-downloading debuginfo from the following URLs: https://debuginfod.fedoraproject.org/ Enable debuginfod for this session? (y or [n]) n Debuginfod has been disabled. To make this setting permanent, add 'set debuginfod enabled off' to .gdbinit. [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Missing separate debuginfo for /usr/bin/../lib64/julia/libopenlibm.so Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/b6/bd3fc543734b274e2856121ef5d9b353e27923.debug Missing separate debuginfo for /usr/bin/../lib64/julia/libatomic.so.1 Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/e2/974e51fadad10eff4f5a3b3c633502ca217d5a.debug Missing separate debuginfo for /usr/bin/../lib64/julia/libstdc++.so.6 Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/4e/637fb5819db9b2d1c86192611673c7b0fedadf.debug Traceback (most recent call last): File "/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.30-gdb.py", line 60, in from libstdcxx.v6 import register_libstdcxx_printers ModuleNotFoundError: No module named 'libstdcxx' [New Thread 0x7ffff3864640 (LWP 124)] Missing separate debuginfo for /usr/bin/../lib64/julia/libpcre2-8.so Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/67/d78ee981939e51fee33d8885ff8000552e7a3d.debug Missing separate debuginfo for /usr/bin/../lib64/julia/libgmp.so Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/14/dbc5e93375ccb760dc47c5aaecc0cdfc45a06a.debug Missing separate debuginfo for /usr/bin/../lib64/julia/libmpfr.so Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/33/e34d55b8b075921269ca8f478a3e9f4099ac4f.debug Missing separate debuginfo for /usr/bin/../lib64/julia/libopenblas64_.so Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/88/88e3fbbcf16e7e6dc278e9591674451c366516.debug [New Thread 0x7fffe0db2640 (LWP 125)] [New Thread 0x7fffe05b1640 (LWP 126)] [New Thread 0x7fffd7db0640 (LWP 127)] [New Thread 0x7fffcf5af640 (LWP 128)] [New Thread 0x7fffbedae640 (LWP 129)] Missing separate debuginfo for /usr/bin/../lib64/julia/libcholmod.so Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/28/c6f41f050dc34da115813d705d3be00b9d2d22.debug Missing separate debuginfo for /usr/bin/../lib64/julia/libcurl.so Try: dnf --enablerepo='*debug*' install /usr/lib/debug/.build-id/dd/7faf7805a0041b9267a45b4f039361bb2eb3d5.debug false [Thread 0x7fffbedae640 (LWP 129) exited] [Thread 0x7fffcf5af640 (LWP 128) exited] [Thread 0x7fffd7db0640 (LWP 127) exited] [Thread 0x7fffe05b1640 (LWP 126) exited] [Thread 0x7fffe0db2640 (LWP 125) exited] [Thread 0x7ffff3864640 (LWP 124) exited] [Inferior 1 (process 120) exited normally] Missing separate debuginfos, use: dnf debuginfo-install cyrus-sasl-lib-2.1.27-14.fc35.x86_64 keyutils-libs-1.6.1-3.fc35.x86_64 krb5-libs-1.19.2-4.fc35.x86_64 libbrotli-1.0.9-6.fc35.x86_64 libcom_err-1.46.3-1.fc35.x86_64 libgfortran-11.2.1-9.fc35.x86_64 libgomp-11.2.1-9.fc35.x86_64 libidn2-2.3.2-3.fc35.x86_64 libnghttp2-1.45.1-1.fc35.x86_64 libpsl-0.21.1-4.fc35.x86_64 libquadmath-11.2.1-9.fc35.x86_64 libselinux-3.3-1.fc35.x86_64 libssh-0.9.6-1.fc35.x86_64 libunistring-0.9.10-14.fc35.x86_64 libunwind-1.5.0-1.fc35.x86_64 libxcrypt-4.4.28-1.fc35.x86_64 openblas-serial64_-0.3.19-2.fc35.x86_64 openldap-2.4.59-3.fc35.x86_64 openssl-libs-1.1.1n-1.fc35.x86_64 utf8proc-2.6.1-3.fc35.x86_64 (gdb) break __divhc3 Breakpoint 1 at 0x7ffff7d7fcd0: file ../../../libgcc/libgcc2.c, line 2025. (gdb) break __eqhf2 Breakpoint 2 at 0x7ffff7d8a9d0: file ../../../libgcc/soft-fp/eqhf2.c, line 34. (gdb) break __extendhfdf2 Breakpoint 3 at 0x7ffff7d85b90: file ../../../libgcc/soft-fp/extendhfdf2.c, line 36. (gdb) break __extendhfdf2 Note: breakpoint 3 also set at pc 0x7ffff7d85b90. Breakpoint 4 at 0x7ffff7d85b90: file ../../../libgcc/soft-fp/extendhfdf2.c, line 36. (gdb) break __extendhfsf2 bBreakpoint 5 at 0x7ffff780c980: __extendhfsf2. (2 locations) (gdb) break __extendhftf2 Breakpoint 6 at 0x7ffff7d85cc0: file ../../../libgcc/soft-fp/extendhftf2.c, line 36. (gdb) break __extendhfxf2 Breakpoint 7 at 0x7ffff7d85ed0: file ../../../libgcc/soft-fp/extendhfxf2.c, line 36. (gdb) break __extendsfdf2 Breakpoint 8 at 0x7ffff7d86080: file ../../../libgcc/soft-fp/extendsfdf2.c, line 38. (gdb) break __fixhfti Breakpoint 9 at 0x7ffff7d8a180: file ../../../libgcc/soft-fp/fixhfti.c, line 34. (gdb) break __fixunshfti Breakpoint 10 at 0x7ffff7d8a2c0: file ../../../libgcc/soft-fp/fixunshfti.c, line 34. (gdb) break __floattihf Breakpoint 11 at 0x7ffff7d8a3f0: file ../../../libgcc/soft-fp/floattihf.c, line 34. (gdb) break __floatuntihf Breakpoint 12 at 0x7ffff7d8a780: file ../../../libgcc/soft-fp/floatuntihf.c, line 34. (gdb) break __mulhc3 Breakpoint 13 at 0x7ffff7d802b0: file ../../../libgcc/libgcc2.c, line 1955. (gdb) break __nehf2 Note: breakpoint 2 also set at pc 0x7ffff7d8a9d0. Breakpoint 14 at 0x7ffff7d8a9d0: file ../../../libgcc/soft-fp/eqhf2.c, line 34. (gdb) break __nehf2 Note: breakpoints 2 and 14 also set at pc 0x7ffff7d8a9d0. Breakpoint 15 at 0x7ffff7d8a9d0: file ../../../libgcc/soft-fp/eqhf2.c, line 34. (gdb) break __truncdfhf2 Breakpoint 16 at 0x7ffff780cb00: __truncdfhf2. (2 locations) (gdb) break __truncdfsf2 Breakpoint 17 at 0x7ffff7d88b80: file ../../../libgcc/soft-fp/truncdfsf2.c, line 37. (gdb) break __truncsfhf2 Breakpoint 18 at 0x7ffff7d87d30: file ../../../libgcc/soft-fp/truncsfhf2.c, line 35. (gdb) break __trunctfhf2 Breakpoint 19 at 0x7ffff7d867a0: file ../../../libgcc/soft-fp/trunctfhf2.c, line 35. (gdb) break __truncxfhf2 Breakpoint 20 at 0x7ffff7d86ed0: file ../../../libgcc/soft-fp/truncxfhf2.c, line 35. (gdb) r Starting program: /usr/bin/julia -e println\(Float16\(2.\)\ \>\ Float32\(1.\)\) [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Traceback (most recent call last): File "/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.30-gdb.py", line 60, in from libstdcxx.v6 import register_libstdcxx_printers ModuleNotFoundError: No module named 'libstdcxx' [New Thread 0x7ffff3864640 (LWP 131)] [New Thread 0x7fffe0db2640 (LWP 132)] [New Thread 0x7fffe05b1640 (LWP 133)] [New Thread 0x7fffd7db0640 (LWP 134)] [New Thread 0x7fffcf5af640 (LWP 135)] [New Thread 0x7fffc6dae640 (LWP 136)] Thread 1 "julia" hit Breakpoint 16, __truncdfhf2 (a=2) at ../../../libgcc/soft-fp/truncdfhf2.c:35 35 { (gdb) bt #0 __truncdfhf2 (a=2) at ../../../libgcc/soft-fp/truncdfhf2.c:35 #1 0x00007fffae652014 in ?? () #2 0x0000000000000002 in ?? () #3 0x00007fffae65204a in ?? () #4 0x00007fffffffc700 in ?? () #5 0x0000000000000002 in ?? () #6 0x00007fffffffc4b0 in ?? () #7 0x00007ffff7863b7c in jl_apply (nargs=2, args=0x7fffffffc440) at /usr/src/debug/julia-1.7.2-1.fc35.x86_64/src/julia.h:1788 #8 do_call (args=args@entry=0x7fffeeea9b78, nargs=nargs@entry=2, s=s@entry=0x7fffffffc700) at /usr/src/debug/julia-1.7.2-1.fc35.x86_64/src/interpreter.c:126 #9 0x00007ffff78633de in eval_value (e=e@entry=0x7fffeef0c8d0, s=s@entry=0x7fffffffc700) at /usr/src/debug/julia-1.7.2-1.fc35.x86_64/src/interpreter.c:215 #10 0x00007ffff78643af in eval_stmt_value (s=0x7fffffffc700, stmt=) at /usr/src/debug/julia-1.7.2-1.fc35.x86_64/src/interpreter.c:166 #11 eval_body (stmts=, s=s@entry=0x7fffffffc700, ip=ip@entry=0, toplevel=toplevel@entry=1) at /usr/src/debug/julia-1.7.2-1.fc35.x86_64/src/interpreter.c:583 #12 0x00007ffff7864ac2 in jl_interpret_toplevel_thunk (m=0x7fffe5b8ed20 , src=0x7fffeeec4190) at /usr/src/debug/julia-1.7.2-1.fc35.x86_64/src/interpreter.c:731 #13 0x00007ffff7881592 in jl_toplevel_eval_flex (m=m@entry=0x7fffe5b8ed20 , e=, fast=fast@entry=1, expanded=expanded@entry=0) at /usr/src/debug/julia-1.7.2-1.fc35.x86_64/src/toplevel.c:885 #14 0x00007ffff7881faf in jl_toplevel_eval_flex (m=m@entry=0x7fffe5b8ed20 , e=e@entry=0x7fffeef0c610, fast=fast@entry=1, expanded=expanded@entry=0) at /usr/src/debug/julia-1.7.2-1.fc35.x86_64/src/toplevel.c:830 #15 0x00007ffff7882ca0 in jl_toplevel_eval (m=m@entry=0x7fffe5b8ed20 , v=v@entry=0x7fffeef0c610) at /usr/src/debug/julia-1.7.2-1.fc35.x86_64/src/toplevel.c:894 #16 0x00007ffff7882d62 in jl_toplevel_eval_in (m=0x7fffe5b8ed20 , ex=0x7fffeef0c610) at /usr/src/debug/julia-1.7.2-1.fc35.x86_64/src/toplevel.c:944 #17 0x00007fffe53ca478 in eval () at boot.jl:373 #18 julia_exec_options_28543 () at client.jl:268 #19 0x00007fffe533bea8 in julia__start_38703 () at client.jl:495 #20 0x00007fffe533c019 in jfptr.start_38704.clone_1 () from /usr/lib64/julia/sys.so #21 0x00007ffff78a53ea in jl_apply (nargs=1, args=0x7fffffffe158) at /usr/src/debug/julia-1.7.2-1.fc35.x86_64/src/julia.h:1788 #22 true_main (argc=, argv=) at /usr/src/debug/julia-1.7.2-1.fc35.x86_64/src/jlapi.c:559 #23 0x00007ffff78a5790 in jl_repl_entrypoint (argc=, argv=) at /usr/src/debug/julia-1.7.2-1.fc35.x86_64/src/jlapi.c:701 #24 0x0000000000401059 in main (argc=, argv=) at /usr/src/debug/julia-1.7.2-1.fc35.x86_64/cli/loader_exe.c:42 (gdb) li 30 #include "half.h" 31 #include "double.h" 32 33 HFtype 34 __truncdfhf2 (DFtype a) 35 { 36 FP_DECL_EX; 37 FP_DECL_D (A); 38 FP_DECL_H (R); 39 HFtype r; (gdb) ptype HFtype type = _Float16 (gdb) disasse Dump of assembler code for function __truncdfhf2: => 0x00007ffff7d87610 <+0>: endbr64 0x00007ffff7d87614 <+4>: push %rbx 0x00007ffff7d87615 <+5>: movq %xmm0,%rax 0x00007ffff7d8761a <+10>: sub $0x10,%rsp 0x00007ffff7d8761e <+14>: stmxcsr 0xc(%rsp) 0x00007ffff7d87623 <+19>: movabs $0xfffffffffffff,%rdx 0x00007ffff7d8762d <+29>: mov %rax,%rcx 0x00007ffff7d87630 <+32>: mov %rax,%rsi 0x00007ffff7d87633 <+35>: shr $0x34,%rcx 0x00007ffff7d87637 <+39>: and %rax,%rdx 0x00007ffff7d8763a <+42>: shr $0x3f,%rsi 0x00007ffff7d8763e <+46>: and $0x7ff,%ecx 0x00007ffff7d87644 <+52>: mov %rsi,%r8 0x00007ffff7d87647 <+55>: lea 0x0(,%rdx,8),%rax 0x00007ffff7d8764f <+63>: lea 0x1(%rcx),%rdi 0x00007ffff7d87653 <+67>: test $0x7fe,%edi 0x00007ffff7d87659 <+73>: je 0x7ffff7d876e0 <__truncdfhf2+208> 0x00007ffff7d8765f <+79>: lea -0x3f0(%rcx),%r9 0x00007ffff7d87666 <+86>: cmp $0x1e,%r9 0x00007ffff7d8766a <+90>: jle 0x7ffff7d876a0 <__truncdfhf2+144> 0x00007ffff7d8766c <+92>: mov 0xc(%rsp),%r10d 0x00007ffff7d87671 <+97>: mov %r10d,%eax 0x00007ffff7d87674 <+100>: and $0x6000,%eax 0x00007ffff7d87679 <+105>: jne 0x7ffff7d87810 <__truncdfhf2+512> 0x00007ffff7d8767f <+111>: mov %esi,%ebx 0x00007ffff7d87681 <+113>: mov $0x28,%edi 0x00007ffff7d87686 <+118>: shl $0xf,%ebx 0x00007ffff7d87689 <+121>: or $0x7c,%bh 0x00007ffff7d8768c <+124>: call 0x7ffff7d7fc50 <__sfp_handle_exceptions> 0x00007ffff7d87691 <+129>: add $0x10,%rsp 0x00007ffff7d87695 <+133>: movd %ebx,%xmm0 0x00007ffff7d87699 <+137>: pop %rbx 0x00007ffff7d8769a <+138>: ret 0x00007ffff7d8769b <+139>: nopl 0x0(%rax,%rax,1) 0x00007ffff7d876a0 <+144>: test %r9,%r9 0x00007ffff7d876a3 <+147>: jle 0x7ffff7d87858 <__truncdfhf2+584> 0x00007ffff7d876a9 <+153>: shr $0x2a,%rax 0x00007ffff7d876ad <+157>: shl $0x19,%rdx 0x00007ffff7d876b1 <+161>: setne %dl 0x00007ffff7d876b4 <+164>: movzbl %dl,%edx 0x00007ffff7d876b7 <+167>: or %rdx,%rax 0x00007ffff7d876ba <+170>: test $0x7,%al 0x00007ffff7d876bc <+172>: jne 0x7ffff7d87930 <__truncdfhf2+800> 0x00007ffff7d876c2 <+178>: shr $0x3,%rax 0x00007ffff7d876c6 <+182>: mov %r9,%rbx 0x00007ffff7d876c9 <+185>: shl $0xf,%esi 0x00007ffff7d876cc <+188>: and $0x1f,%ebx