Message ID | 20211209173202.1522247-1-abidh@codesourcery.com |
---|---|
State | New |
Headers |
Return-Path: <gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org> X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 51B67385801E for <patchwork@sourceware.org>; Thu, 9 Dec 2021 17:32:29 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from esa1.mentor.iphmx.com (esa1.mentor.iphmx.com [68.232.129.153]) by sourceware.org (Postfix) with ESMTPS id 511183858C3A for <gcc-patches@gcc.gnu.org>; Thu, 9 Dec 2021 17:32:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 511183858C3A Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com IronPort-SDR: 9UaiPaJIaOlmZXBwL2xdS4aWlguhOEztzGgkYR9fhPDluj7PlO/84DaH5a14NQSRiQwEFonzp6 XdoUqptG3w1zSq/dNS/uolAKCmyXTIpy/qz2rRuyht/dtLSD+eC+aFgDG65+m07VJiLkSbfCvf WNXquukmKCU39Vn7J3UffijFZoDUzdCELBSUtimKWUX7tJVvaw6N7VO7FvOMIUIM3NYAPMkEYw zN/OXdHMWQ1dKkytFWyzlVkadQqbnzgKkVkIwtZQw1N/j8ZdHboOUCvxJpkMEEj9YZlgqRBrgO hQU0o6poY4HSpacj1pNdCkVT X-IronPort-AV: E=Sophos;i="5.88,193,1635235200"; d="scan'208";a="72016418" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa1.mentor.iphmx.com with ESMTP; 09 Dec 2021 09:32:12 -0800 IronPort-SDR: PS/CB1UuO5QGyCK7DUT26HHYbGhyKj1lKT2NJygGofllGvIk9Y3Zy3G3v/NPOYdc4wfqdgAh4E kNWtKopNXVPI1Kl0AC2PLFqhTSYY4YWukVDDTuuWI8oHbu73T+1EqGCVt27Wwoj44Qj0wGHpoL NnT/hvM4KRAeWizIO9k8HPyYdhSwvIbU9/uLgdXsGFsP8xAwH4IoKqHJoP/pD2Rp08PVa8rIm2 HhrMBK9hkz0z+1LYQs/vE1CdQ1Pz0FZj3bjuJD/rr7uMF29OGnvchck/BIYwV0UFhjtmlk1+5h 5G0= From: Hafiz Abid Qadeer <abidh@codesourcery.com> To: <gcc-patches@gcc.gnu.org> Subject: [PATCH] Remove an invalid assert. [PR103619] Date: Thu, 9 Dec 2021 17:32:02 +0000 Message-ID: <20211209173202.1522247-1-abidh@codesourcery.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: SVR-IES-MBX-04.mgc.mentorg.com (139.181.222.4) To SVR-IES-MBX-03.mgc.mentorg.com (139.181.222.3) X-Spam-Status: No, score=-12.7 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list <gcc-patches.gcc.gnu.org> List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe> List-Archive: <https://gcc.gnu.org/pipermail/gcc-patches/> List-Post: <mailto:gcc-patches@gcc.gnu.org> List-Help: <mailto:gcc-patches-request@gcc.gnu.org?subject=help> List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe> Cc: jakub@redhat.com, ams@codesourcery.com Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" <gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org> |
Series |
Remove an invalid assert. [PR103619]
|
|
Commit Message
Abid Qadeer
Dec. 9, 2021, 5:32 p.m. UTC
Commit 13b6c7639cf assumed that registers in a span will be in a certain order. But that assumption is not true at least for the big endian targets. Currently amdgcn is probably only target where CFA is split into multiple registers so build_span_loc is only gets called for it. However, the dwf_cfa_reg function where this ICE was seen can be called for any architecture from the comparison dwf_cfa_reg (src) == cur_cfa->reg in dwarf2out_frame_debug_expr. So dwf_cfa_reg should not assume certain order of registers. I was tempted to modify the assert to handle big-endian cases but that will still be error prone and may fail on some other targets. gcc/ChangeLog: PR debug/103619 * dwarf2cfi.c (dwf_cfa_reg): Remove gcc_assert. --- gcc/dwarf2cfi.c | 1 - 1 file changed, 1 deletion(-)
Comments
On 12/9/2021 10:32 AM, Hafiz Abid Qadeer wrote: > Commit 13b6c7639cf assumed that registers in a span will be in a certain > order. But that assumption is not true at least for the big endian targets. > Currently amdgcn is probably only target where CFA is split into multiple > registers so build_span_loc is only gets called for it. However, the > dwf_cfa_reg function where this ICE was seen can be called for any > architecture from the comparison dwf_cfa_reg (src) == cur_cfa->reg in > dwarf2out_frame_debug_expr. So dwf_cfa_reg should not assume certain > order of registers. > > I was tempted to modify the assert to handle big-endian cases but that will > still be error prone and may fail on some other targets. > > gcc/ChangeLog: > > PR debug/103619 > * dwarf2cfi.c (dwf_cfa_reg): Remove gcc_assert. FWIW, the bogus assert can be triggered on other platforms too. c6x-elf for example with -mbig-endian. I don't know enough about this code to review. jeff
On Thu, Dec 09, 2021 at 05:32:02PM +0000, Hafiz Abid Qadeer wrote: > Commit 13b6c7639cf assumed that registers in a span will be in a certain > order. But that assumption is not true at least for the big endian targets. > Currently amdgcn is probably only target where CFA is split into multiple > registers so build_span_loc is only gets called for it. However, the > dwf_cfa_reg function where this ICE was seen can be called for any > architecture from the comparison dwf_cfa_reg (src) == cur_cfa->reg in > dwarf2out_frame_debug_expr. So dwf_cfa_reg should not assume certain > order of registers. > > I was tempted to modify the assert to handle big-endian cases but that will > still be error prone and may fail on some other targets. Do you have a preprocessed testcase on which the ICE triggers on ARM EB? I think I'd like to see what we were emitting in debug info for it before r12-5833 and what we emit with this assert removed after it. I assumed it wouldn't affect anything but GCN during the review. Seems the arm span hook for EB will swap pairs in the list: for (i = 0; i < nregs; i += 2) if (TARGET_BIG_END) { parts[i] = gen_rtx_REG (SImode, regno + i + 1); parts[i + 1] = gen_rtx_REG (SImode, regno + i); } BTW, I wonder about those dw_stack_pointer_regnum = dwf_cfa_reg (gen_rtx_REG (Pmode, STACK_POINTER_REGNUM)); and dw_frame_pointer_regnum = dwf_cfa_reg (gen_rtx_REG (Pmode, HARD_FRAME_POINTER_REGNUM)); Can't those use dw_stack_pointer_regnum = dwf_cfa_reg (stack_pointer_rtx); and dw_frame_pointer_regnum = dwf_cfa_reg (hard_frame_pointer_rtx); ? > gcc/ChangeLog: > > PR debug/103619 > * dwarf2cfi.c (dwf_cfa_reg): Remove gcc_assert. > --- > gcc/dwarf2cfi.c | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/gcc/dwarf2cfi.c b/gcc/dwarf2cfi.c > index 9dd1dfe71b7..55ae172eda2 100644 > --- a/gcc/dwarf2cfi.c > +++ b/gcc/dwarf2cfi.c > @@ -1136,7 +1136,6 @@ dwf_cfa_reg (rtx reg) > gcc_assert (GET_MODE_SIZE (GET_MODE (XVECEXP (span, 0, i))) > .to_constant () == result.span_width); > gcc_assert (REG_P (XVECEXP (span, 0, i))); > - gcc_assert (dwf_regno (XVECEXP (span, 0, i)) == result.reg + i); > } > } > } Jakub
On 12/14/2021 9:53 AM, Jakub Jelinek via Gcc-patches wrote: > On Thu, Dec 09, 2021 at 05:32:02PM +0000, Hafiz Abid Qadeer wrote: >> Commit 13b6c7639cf assumed that registers in a span will be in a certain >> order. But that assumption is not true at least for the big endian targets. >> Currently amdgcn is probably only target where CFA is split into multiple >> registers so build_span_loc is only gets called for it. However, the >> dwf_cfa_reg function where this ICE was seen can be called for any >> architecture from the comparison dwf_cfa_reg (src) == cur_cfa->reg in >> dwarf2out_frame_debug_expr. So dwf_cfa_reg should not assume certain >> order of registers. >> >> I was tempted to modify the assert to handle big-endian cases but that will >> still be error prone and may fail on some other targets. > Do you have a preprocessed testcase on which the ICE triggers on ARM EB? > I think I'd like to see what we were emitting in debug info for it before > r12-5833 and what we emit with this assert removed after it. > I assumed it wouldn't affect anything but GCN during the review. > Seems the arm span hook for EB will swap pairs in the list: > for (i = 0; i < nregs; i += 2) > if (TARGET_BIG_END) > { > parts[i] = gen_rtx_REG (SImode, regno + i + 1); > parts[i + 1] = gen_rtx_REG (SImode, regno + i); > } > > BTW, I wonder about those > dw_stack_pointer_regnum = dwf_cfa_reg (gen_rtx_REG (Pmode, > STACK_POINTER_REGNUM)); > and > dw_frame_pointer_regnum > = dwf_cfa_reg (gen_rtx_REG (Pmode, HARD_FRAME_POINTER_REGNUM)); > Can't those use > dw_stack_pointer_regnum = dwf_cfa_reg (stack_pointer_rtx); > and > dw_frame_pointer_regnum = dwf_cfa_reg (hard_frame_pointer_rtx); > ? I think the attached testcase should trigger on c6x with -mbig-endian -O2 -g Jeff # 0 "../../../../../../..//newlib-cygwin/newlib/libc/argz/argz_append.c" # 1 "//home/jlaw/jenkins/workspace/c6x-elf/c6x-elf-obj/newlib/c6x-elf/be/newlib/libc/argz//" # 0 "<built-in>" # 0 "<command-line>" # 1 "../../../../../../..//newlib-cygwin/newlib/libc/argz/argz_append.c" # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/argz.h" 1 3 4 # 10 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/argz.h" 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/errno.h" 1 3 4 # 5 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/errno.h" 3 4 typedef int error_t; # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/errno.h" 1 3 4 # 11 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/errno.h" 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/reent.h" 1 3 4 # 13 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/reent.h" 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/_ansi.h" 1 3 4 # 10 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/_ansi.h" 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/c6x-elf-obj/newlib/c6x-elf/be/newlib/targ-include/newlib.h" 1 3 4 # 14 "/home/jlaw/jenkins/workspace/c6x-elf/c6x-elf-obj/newlib/c6x-elf/be/newlib/targ-include/newlib.h" 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/c6x-elf-obj/newlib/c6x-elf/be/newlib/targ-include/_newlib_version.h" 1 3 4 # 15 "/home/jlaw/jenkins/workspace/c6x-elf/c6x-elf-obj/newlib/c6x-elf/be/newlib/targ-include/newlib.h" 2 3 4 # 11 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/_ansi.h" 2 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/config.h" 1 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/machine/ieeefp.h" 1 3 4 # 5 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/config.h" 2 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/features.h" 1 3 4 # 6 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/config.h" 2 3 4 # 12 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/_ansi.h" 2 3 4 # 14 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/reent.h" 2 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/c6x-elf-installed/lib/gcc/c6x-elf/12.0.0/include/stddef.h" 1 3 4 # 143 "/home/jlaw/jenkins/workspace/c6x-elf/c6x-elf-installed/lib/gcc/c6x-elf/12.0.0/include/stddef.h" 3 4 typedef int ptrdiff_t; # 209 "/home/jlaw/jenkins/workspace/c6x-elf/c6x-elf-installed/lib/gcc/c6x-elf/12.0.0/include/stddef.h" 3 4 typedef unsigned int size_t; # 321 "/home/jlaw/jenkins/workspace/c6x-elf/c6x-elf-installed/lib/gcc/c6x-elf/12.0.0/include/stddef.h" 3 4 typedef int wchar_t; # 415 "/home/jlaw/jenkins/workspace/c6x-elf/c6x-elf-installed/lib/gcc/c6x-elf/12.0.0/include/stddef.h" 3 4 typedef struct { long long __max_align_ll __attribute__((__aligned__(__alignof__(long long)))); long double __max_align_ld __attribute__((__aligned__(__alignof__(long double)))); # 426 "/home/jlaw/jenkins/workspace/c6x-elf/c6x-elf-installed/lib/gcc/c6x-elf/12.0.0/include/stddef.h" 3 4 } max_align_t; # 15 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/reent.h" 2 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_types.h" 1 3 4 # 24 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_types.h" 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/c6x-elf-installed/lib/gcc/c6x-elf/12.0.0/include/stddef.h" 1 3 4 # 350 "/home/jlaw/jenkins/workspace/c6x-elf/c6x-elf-installed/lib/gcc/c6x-elf/12.0.0/include/stddef.h" 3 4 typedef unsigned int wint_t; # 25 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_types.h" 2 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/machine/_types.h" 1 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/machine/_default_types.h" 1 3 4 # 41 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/machine/_default_types.h" 3 4 typedef signed char __int8_t; typedef unsigned char __uint8_t; # 55 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/machine/_default_types.h" 3 4 typedef short int __int16_t; typedef short unsigned int __uint16_t; # 77 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/machine/_default_types.h" 3 4 typedef long int __int32_t; typedef long unsigned int __uint32_t; # 103 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/machine/_default_types.h" 3 4 typedef long long int __int64_t; typedef long long unsigned int __uint64_t; # 134 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/machine/_default_types.h" 3 4 typedef signed char __int_least8_t; typedef unsigned char __uint_least8_t; # 160 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/machine/_default_types.h" 3 4 typedef short int __int_least16_t; typedef short unsigned int __uint_least16_t; # 182 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/machine/_default_types.h" 3 4 typedef long int __int_least32_t; typedef long unsigned int __uint_least32_t; # 200 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/machine/_default_types.h" 3 4 typedef long long int __int_least64_t; typedef long long unsigned int __uint_least64_t; # 214 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/machine/_default_types.h" 3 4 typedef long long int __intmax_t; typedef long long unsigned int __uintmax_t; typedef int __intptr_t; typedef unsigned int __uintptr_t; # 8 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/machine/_types.h" 2 3 4 # 28 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_types.h" 2 3 4 typedef long __blkcnt_t; typedef long __blksize_t; typedef __uint64_t __fsblkcnt_t; typedef __uint32_t __fsfilcnt_t; typedef long _off_t; typedef int __pid_t; typedef short __dev_t; typedef unsigned short __uid_t; typedef unsigned short __gid_t; typedef __uint32_t __id_t; typedef unsigned short __ino_t; # 90 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_types.h" 3 4 typedef __uint32_t __mode_t; __extension__ typedef long long _off64_t; typedef _off_t __off_t; typedef _off64_t __loff_t; typedef long __key_t; typedef long _fpos_t; # 131 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_types.h" 3 4 typedef unsigned int __size_t; # 147 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_types.h" 3 4 typedef signed int _ssize_t; # 158 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_types.h" 3 4 typedef _ssize_t __ssize_t; typedef struct { int __count; union { wint_t __wch; unsigned char __wchb[4]; } __value; } _mbstate_t; typedef void *_iconv_t; typedef unsigned long __clock_t; typedef __int_least64_t __time_t; typedef unsigned long __clockid_t; typedef unsigned long __timer_t; typedef __uint8_t __sa_family_t; typedef __uint32_t __socklen_t; typedef int __nl_item; typedef unsigned short __nlink_t; typedef long __suseconds_t; typedef unsigned long __useconds_t; typedef __builtin_va_list __va_list; # 16 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/reent.h" 2 3 4 typedef unsigned long __ULong; # 34 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/reent.h" 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/lock.h" 1 3 4 # 11 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/lock.h" 3 4 typedef int _LOCK_T; typedef int _LOCK_RECURSIVE_T; # 35 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/reent.h" 2 3 4 typedef _LOCK_RECURSIVE_T _flock_t; struct _reent; struct __locale_t; struct _Bigint { struct _Bigint *_next; int _k, _maxwds, _sign, _wds; __ULong _x[1]; }; struct __tm { int __tm_sec; int __tm_min; int __tm_hour; int __tm_mday; int __tm_mon; int __tm_year; int __tm_wday; int __tm_yday; int __tm_isdst; }; struct _on_exit_args { void * _fnargs[32]; void * _dso_handle[32]; __ULong _fntypes; __ULong _is_cxa; }; # 98 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/reent.h" 3 4 struct _atexit { struct _atexit *_next; int _ind; void (*_fns[32])(void); struct _on_exit_args _on_exit_args; }; # 122 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/reent.h" 3 4 struct __sbuf { unsigned char *_base; int _size; }; # 186 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/reent.h" 3 4 struct __sFILE { unsigned char *_p; int _r; int _w; short _flags; short _file; struct __sbuf _bf; int _lbfsize; void * _cookie; int (*_read) (struct _reent *, void *, char *, int); int (*_write) (struct _reent *, void *, const char *, int); _fpos_t (*_seek) (struct _reent *, void *, _fpos_t, int); int (*_close) (struct _reent *, void *); struct __sbuf _ub; unsigned char *_up; int _ur; unsigned char _ubuf[3]; unsigned char _nbuf[1]; struct __sbuf _lb; int _blksize; _off_t _offset; struct _reent *_data; _flock_t _lock; _mbstate_t _mbstate; int _flags2; }; # 292 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/reent.h" 3 4 typedef struct __sFILE __FILE; struct _glue { struct _glue *_next; int _niobs; __FILE *_iobs; }; # 324 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/reent.h" 3 4 struct _rand48 { unsigned short _seed[3]; unsigned short _mult[3]; unsigned short _add; }; # 613 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/reent.h" 3 4 struct _reent { int _errno; __FILE *_stdin, *_stdout, *_stderr; int _inc; char _emergency[25]; int _unspecified_locale_info; struct __locale_t *_locale; int __sdidinit; void (*__cleanup) (struct _reent *); struct _Bigint *_result; int _result_k; struct _Bigint *_p5s; struct _Bigint **_freelist; int _cvtlen; char *_cvtbuf; union { struct { unsigned int _unused_rand; char * _strtok_last; char _asctime_buf[26]; struct __tm _localtime_buf; int _gamma_signgam; __extension__ unsigned long long _rand_next; struct _rand48 _r48; _mbstate_t _mblen_state; _mbstate_t _mbtowc_state; _mbstate_t _wctomb_state; char _l64a_buf[8]; char _signal_buf[24]; int _getdate_err; _mbstate_t _mbrlen_state; _mbstate_t _mbrtowc_state; _mbstate_t _mbsrtowcs_state; _mbstate_t _wcrtomb_state; _mbstate_t _wcsrtombs_state; int _h_errno; } _reent; struct { unsigned char * _nextf[30]; unsigned int _nmalloc[30]; } _unused; } _new; struct _atexit *_atexit; struct _atexit _atexit0; void (**_sig_func)(int); struct _glue __sglue; __FILE __sf[3]; }; # 819 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/reent.h" 3 4 extern struct _reent *_impure_ptr ; extern struct _reent *const _global_impure_ptr ; void _reclaim_reent (struct _reent *); # 12 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/errno.h" 2 3 4 extern int *__errno (void); extern const char * const _sys_errlist[]; extern int _sys_nerr; # 10 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/errno.h" 2 3 4 # 11 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/argz.h" 2 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/types.h" 1 3 4 # 21 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/types.h" 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/cdefs.h" 1 3 4 # 47 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/cdefs.h" 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/c6x-elf-installed/lib/gcc/c6x-elf/12.0.0/include/stddef.h" 1 3 4 # 48 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/cdefs.h" 2 3 4 # 22 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/types.h" 2 3 4 typedef __uint8_t u_int8_t; typedef __uint16_t u_int16_t; typedef __uint32_t u_int32_t; typedef __uint64_t u_int64_t; typedef __intptr_t register_t; # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_stdint.h" 1 3 4 # 20 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_stdint.h" 3 4 typedef __int8_t int8_t ; typedef __uint8_t uint8_t ; typedef __int16_t int16_t ; typedef __uint16_t uint16_t ; typedef __int32_t int32_t ; typedef __uint32_t uint32_t ; typedef __int64_t int64_t ; typedef __uint64_t uint64_t ; typedef __intmax_t intmax_t; typedef __uintmax_t uintmax_t; typedef __intptr_t intptr_t; typedef __uintptr_t uintptr_t; # 47 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/types.h" 2 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/machine/endian.h" 1 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/machine/_endian.h" 1 3 4 # 7 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/machine/endian.h" 2 3 4 # 50 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/types.h" 2 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/select.h" 1 3 4 # 14 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/select.h" 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_sigset.h" 1 3 4 # 41 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_sigset.h" 3 4 typedef unsigned long __sigset_t; # 15 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/select.h" 2 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_timeval.h" 1 3 4 # 37 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_timeval.h" 3 4 typedef __suseconds_t suseconds_t; typedef __int_least64_t time_t; # 54 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_timeval.h" 3 4 struct timeval { time_t tv_sec; suseconds_t tv_usec; }; # 16 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/select.h" 2 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/timespec.h" 1 3 4 # 38 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/timespec.h" 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_timespec.h" 1 3 4 # 47 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_timespec.h" 3 4 struct timespec { time_t tv_sec; long tv_nsec; }; # 39 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/timespec.h" 2 3 4 # 58 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/timespec.h" 3 4 struct itimerspec { struct timespec it_interval; struct timespec it_value; }; # 17 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/select.h" 2 3 4 typedef __sigset_t sigset_t; # 34 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/select.h" 3 4 typedef unsigned long __fd_mask; typedef __fd_mask fd_mask; # 48 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/select.h" 3 4 typedef struct fd_set { __fd_mask __fds_bits[(((64) + ((((int)sizeof(__fd_mask) * 8)) - 1)) / (((int)sizeof(__fd_mask) * 8)))]; } fd_set; # 74 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/select.h" 3 4 int select (int __n, fd_set *__readfds, fd_set *__writefds, fd_set *__exceptfds, struct timeval *__timeout) ; int pselect (int __n, fd_set *__readfds, fd_set *__writefds, fd_set *__exceptfds, const struct timespec *__timeout, const sigset_t *__set) ; # 51 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/types.h" 2 3 4 typedef __uint32_t in_addr_t; typedef __uint16_t in_port_t; typedef __uintptr_t u_register_t; typedef unsigned char u_char; typedef unsigned short u_short; typedef unsigned int u_int; typedef unsigned long u_long; typedef unsigned short ushort; typedef unsigned int uint; typedef unsigned long ulong; typedef __blkcnt_t blkcnt_t; typedef __blksize_t blksize_t; typedef unsigned long clock_t; # 119 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/types.h" 3 4 typedef long daddr_t; typedef char * caddr_t; typedef __fsblkcnt_t fsblkcnt_t; typedef __fsfilcnt_t fsfilcnt_t; typedef __id_t id_t; typedef __ino_t ino_t; # 157 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/types.h" 3 4 typedef __off_t off_t; typedef __dev_t dev_t; typedef __uid_t uid_t; typedef __gid_t gid_t; typedef __pid_t pid_t; typedef __key_t key_t; typedef _ssize_t ssize_t; typedef __mode_t mode_t; typedef __nlink_t nlink_t; typedef __clockid_t clockid_t; typedef __timer_t timer_t; typedef __useconds_t useconds_t; # 220 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/types.h" 3 4 typedef __int64_t sbintime_t; # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_pthreadtypes.h" 1 3 4 # 23 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_pthreadtypes.h" 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/sched.h" 1 3 4 # 48 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/sched.h" 3 4 struct sched_param { int sched_priority; # 61 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/sched.h" 3 4 }; # 24 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_pthreadtypes.h" 2 3 4 # 32 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_pthreadtypes.h" 3 4 typedef __uint32_t pthread_t; # 61 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_pthreadtypes.h" 3 4 typedef struct { int is_initialized; void *stackaddr; int stacksize; int contentionscope; int inheritsched; int schedpolicy; struct sched_param schedparam; int detachstate; } pthread_attr_t; # 154 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_pthreadtypes.h" 3 4 typedef __uint32_t pthread_mutex_t; typedef struct { int is_initialized; # 168 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_pthreadtypes.h" 3 4 int recursive; } pthread_mutexattr_t; typedef __uint32_t pthread_cond_t; typedef struct { int is_initialized; clock_t clock; } pthread_condattr_t; typedef __uint32_t pthread_key_t; typedef struct { int is_initialized; int init_executed; } pthread_once_t; # 224 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/types.h" 2 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/machine/types.h" 1 3 4 # 225 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/types.h" 2 3 4 # 12 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/argz.h" 2 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/_ansi.h" 1 3 4 # 14 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/argz.h" 2 3 4 error_t argz_create (char *const argv[], char **argz, size_t *argz_len); error_t argz_create_sep (const char *string, int sep, char **argz, size_t *argz_len); size_t argz_count (const char *argz, size_t argz_len); void argz_extract (char *argz, size_t argz_len, char **argv); void argz_stringify (char *argz, size_t argz_len, int sep); error_t argz_add (char **argz, size_t *argz_len, const char *str); error_t argz_add_sep (char **argz, size_t *argz_len, const char *str, int sep); error_t argz_append (char **argz, size_t *argz_len, const char *buf, size_t buf_len); error_t argz_delete (char **argz, size_t *argz_len, char *entry); error_t argz_insert (char **argz, size_t *argz_len, char *before, const char *entry); char * argz_next (char *argz, size_t argz_len, const char *entry); error_t argz_replace (char **argz, size_t *argz_len, const char *str, const char *with, unsigned *replace_count); # 8 "../../../../../../..//newlib-cygwin/newlib/libc/argz/argz_append.c" 2 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/string.h" 1 3 4 # 17 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/string.h" 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/c6x-elf-installed/lib/gcc/c6x-elf/12.0.0/include/stddef.h" 1 3 4 # 18 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/string.h" 2 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_locale.h" 1 3 4 # 9 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/_locale.h" 3 4 struct __locale_t; typedef struct __locale_t *locale_t; # 21 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/string.h" 2 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/strings.h" 1 3 4 # 44 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/strings.h" 3 4 int bcmp(const void *, const void *, size_t) __attribute__((__pure__)); void bcopy(const void *, void *, size_t); void bzero(void *, size_t); void explicit_bzero(void *, size_t); int ffs(int) __attribute__((__const__)); int ffsl(long) __attribute__((__const__)); int ffsll(long long) __attribute__((__const__)); int fls(int) __attribute__((__const__)); int flsl(long) __attribute__((__const__)); int flsll(long long) __attribute__((__const__)); char *index(const char *, int) __attribute__((__pure__)); char *rindex(const char *, int) __attribute__((__pure__)); int strcasecmp(const char *, const char *) __attribute__((__pure__)); int strncasecmp(const char *, const char *, size_t) __attribute__((__pure__)); int strcasecmp_l (const char *, const char *, locale_t); int strncasecmp_l (const char *, const char *, size_t, locale_t); # 25 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/string.h" 2 3 4 void * memchr (const void *, int, size_t); int memcmp (const void *, const void *, size_t); void * memcpy (void *restrict, const void *restrict, size_t); void * memmove (void *, const void *, size_t); void * memset (void *, int, size_t); char *strcat (char *restrict, const char *restrict); char *strchr (const char *, int); int strcmp (const char *, const char *); int strcoll (const char *, const char *); char *strcpy (char *restrict, const char *restrict); size_t strcspn (const char *, const char *); char *strerror (int); size_t strlen (const char *); char *strncat (char *restrict, const char *restrict, size_t); int strncmp (const char *, const char *, size_t); char *strncpy (char *restrict, const char *restrict, size_t); char *strpbrk (const char *, const char *); char *strrchr (const char *, int); size_t strspn (const char *, const char *); char *strstr (const char *, const char *); char *strtok (char *restrict, const char *restrict); size_t strxfrm (char *restrict, const char *restrict, size_t); int strcoll_l (const char *, const char *, locale_t); char *strerror_l (int, locale_t); size_t strxfrm_l (char *restrict, const char *restrict, size_t, locale_t); char *strtok_r (char *restrict, const char *restrict, char **restrict); int timingsafe_bcmp (const void *, const void *, size_t); int timingsafe_memcmp (const void *, const void *, size_t); void * memccpy (void *restrict, const void *restrict, int, size_t); # 76 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/string.h" 3 4 char *stpcpy (char *restrict, const char *restrict); char *stpncpy (char *restrict, const char *restrict, size_t); char *strdup (const char *) __attribute__((__malloc__)) __attribute__((__warn_unused_result__)); char *_strdup_r (struct _reent *, const char *); char *strndup (const char *, size_t) __attribute__((__malloc__)) __attribute__((__warn_unused_result__)); char *_strndup_r (struct _reent *, const char *, size_t); # 100 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/string.h" 3 4 int strerror_r (int, char *, size_t) __asm__ ("" "__xpg_strerror_r") ; char * _strerror_r (struct _reent *, int, int, int *); size_t strlcat (char *, const char *, size_t); size_t strlcpy (char *, const char *, size_t); size_t strnlen (const char *, size_t); char *strsep (char **, const char *); char *strnstr(const char *, const char *, size_t) __attribute__((__pure__)); char *strlwr (char *); char *strupr (char *); char *strsignal (int __signo); # 175 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/string.h" 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/sys/string.h" 1 3 4 # 176 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/string.h" 2 3 4 # 11 "../../../../../../..//newlib-cygwin/newlib/libc/argz/argz_append.c" 2 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/stdlib.h" 1 3 4 # 16 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/stdlib.h" 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/c6x-elf-installed/lib/gcc/c6x-elf/12.0.0/include/stddef.h" 1 3 4 # 17 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/stdlib.h" 2 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/machine/stdlib.h" 1 3 4 # 21 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/stdlib.h" 2 3 4 # 1 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/alloca.h" 1 3 4 # 23 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/stdlib.h" 2 3 4 # 33 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/stdlib.h" 3 4 typedef struct { int quot; int rem; } div_t; typedef struct { long quot; long rem; } ldiv_t; typedef struct { long long int quot; long long int rem; } lldiv_t; typedef int (*__compar_fn_t) (const void *, const void *); int __locale_mb_cur_max (void); void abort (void) __attribute__ ((__noreturn__)); int abs (int); __uint32_t arc4random (void); __uint32_t arc4random_uniform (__uint32_t); void arc4random_buf (void *, size_t); int atexit (void (*__func)(void)); double atof (const char *__nptr); float atoff (const char *__nptr); int atoi (const char *__nptr); int _atoi_r (struct _reent *, const char *__nptr); long atol (const char *__nptr); long _atol_r (struct _reent *, const char *__nptr); void * bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, __compar_fn_t _compar); void *calloc(size_t, size_t) __attribute__((__malloc__)) __attribute__((__warn_unused_result__)) __attribute__((__alloc_size__(1, 2))) ; div_t div (int __numer, int __denom); void exit (int __status) __attribute__ ((__noreturn__)); void free (void *) ; char * getenv (const char *__string); char * _getenv_r (struct _reent *, const char *__string); char * _findenv (const char *, int *); char * _findenv_r (struct _reent *, const char *, int *); extern char *suboptarg; int getsubopt (char **, char * const *, char **); long labs (long); ldiv_t ldiv (long __numer, long __denom); void *malloc(size_t) __attribute__((__malloc__)) __attribute__((__warn_unused_result__)) __attribute__((__alloc_size__(1))) ; int mblen (const char *, size_t); int _mblen_r (struct _reent *, const char *, size_t, _mbstate_t *); int mbtowc (wchar_t *restrict, const char *restrict, size_t); int _mbtowc_r (struct _reent *, wchar_t *restrict, const char *restrict, size_t, _mbstate_t *); int wctomb (char *, wchar_t); int _wctomb_r (struct _reent *, char *, wchar_t, _mbstate_t *); size_t mbstowcs (wchar_t *restrict, const char *restrict, size_t); size_t _mbstowcs_r (struct _reent *, wchar_t *restrict, const char *restrict, size_t, _mbstate_t *); size_t wcstombs (char *restrict, const wchar_t *restrict, size_t); size_t _wcstombs_r (struct _reent *, char *restrict, const wchar_t *restrict, size_t, _mbstate_t *); char * mkdtemp (char *); int mkstemp (char *); int mkstemps (char *, int); char * mktemp (char *) __attribute__ ((__deprecated__("the use of `mktemp' is dangerous; use `mkstemp' instead"))); char * _mkdtemp_r (struct _reent *, char *); int _mkostemp_r (struct _reent *, char *, int); int _mkostemps_r (struct _reent *, char *, int, int); int _mkstemp_r (struct _reent *, char *); int _mkstemps_r (struct _reent *, char *, int); char * _mktemp_r (struct _reent *, char *) __attribute__ ((__deprecated__("the use of `mktemp' is dangerous; use `mkstemp' instead"))); void qsort (void *__base, size_t __nmemb, size_t __size, __compar_fn_t _compar); int rand (void); void *realloc(void *, size_t) __attribute__((__warn_unused_result__)) __attribute__((__alloc_size__(2))) ; void *reallocarray(void *, size_t, size_t) __attribute__((__warn_unused_result__)) __attribute__((__alloc_size__(2, 3))); void *reallocf(void *, size_t) __attribute__((__warn_unused_result__)) __attribute__((__alloc_size__(2))); char * realpath (const char *restrict path, char *restrict resolved_path); int rpmatch (const char *response); void srand (unsigned __seed); double strtod (const char *restrict __n, char **restrict __end_PTR); double _strtod_r (struct _reent *,const char *restrict __n, char **restrict __end_PTR); float strtof (const char *restrict __n, char **restrict __end_PTR); long strtol (const char *restrict __n, char **restrict __end_PTR, int __base); long _strtol_r (struct _reent *,const char *restrict __n, char **restrict __end_PTR, int __base); unsigned long strtoul (const char *restrict __n, char **restrict __end_PTR, int __base); unsigned long _strtoul_r (struct _reent *,const char *restrict __n, char **restrict __end_PTR, int __base); # 191 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/stdlib.h" 3 4 int system (const char *__string); long a64l (const char *__input); char * l64a (long __input); char * _l64a_r (struct _reent *,long __input); int on_exit (void (*__func)(int, void *),void *__arg); void _Exit (int __status) __attribute__ ((__noreturn__)); int putenv (char *__string); int _putenv_r (struct _reent *, char *__string); void * _reallocf_r (struct _reent *, void *, size_t); int setenv (const char *__string, const char *__value, int __overwrite); int _setenv_r (struct _reent *, const char *__string, const char *__value, int __overwrite); # 224 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/stdlib.h" 3 4 char * __itoa (int, char *, int); char * __utoa (unsigned, char *, int); char * itoa (int, char *, int); char * utoa (unsigned, char *, int); int rand_r (unsigned *__seed); double drand48 (void); double _drand48_r (struct _reent *); double erand48 (unsigned short [3]); double _erand48_r (struct _reent *, unsigned short [3]); long jrand48 (unsigned short [3]); long _jrand48_r (struct _reent *, unsigned short [3]); void lcong48 (unsigned short [7]); void _lcong48_r (struct _reent *, unsigned short [7]); long lrand48 (void); long _lrand48_r (struct _reent *); long mrand48 (void); long _mrand48_r (struct _reent *); long nrand48 (unsigned short [3]); long _nrand48_r (struct _reent *, unsigned short [3]); unsigned short * seed48 (unsigned short [3]); unsigned short * _seed48_r (struct _reent *, unsigned short [3]); void srand48 (long); void _srand48_r (struct _reent *, long); char * initstate (unsigned, char *, size_t); long random (void); char * setstate (char *); void srandom (unsigned); long long atoll (const char *__nptr); long long _atoll_r (struct _reent *, const char *__nptr); long long llabs (long long); lldiv_t lldiv (long long __numer, long long __denom); long long strtoll (const char *restrict __n, char **restrict __end_PTR, int __base); long long _strtoll_r (struct _reent *, const char *restrict __n, char **restrict __end_PTR, int __base); unsigned long long strtoull (const char *restrict __n, char **restrict __end_PTR, int __base); unsigned long long _strtoull_r (struct _reent *, const char *restrict __n, char **restrict __end_PTR, int __base); void cfree (void *); int unsetenv (const char *__string); int _unsetenv_r (struct _reent *, const char *__string); int posix_memalign (void **, size_t, size_t) __attribute__((__nonnull__ (1))) __attribute__((__warn_unused_result__)); char * _dtoa_r (struct _reent *, double, int, int, int *, int*, char**); void * _malloc_r (struct _reent *, size_t) ; void * _calloc_r (struct _reent *, size_t, size_t) ; void _free_r (struct _reent *, void *) ; void * _realloc_r (struct _reent *, void *, size_t) ; void _mstats_r (struct _reent *, char *); int _system_r (struct _reent *, const char *); void __eprintf (const char *, const char *, unsigned int, const char *); # 312 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/stdlib.h" 3 4 void qsort_r (void *__base, size_t __nmemb, size_t __size, void *__thunk, int (*_compar)(void *, const void *, const void *)) __asm__ ("" "__bsd_qsort_r"); # 322 "/home/jlaw/jenkins/workspace/c6x-elf/newlib-cygwin/newlib/libc/include/stdlib.h" 3 4 extern long double _strtold_r (struct _reent *, const char *restrict, char **restrict); extern long double strtold (const char *restrict, char **restrict); void * aligned_alloc(size_t, size_t) __attribute__((__malloc__)) __attribute__((__alloc_align__(1))) __attribute__((__alloc_size__(2))) __attribute__((__warn_unused_result__)); int at_quick_exit(void (*)(void)); _Noreturn void quick_exit(int); # 12 "../../../../../../..//newlib-cygwin/newlib/libc/argz/argz_append.c" 2 # 13 "../../../../../../..//newlib-cygwin/newlib/libc/argz/argz_append.c" error_t argz_append (char **argz, size_t *argz_len, const char *buf, size_t buf_len) { if (buf_len) { size_t last = *argz_len; *argz_len += buf_len; if(!(*argz = (char *)realloc(*argz, *argz_len))) return # 26 "../../../../../../..//newlib-cygwin/newlib/libc/argz/argz_append.c" 3 4 12 # 26 "../../../../../../..//newlib-cygwin/newlib/libc/argz/argz_append.c" ; memcpy(*argz + last, buf, buf_len); } return 0; }
diff --git a/gcc/dwarf2cfi.c b/gcc/dwarf2cfi.c index 9dd1dfe71b7..55ae172eda2 100644 --- a/gcc/dwarf2cfi.c +++ b/gcc/dwarf2cfi.c @@ -1136,7 +1136,6 @@ dwf_cfa_reg (rtx reg) gcc_assert (GET_MODE_SIZE (GET_MODE (XVECEXP (span, 0, i))) .to_constant () == result.span_width); gcc_assert (REG_P (XVECEXP (span, 0, i))); - gcc_assert (dwf_regno (XVECEXP (span, 0, i)) == result.reg + i); } } }