[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Trying to track down problem with packed.com from testsuite
From: |
john o goyo |
Subject: |
Re: Trying to track down problem with packed.com from testsuite |
Date: |
Fri, 30 Aug 2024 17:44:43 -0400 |
User-agent: |
Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 |
Greetings, Gaius.
On 2024-08-30 06:26, Gaius Mulley wrote (in part):
[...]
Hi John,
Does the following work on Solaris with gdb, it will invoke cc1gm2
with all default options and the source file hello.mod.
$ gm2 hello.mod -wrapper gdb,--args
GNU gdb (Debian 13.1-3) 13.1
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
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-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from
/home/gaius/opt/libexec/gcc/x86_64-pc-linux-gnu/15.0.0/cc1gm2...
(gdb) break gimplify_function_tree(tree_node*)
Breakpoint 1 at 0xe52080: file ../../gcc/tree.h, line 3632.
(gdb) run
Starting program: /home/gaius/opt/libexec/gcc/x86_64-pc-linux-gnu/15.0.0/cc1gm2
-imultiarch x86_64-linux-gnu -quiet -dumpdir a- -dumpbase hello.mod
-dumpbase-ext .mod -mtune=generic -march=x86-64 -g -fm2-pathname=-
-fm2-pathnameI. -fgen-module-list=- -fscaffold-dynamic -fscaffold-main
-flibs=m2cor,m2log,m2pim,m2iso -fm2-pathname=- -fm2-pathnameI. hello.mod -o
/tmp/ccQdbK7K.s
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Breakpoint 1, gimplify_function_tree (fndecl=0x7ffff76cc300) at
../../gcc/tree.h:3632
3632 if (TREE_CODE (__t) != __c)
(gdb)
Yes, the above does indeed work but I am still in the dark. Please
remember that I am woefully ignorant of the inner workings of gcc.
Here is what I tried:
[~/opt/gm2/testsuite]=> gm2-14 packed.mod -fiso -O2 -wrapper gdb,--args
GNU gdb (GDB) 15.1
[...]
This GDB was configured as "sparcv9-sun-solaris2.11".
[...]
Reading symbols from
/home/build/gcc/14.2.0/libexec/gcc/sparc-sun-solaris2.11/14.2.0/cc1gm2...
[...]
(gdb) break gimplify_function_tree(tree_node*)
Breakpoint 1 at 0x8a6f40: file
/home/build/opt/gcc/src/gcc-14.2.0/gcc/gimplify.cc, line 19333.
(gdb) r
Starting program:
/home/build/gcc/14.2.0/libexec/gcc/sparc-sun-solaris2.11/14.2.0/cc1gm2
-quiet -dumpdir a- -dumpbase packed.mod -dumpbase-ext .mod -mcpu=v9 -O2
-fiso -fm2-pathname=- -fm2-pathnameI. -fgen-module-list=-
-fscaffold-dynamic -fscaffold-main -flibs=m2iso,m2cor,m2pim,m2log
-fm2-pathname=- -fm2-pathnameI. packed.mod -o /var/tmp//ccb3aGgQ.s
[Thread debugging using libthread_db enabled]
[New Thread 1 (LWP 1)]
[Switching to Thread 1 (LWP 1)]
Thread 2 hit Breakpoint 1, gimplify_function_tree (fndecl=0xfb474700)
at /home/build/opt/gcc/src/gcc-14.2.0/gcc/gimplify.cc:19333
19333 {
(gdb) l
19328 Return the sequence of GIMPLE statements corresponding to the
body
19329 of FNDECL. */
19330
19331 void
19332 gimplify_function_tree (tree fndecl)
19333 {
19334 gimple_seq seq;
19335 gbind *bind;
19336
19337 gcc_assert (!gimple_body (fndecl));
[...]
(gdb) del 1
(gdb) c
Continuing.
Thread 2 received signal SIGSEGV, Segmentation fault.
build_call_expr (fndecl=0x0, n=1) at
/home/build/opt/gcc/src/gcc-14.2.0/gcc/tree.cc:10913
10913 return build_call_expr_loc_array (UNKNOWN_LOCATION, fndecl, n,
argarray);
[set breakpoint at l10913 and reran]
Thread 2 hit Breakpoint 2, build_call_expr_loc_array (loc=0, fndecl=0x0,
n=1, argarray=0xffbfe850)
at /home/build/opt/gcc/src/gcc-14.2.0/gcc/tree.cc:10863
10863 tree fntype = TREE_TYPE (fndecl);
(gdb) bt
#0 build_call_expr_loc_array (loc=0, fndecl=0x0, n=1, argarray=0xffbfe850)
at /home/build/opt/gcc/src/gcc-14.2.0/gcc/tree.cc:10863
#1 build_call_expr (fndecl=0x0, n=1) at
/home/build/opt/gcc/src/gcc-14.2.0/gcc/tree.cc:10913
#2 0x00d2ece8 in build_cltz_expr (src=0xfb481680, leading=<optimized
out>, define_at_zero=<optimized out>)
at /home/build/opt/gcc/src/gcc-14.2.0/gcc/tree-ssa-loop-niter.cc:2290
#3 0x00d3c5fc in number_of_iterations_cltz_complement (exit=<optimized
out>, loop=0xfb412f80,
code=<optimized out>, niter=0xffbfeb88) at
/home/build/opt/gcc/src/gcc-14.2.0/gcc/tree-ssa-loop-niter.cc:2542
#4 number_of_iterations_bitcount (loop=0xfb412f80, exit=<optimized
out>, code=<optimized out>, niter=0xffbfeb88)
at /home/build/opt/gcc/src/gcc-14.2.0/gcc/tree-ssa-loop-niter.cc:2628
[...]
(gdb) l
10858 ARGARRAY. */
10859
10860 tree
10861 build_call_expr_loc_array (location_t loc, tree fndecl, int n,
tree *argarray)
10862 {
10863 tree fntype = TREE_TYPE (fndecl);
10864 tree fn = build1 (ADDR_EXPR, build_pointer_type (fntype), fndecl);
10865
10866 return fold_build_call_array_loc (loc, TREE_TYPE (fntype), fn,
n, argarray);
10867 }
(gdb) n
Thread 2 received signal SIGSEGV, Segmentation fault.
build_call_expr (fndecl=0x0, n=1) at
/home/build/opt/gcc/src/gcc-14.2.0/gcc/tree.cc:10913
10913 return build_call_expr_loc_array (UNKNOWN_LOCATION, fndecl, n,
argarray);
Does this offer you any clues on the problem or how to proceed?
Sincerely,
john