https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117443

            Bug ID: 117443
           Summary: lo.c:1462:1: ICE: in change_address_1, at
                    emit-rtl.cc:2299
           Product: gcc
           Version: 14.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: danglin at gcc dot gnu.org
  Target Milestone: ---
              Host: hppa*-*-linux*
            Target: hppa*-*-linux*
             Build: hppa*-*-linux*

Created attachment 59537
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=59537&action=edit
Preproccessed source

The symmetrica-3.0.1+ds build fails on hppa-linux:
https://buildd.debian.org/status/fetch.php?pkg=symmetrica&arch=hppa&ver=3.0.1%2Bds-3%2Bb1&stamp=1730534309&raw=0

(gdb) r
Starting program:
/home/dave/opt/gnu/gcc/gcc-15/libexec/gcc/hppa-linux-gnu/15.0.0/cc1
-fpreprocessed .libs/libsymmetrica_la-lo.i -quiet -dumpdir .libs/ -dumpbase
libsymmetrica_la-lo.c -dumpbase-ext .c -g -O2 -Wdate-time -Wno-unused-result
-Werror=implicit-function-declaration -Wformat=1 -Werror=format-security
-version -ffile-prefix-map=/home/dave/debian/symmetrica/symmetrica-3.0.1+ds=.
-fPIC -o .libs/libsymmetrica_la-lo.s
Python Exception <class 'SyntaxError'>: Missing parentheses in call to 'print'.
Did you mean print(...)? (libisl.so.15.3.0-gdb.py, line 67)
warning: Unable to find libthread_db matching inferior's thread library, thread
debugging will not be available.
GNU C17 (GCC) version 15.0.0 20241103 (experimental) [master
r15-4868-g7f67acf60c5] (hppa-linux-gnu)
        compiled by GNU C version 15.0.0 20241103 (experimental) [master
r15-4868-g7f67acf60c5], GMP version 6.3.0, MPFR version 4.2.1, MPC version
1.3.1, isl version isl-0.18-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: b343f61a9e9fc3ab1886ea2fcf5f434a
../../src/lo.c: In function ‘objectwrite_longint’:
../../src/lo.c:4307:15: warning: format ‘%ld’ expects argument of type ‘long
int’, but argument 3 has type ‘int’ [-Wformat=]
 4307 |     fprintf(f," %ld ",LONGINT);
      |               ^~~~~~~ ~~~~~~~~~
      |                       |
      |                       int
../../src/lo.c: In function ‘ganzfziffer.part.0’:
../../src/lo.c:1592:40: warning: ‘__builtin___sprintf_chk’ may write a
terminating nul past the end of the destination [-Wformat-overflow=]
 1592 |                     sprintf(zd->ziffer,"%s%c",zd->ziffer,' ');
      |                                        ^~~~~~
In file included from /usr/include/stdio.h:970,
                 from ../../src/def.h:16,
                 from ../../src/lo.c:2:
In function ‘sprintf’,
    inlined from ‘ganzfziffer.part.0’ at ../../src/lo.c:1592:7:
/usr/include/hppa-linux-gnu/bits/stdio2.h:30:10: note:
‘__builtin___sprintf_chk’ output between 2 and 14 bytes into a destination of
size 13
   30 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   31 |                                   __glibc_objsize (__s), __fmt,
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   32 |                                   __va_arg_pack ());
      |                                   ~~~~~~~~~~~~~~~~~~
../../src/lo.c: In function ‘ganzfziffer.part.0’:
../../src/lo.c:1585:36: warning: ‘__builtin___sprintf_chk’ may write a
terminating nul past the end of the destination [-Wformat-overflow=]
 1585 |                 sprintf(zd->ziffer,"%s%c", zd->ziffer,gd.folgezeichen);
      |                                    ^~~~~~
In function ‘sprintf’,
    inlined from ‘ganzfziffer.part.0’ at ../../src/lo.c:1585:17:
/usr/include/hppa-linux-gnu/bits/stdio2.h:30:10: note:
‘__builtin___sprintf_chk’ output between 2 and 14 bytes into a destination of
size 13
   30 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   31 |                                   __glibc_objsize (__s), __fmt,
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   32 |                                   __va_arg_pack ());
      |                                   ~~~~~~~~~~~~~~~~~~
../../src/lo.c: In function ‘ganz1ziffer.isra’:
../../src/lo.c:1653:39: warning: ‘%c’ directive writing 1 byte into a region of
size between 0 and 12 [-Wformat-overflow=]
 1653 |                   sprintf(zd->ziffer, "%s%" PRIINT "%c"
,zd->ziffer,z,gd.folgezeichen);
      |                                       ^~~~~
In function ‘sprintf’,
    inlined from ‘ganz1ziffer.isra’ at ../../src/lo.c:1653:5:
/usr/include/hppa-linux-gnu/bits/stdio2.h:30:10: note:
‘__builtin___sprintf_chk’ output between 3 and 25 bytes into a destination of
size 13
   30 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   31 |                                   __glibc_objsize (__s), __fmt,
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   32 |                                   __va_arg_pack ());
      |                                   ~~~~~~~~~~~~~~~~~~
../../src/lo.c: In function ‘ganz1ziffer.isra’:
../../src/lo.c:1651:39: warning: ‘__builtin___sprintf_chk’ may write a
terminating nul past the end of the destination [-Wformat-overflow=]
 1651 |                   sprintf(zd->ziffer, "%s%" PRIINT ,zd->ziffer,z);
      |                                       ^~~~~
In function ‘sprintf’,
    inlined from ‘ganz1ziffer.isra’ at ../../src/lo.c:1651:5:
/usr/include/hppa-linux-gnu/bits/stdio2.h:30:10: note:
‘__builtin___sprintf_chk’ output between 2 and 24 bytes into a destination of
size 13
   30 |   return __builtin___sprintf_chk (__s, __USE_FORTIFY_LEVEL - 1,
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   31 |                                   __glibc_objsize (__s), __fmt,
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   32 |                                   __va_arg_pack ());
      |                                   ~~~~~~~~~~~~~~~~~~

Breakpoint 2, pa_emit_move_sequence (operands=0xf9b01d08, mode=E_QImode,
    scratch_reg=0xf757ec48) at ../../gcc/gcc/config/pa/pa.cc:2008
2008          if (mem != NULL_RTX)
(gdb) c
Continuing.

Breakpoint 7, pa_emit_move_sequence (operands=0xf9b01d08, mode=E_QImode,
    scratch_reg=0xf757ec48) at ../../gcc/gcc/config/pa/pa.cc:2012
2012              operand1 = alter_subreg (&temp, true);
(gdb)
Continuing.

Breakpoint 14, adjust_address_1 (memref=0xf7596f10, mode=E_SImode, offset=...,
    validate=<optimized out>, adjust_address=<optimized out>,
    adjust_object=<optimized out>, size=...) at ../../gcc/gcc/emit-rtl.cc:2430
2430            addr = plus_constant (address_mode, addr, offset);
(gdb)
Continuing.

Breakpoint 15, plus_constant (mode=E_SImode, x=0xf759e730, c=...,
    inplace=<optimized out>) at ../../gcc/gcc/explow.cc:96
96      {
(gdb)
Continuing.

Breakpoint 1, pa_legitimate_address_p (mode=E_SImode, x=0xf759e750,
    strict=false) at ../../gcc/gcc/config/pa/pa.cc:11000
11000     if ((REG_P (x)
(gdb)
Continuing.
during RTL pass: reload
../../src/lo.c: In function ‘ganzquores’:
../../src/lo.c:1462:1: internal compiler error: in change_address_1, at
emit-rtl.cc:2299
 1462 | } /* ende ganzquores */
      | ^
0x178df93 internal_error(char const*, ...)
        ../../gcc/gcc/diagnostic-global-context.cc:518
0x1fd90b fancy_abort(char const*, int, char const*)
        ../../gcc/gcc/diagnostic.cc:1696
0x4b127f change_address_1
        ../../gcc/gcc/emit-rtl.cc:2299
0x4b570b adjust_address_1(rtx_def*, machine_mode, poly_int<1u, long long>, int,
int, int, poly_int<1u, long long>)
        ../../gcc/gcc/emit-rtl.cc:2433
0x50fecf alter_subreg(rtx_def**, bool)
        ../../gcc/gcc/final.cc:3112
0xd5e4a3 pa_emit_move_sequence(rtx_def**, machine_mode, rtx_def*)
        ../../gcc/gcc/config/pa/pa.cc:2012
0x1486c2b gen_reload_inqi(rtx_def*, rtx_def*, rtx_def*)
        ../../gcc/gcc/config/pa/pa.md:3107
0x8cf80f rtx_insn* insn_gen_fn::operator()<rtx_def*, rtx_def*,
rtx_def*>(rtx_def*, rtx_def*, rtx_def*) const
        ../../gcc/gcc/recog.h:442
0x8cf80f emit_input_reload_insns
        ../../gcc/gcc/reload1.cc:7481
0x8cf80f do_input_reload
        ../../gcc/gcc/reload1.cc:7820
0x8d789b emit_reload_insns
        ../../gcc/gcc/reload1.cc:8008
0x8d789b reload_as_needed
        ../../gcc/gcc/reload1.cc:4549
0x8d789b reload(rtx_insn*, int)
        ../../gcc/gcc/reload1.cc:1053
0x6e8067 do_reload
        ../../gcc/gcc/ira.cc:5989
0x6e8067 execute
        ../../gcc/gcc/ira.cc:6165
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
[Inferior 1 (process 26469) exited with code 04]

The following assert triggers ICE:
        gcc_assert (memory_address_addr_space_p (mode, addr, as));

Breakpoint 14, adjust_address_1 (memref=0xf7596f10, mode=E_SImode, offset=...,
    validate=<optimized out>, adjust_address=<optimized out>,
    adjust_object=<optimized out>, size=...) at ../../gcc/gcc/emit-rtl.cc:2430
2430            addr = plus_constant (address_mode, addr, offset);
(gdb) p address_mode
$88 = {m_mode = E_SImode}
(gdb) p *addr
$89 = {mode = E_SImode, code = PLUS, jump = 0, call = 0, unchanging = 0,
  volatil = 0, in_struct = 0, used = 0, frame_related = 0, return_val = 0,
  u2 = {original_regno = 0, insn_uid = 0, symbol_ref_flags = 0,
    var_location_status = VAR_INIT_STATUS_UNKNOWN, num_elem = 0,
    const_vector = {npatterns = 0, nelts_per_pattern = 0, unused = 0}}, u = {
    fld = {{rt_int = -108363680, rt_uint = 4186603616, rt_subreg = {coeffs = {
            63882}}, rt_str = 0xf98a8060 "", rt_rtx = 0xf98a8060,
        rt_rtvec = 0xf98a8060, rt_type = 4186603616, rt_addr_diff_vec_flags = {
          min_align = 249, base_after_vec = 1, min_after_vec = 0,
          max_after_vec = 0, min_after_base = 0, max_after_base = 1,
          offset_unsigned = 0, scale = 128}, rt_cselib = 0xf98a8060,
        rt_tree = 0xf98a8060, rt_bb = 0xf98a8060, rt_mem = 0xf98a8060,
        rt_constant = 0xf98a8060, rt_cfi = 0xf98a8060}}, hwint = {
      -465418457524401408}, reg = {regno = 4186603616, nregs = 247,
      unused = 5835520, attrs = 0x0}, block_sym = {fld = {{
          rt_int = -108363680, rt_uint = 4186603616, rt_subreg = {coeffs = {
              63882}}, rt_str = 0xf98a8060 "", rt_rtx = 0xf98a8060,
          rt_rtvec = 0xf98a8060, rt_type = 4186603616,
          rt_addr_diff_vec_flags = {min_align = 249, base_after_vec = 1,
            min_after_vec = 0, max_after_vec = 0, min_after_base = 0,
            max_after_base = 1, offset_unsigned = 0, scale = 128},
          rt_cselib = 0xf98a8060, rt_tree = 0xf98a8060, rt_bb = 0xf98a8060,
          rt_mem = 0xf98a8060, rt_constant = 0xf98a8060, rt_cfi = 0xf98a8060},
--Type <RET> for more, q to quit, c to continue without paging--q
Quit
(gdb) p *memref
$90 = {mode = E_QImode, code = MEM, jump = 0, call = 1, unchanging = 0,
  volatil = 0, in_struct = 0, used = 0, frame_related = 0, return_val = 0,
  u2 = {original_regno = 0, insn_uid = 0, symbol_ref_flags = 0,
    var_location_status = VAR_INIT_STATUS_UNKNOWN, num_elem = 0,
    const_vector = {npatterns = 0, nelts_per_pattern = 0, unused = 0}}, u = {
    fld = {{rt_int = -145133824, rt_uint = 4149833472, rt_subreg = {coeffs = {
            63321}}, rt_str = 0xf7596f00 "", rt_rtx = 0xf7596f00,
        rt_rtvec = 0xf7596f00, rt_type = 4149833472, rt_addr_diff_vec_flags = {
          min_align = 247, base_after_vec = 0, min_after_vec = 1,
          max_after_vec = 0, min_after_base = 1, max_after_base = 1,
          offset_unsigned = 0, scale = 111}, rt_cselib = 0xf7596f00,
        rt_tree = 0xf7596f00, rt_bb = 0xf7596f00, rt_mem = 0xf7596f00,
        rt_constant = 0xf7596f00, rt_cfi = 0xf7596f00}}, hwint = {
      -623345023473669432}, reg = {regno = 4149833472, nregs = 247,
      unused = 5778120, attrs = 0x73500}, block_sym = {fld = {{
          rt_int = -145133824, rt_uint = 4149833472, rt_subreg = {coeffs = {
              63321}}, rt_str = 0xf7596f00 "", rt_rtx = 0xf7596f00,
          rt_rtvec = 0xf7596f00, rt_type = 4149833472,
          rt_addr_diff_vec_flags = {min_align = 247, base_after_vec = 0,
            min_after_vec = 1, max_after_vec = 0, min_after_base = 1,
            max_after_base = 1, offset_unsigned = 0, scale = 111},
          rt_cselib = 0xf7596f00, rt_tree = 0xf7596f00, rt_bb = 0xf7596f00,
          rt_mem = 0xf7596f00, rt_constant = 0xf7596f00, rt_cfi = 0xf7596f00},
--Type <RET> for more, q to quit, c to continue without paging--q
Quit
(gdb) c
Continuing.

Breakpoint 15, plus_constant (mode=E_SImode, x=0xf759e730, c=...,
    inplace=<optimized out>) at ../../gcc/gcc/explow.cc:96
96      {
(gdb)
Continuing.

Breakpoint 1, pa_legitimate_address_p (mode=E_SImode, x=0xf759e750,
    strict=false) at ../../gcc/gcc/config/pa/pa.cc:11000
11000     if ((REG_P (x)
(gdb) p *x
$91 = {mode = E_SImode, code = PLUS, jump = 0, call = 0, unchanging = 0,
  volatil = 0, in_struct = 0, used = 0, frame_related = 0, return_val = 0,
  u2 = {original_regno = 0, insn_uid = 0, symbol_ref_flags = 0,
    var_location_status = VAR_INIT_STATUS_UNKNOWN, num_elem = 0,
    const_vector = {npatterns = 0, nelts_per_pattern = 0, unused = 0}}, u = {
    fld = {{rt_int = -108363680, rt_uint = 4186603616, rt_subreg = {coeffs = {
            63882}}, rt_str = 0xf98a8060 "", rt_rtx = 0xf98a8060,
        rt_rtvec = 0xf98a8060, rt_type = 4186603616, rt_addr_diff_vec_flags = {
          min_align = 249, base_after_vec = 1, min_after_vec = 0,
          max_after_vec = 0, min_after_base = 0, max_after_base = 1,
          offset_unsigned = 0, scale = 128}, rt_cselib = 0xf98a8060,
        rt_tree = 0xf98a8060, rt_bb = 0xf98a8060, rt_mem = 0xf98a8060,
        rt_constant = 0xf98a8060, rt_cfi = 0xf98a8060}}, hwint = {
      -465418457524345024}, reg = {regno = 4186603616, nregs = 247,
      unused = 5891904, attrs = 0x0}, block_sym = {fld = {{
          rt_int = -108363680, rt_uint = 4186603616, rt_subreg = {coeffs = {
              63882}}, rt_str = 0xf98a8060 "", rt_rtx = 0xf98a8060,
          rt_rtvec = 0xf98a8060, rt_type = 4186603616,
          rt_addr_diff_vec_flags = {min_align = 249, base_after_vec = 1,
            min_after_vec = 0, max_after_vec = 0, min_after_base = 0,
            max_after_base = 1, offset_unsigned = 0, scale = 128},
          rt_cselib = 0xf98a8060, rt_tree = 0xf98a8060, rt_bb = 0xf98a8060,
          rt_mem = 0xf98a8060, rt_constant = 0xf98a8060, rt_cfi = 0xf98a8060},
--Type <RET> for more, q to quit, c to continue without paging--q
Quit
(gdb) p *x->u.fld[1].rt_rtx
$92 = {mode = E_VOIDmode, code = CONST_INT, jump = 0, call = 0,
  unchanging = 0, volatil = 0, in_struct = 0, used = 0, frame_related = 0,
  return_val = 0, u2 = {original_regno = 0, insn_uid = 0,
    symbol_ref_flags = 0, var_location_status = VAR_INIT_STATUS_UNKNOWN,
    num_elem = 0, const_vector = {npatterns = 0, nelts_per_pattern = 0,
      unused = 0}}, u = {fld = {{rt_int = -1, rt_uint = 4294967295,
        rt_subreg = {coeffs = {65535}},
        rt_str = 0xffffffff <error: Cannot access memory at address
0xffffffff>, rt_rtx = 0xffffffff, rt_rtvec = 0xffffffff, rt_type = 4294967295,
        rt_addr_diff_vec_flags = {min_align = 255, base_after_vec = 1,
          min_after_vec = 1, max_after_vec = 1, min_after_base = 1,
          max_after_base = 1, offset_unsigned = 1, scale = 255},
        rt_cselib = 0xffffffff, rt_tree = 0xffffffff, rt_bb = 0xffffffff,
        rt_mem = 0xffffffff, rt_constant = 0xffffffff, rt_cfi = 0xffffffff}},
    hwint = {-300}, reg = {regno = 4294967295, nregs = 255, unused = 16776916,
      attrs = 0x73500}, block_sym = {fld = {{rt_int = -1,
          rt_uint = 4294967295, rt_subreg = {coeffs = {65535}},
          rt_str = 0xffffffff <error: Cannot access memory at address
0xffffffff>, rt_rtx = 0xffffffff, rt_rtvec = 0xffffffff, rt_type = 4294967295,
          rt_addr_diff_vec_flags = {min_align = 255, base_after_vec = 1,
            min_after_vec = 1, max_after_vec = 1, min_after_base = 1,
            max_after_base = 1, offset_unsigned = 1, scale = 255},
          rt_cselib = 0xffffffff, rt_tree = 0xffffffff, rt_bb = 0xffffffff,
--Type <RET> for more, q to quit, c to continue without paging--
          rt_mem = 0xffffffff, rt_constant = 0xffffffff, rt_cfi = 0xffffffff},
        {rt_int = -300, rt_uint = 4294966996, rt_subreg = {coeffs = {65535}},
          rt_str = 0xfffffed4 <error: Cannot access memory at address
0xfffffed4>, rt_rtx = 0xfffffed4, rt_rtvec = 0xfffffed4, rt_type = 4294966996,
          rt_addr_diff_vec_flags = {min_align = 255, base_after_vec = 1,
            min_after_vec = 1, max_after_vec = 1, min_after_base = 1,
            max_after_base = 1, offset_unsigned = 1, scale = 254},
          rt_cselib = 0xfffffed4, rt_tree = 0xfffffed4, rt_bb = 0xfffffed4,
          rt_mem = 0xfffffed4, rt_constant = 0xfffffed4,
          rt_cfi = 0xfffffed4}}, block = 0x73500,
      offset = -465418457524345024}, rv = {cl = 3, decimal = 1, sign = 1,
      signalling = 1, canonical = 1, uexp = 67108863, sig = {4294966996,
        472320, 0, 4186603616, 4149864256}}, fv = {data = {
        low = 18446744073709551316, high = 2028598953246720}, mode = {
        m_mode = 4186603616}}, hwiv = {elem = {-300}}, cpi = {coeffs = {
        m_precision = 65535, m_max_len = 65535, m_num_elements = 255 '\377',
        m_len = {65236}, m_val = {2028598953246720}}}}}

The offset resulting from the call to plus_constant seems wrong. It needs
to be -4 if we are actually going to replace QImode access with SImode access.

Breakpoint 14, adjust_address_1 (memref=0xf7596f10, mode=E_SImode, offset=...,
    validate=<optimized out>, adjust_address=<optimized out>,
    adjust_object=<optimized out>, size=...) at ../../gcc/gcc/emit-rtl.cc:2430
2430            addr = plus_constant (address_mode, addr, offset);
(gdb) p address_mode
$93 = {m_mode = E_SImode}
(gdb) p *addr
$94 = {mode = E_SImode, code = PLUS, jump = 0, call = 0, unchanging = 0,
  volatil = 0, in_struct = 0, used = 0, frame_related = 0, return_val = 0,
  u2 = {original_regno = 0, insn_uid = 0, symbol_ref_flags = 0,
    var_location_status = VAR_INIT_STATUS_UNKNOWN, num_elem = 0,
    const_vector = {npatterns = 0, nelts_per_pattern = 0, unused = 0}}, u = {
    fld = {{rt_int = -108363680, rt_uint = 4186603616, rt_subreg = {coeffs = {
            63882}}, rt_str = 0xf98a8060 "", rt_rtx = 0xf98a8060,
        rt_rtvec = 0xf98a8060, rt_type = 4186603616, rt_addr_diff_vec_flags = {
          min_align = 249, base_after_vec = 1, min_after_vec = 0,
          max_after_vec = 0, min_after_base = 0, max_after_base = 1,
          offset_unsigned = 0, scale = 128}, rt_cselib = 0xf98a8060,
        rt_tree = 0xf98a8060, rt_bb = 0xf98a8060, rt_mem = 0xf98a8060,
        rt_constant = 0xf98a8060, rt_cfi = 0xf98a8060}}, hwint = {
      -465418457524401408}, reg = {regno = 4186603616, nregs = 247,
      unused = 5835520, attrs = 0x0}, block_sym = {fld = {{
          rt_int = -108363680, rt_uint = 4186603616, rt_subreg = {coeffs = {
              63882}}, rt_str = 0xf98a8060 "", rt_rtx = 0xf98a8060,
          rt_rtvec = 0xf98a8060, rt_type = 4186603616,
          rt_addr_diff_vec_flags = {min_align = 249, base_after_vec = 1,
            min_after_vec = 0, max_after_vec = 0, min_after_base = 0,
            max_after_base = 1, offset_unsigned = 0, scale = 128},
          rt_cselib = 0xf98a8060, rt_tree = 0xf98a8060, rt_bb = 0xf98a8060,
          rt_mem = 0xf98a8060, rt_constant = 0xf98a8060, rt_cfi = 0xf98a8060},
--Type <RET> for more, q to quit, c to continue without paging--q
Quit
(gdb) p *addr->u.fld[1].rt_rtx
$95 = {mode = E_VOIDmode, code = CONST_INT, jump = 0, call = 0,
  unchanging = 0, volatil = 0, in_struct = 0, used = 0, frame_related = 0,
  return_val = 0, u2 = {original_regno = 0, insn_uid = 0,
    symbol_ref_flags = 0, var_location_status = VAR_INIT_STATUS_UNKNOWN,
    num_elem = 0, const_vector = {npatterns = 0, nelts_per_pattern = 0,
      unused = 0}}, u = {fld = {{rt_int = -1, rt_uint = 4294967295,
        rt_subreg = {coeffs = {65535}},
        rt_str = 0xffffffff <error: Cannot access memory at address
0xffffffff>, rt_rtx = 0xffffffff, rt_rtvec = 0xffffffff, rt_type = 4294967295,
        rt_addr_diff_vec_flags = {min_align = 255, base_after_vec = 1,
          min_after_vec = 1, max_after_vec = 1, min_after_base = 1,
          max_after_base = 1, offset_unsigned = 1, scale = 255},
        rt_cselib = 0xffffffff, rt_tree = 0xffffffff, rt_bb = 0xffffffff,
        rt_mem = 0xffffffff, rt_constant = 0xffffffff, rt_cfi = 0xffffffff}},
    hwint = {-297}, reg = {regno = 4294967295, nregs = 255, unused = 16776919,
      attrs = 0x73500}, block_sym = {fld = {{rt_int = -1,
          rt_uint = 4294967295, rt_subreg = {coeffs = {65535}},
          rt_str = 0xffffffff <error: Cannot access memory at address
0xffffffff>, rt_rtx = 0xffffffff, rt_rtvec = 0xffffffff, rt_type = 4294967295,
          rt_addr_diff_vec_flags = {min_align = 255, base_after_vec = 1,
            min_after_vec = 1, max_after_vec = 1, min_after_base = 1,
            max_after_base = 1, offset_unsigned = 1, scale = 255},
          rt_cselib = 0xffffffff, rt_tree = 0xffffffff, rt_bb = 0xffffffff,
--Type <RET> for more, q to quit, c to continue without paging--
          rt_mem = 0xffffffff, rt_constant = 0xffffffff, rt_cfi = 0xffffffff},
        {rt_int = -297, rt_uint = 4294966999, rt_subreg = {coeffs = {65535}},
          rt_str = 0xfffffed7 <error: Cannot access memory at address
0xfffffed7>, rt_rtx = 0xfffffed7, rt_rtvec = 0xfffffed7, rt_type = 4294966999,
          rt_addr_diff_vec_flags = {min_align = 255, base_after_vec = 1,
            min_after_vec = 1, max_after_vec = 1, min_after_base = 1,
            max_after_base = 1, offset_unsigned = 1, scale = 254},
          rt_cselib = 0xfffffed7, rt_tree = 0xfffffed7, rt_bb = 0xfffffed7,
          rt_mem = 0xfffffed7, rt_constant = 0xfffffed7,
          rt_cfi = 0xfffffed7}}, block = 0x73500,
      offset = -465418457524401408}, rv = {cl = 3, decimal = 1, sign = 1,
      signalling = 1, canonical = 1, uexp = 67108863, sig = {4294966999,
        472320, 0, 4186603616, 4149807872}}, fv = {data = {
        low = 18446744073709551319, high = 2028598953246720}, mode = {
        m_mode = 4186603616}}, hwiv = {elem = {-297}}, cpi = {coeffs = {
        m_precision = 65535, m_max_len = 65535, m_num_elements = 255 '\377',
        m_len = {65239}, m_val = {2028598953246720}}}}}
(gdb) p offset
$96 = {coeffs = {-3}}

Reply via email to