gm2
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]