Re: [PATCH] rtl: fix buidl failure on -fchecking=2 [PR111642]
On Sep 30 2023, Sergei Trofimovich wrote: > @@ -263,7 +253,7 @@ const_poly_int_tests::run () >ASSERT_KNOWN_EQ (rtx_to_poly_int64 (x255), poly_int64 (1, -1)); >ASSERT_MAYBE_NE (rtx_to_poly_int64 (x255), poly_int64 (1, 255)); > > - /* Test plus_constant of a symbol. */ > + /* Test plus_consctant of a symbol. */ Spurious change. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH V2] TEST: Fix vect_cond_arith_* dump checks for RVV
On Okt 09 2023, juzhe.zh...@rivai.ai wrote: > Turns out COND(_LEN)?_ADD can't work. It should work though. Tcl regexps are a superset of POSIX EREs. -- Andreas Schwab, SUSE Labs, sch...@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."
Re: Enable top-level recursive 'autoreconf'
On Okt 19 2023, Thomas Schwinge wrote: > Hi! > > On 2023-10-18T15:42:18+0100, R jd <3246251196r...@gmail.com> wrote: >> I guess I can ask, why there is not a recursive approach for configuring >> GCC. e.g. AC_SUBDIRS in the top level? > > ('AC_CONFIG_SUBDIRS' you mean.) You know, often it just takes someone to > ask the right questions... ;-) > > What do people think about the attached > "Enable top-level recursive 'autoreconf'"? Only lightly tested, so far. The top-level files are shared with binutils-gdb, which has a different set of subdirs. -- Andreas Schwab, SUSE Labs, sch...@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."
Re: [RFC] Add function attribute: null_terminated_string_arg(PARAM_IDX)
On Okt 19 2023, David Malcolm wrote: > +void > +region_model:: > +check_one_function_attr_null_terminated_string_arg (const gcall *call, > + tree callee_fndecl, > + region_model_context *ctxt, > + rdwr_map &rdwr_idx, > + tree attr) > +{ > + gcc_assert (call); > + gcc_assert (callee_fndecl); > + gcc_assert (ctxt); > + gcc_assert (attr); > + > + tree arg = TREE_VALUE (attr); > + if (!arg) > +return; > + > + /* Convert from 1-based to 0-based index. */ > + unsigned int arg_idx = TREE_INT_CST_LOW (TREE_VALUE (arg)) - 1; > + > + /* If there's also an "access" attribute on the ptr param > + for reading with a size param specified, then that size > + limits the size of the possible read from the pointer. */ > + if (const attr_access* access = rdwr_idx.get (arg_idx)) > +if ((access->mode == access_read_only > + || access->mode == access_read_write) > + && access->sizarg != UINT_MAX) > + { > + /* First, check for a null-terminated string *without* > +emitting emitting warnings (via a null context), to -emitting -- Andreas Schwab, SUSE Labs, sch...@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."
Re: [PATCH, Ada] Makefile patches from initial RISC-V cross/native build.
On Jul 05 2018, Jim Wilson wrote: > Tested with native riscv-linux bootstrap with Ada enabled. I'm getting a lot of errors from the assembler "non-constant .uleb128 is not supported" when trying to bootstrap the compiler with the cross-compiled ada compiler. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH, Ada] Makefile patches from initial RISC-V cross/native build.
On Jul 07 2018, Jim Wilson wrote: > If you build and install binutils, and then build and install gcc, the > build will work. Not if the compiler was built in a canadian cross. That's the only way to bootstrap an Ada compiler. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH, Ada] Makefile patches from initial RISC-V cross/native build.
On Jul 07 2018, Jim Wilson wrote: > You should only see the gas error if your gas sources are in the same > source tree as your gcc sources. Nope. > if you have separate binutils and gcc source trees, the build should > work. It's not the canadian cross build that fails, but the subsequent native build using the (misconfigured) canadian cross build. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH, Ada] Makefile patches from initial RISC-V cross/native build.
On Jul 07 2018, Jim Wilson wrote: > This is also presumably what the debian, fedora, and gentoo folks did > to get their first native compiler. They didn't report any problems. Of course, they didn't build an ada compiler. > Is this the first time you are trying to build a native RISC-V > compiler for OpenSuse? I have bootstrapped several architectures for SUSE and openSUSE, thank you. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH, Ada] Makefile patches from initial RISC-V cross/native build.
On Jul 07 2018, Jim Wilson wrote: > But building an Ada compiler works exactly the same as building C and > C++ compilers. There should really be no difference. That Ada compiler is unique in that it uses exceptions. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] S/390: libstdc++: 64 and 32 bit baseline update
On Jul 13 2018, Andreas Krebbel wrote: > @@ -5645,3 +5657,5 @@ OBJECT:8:_ZTTSi@@GLIBCXX_3.4 > OBJECT:8:_ZTTSo@@GLIBCXX_3.4 > OBJECT:8:_ZTTSt13basic_istreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 > OBJECT:8:_ZTTSt13basic_ostreamIwSt11char_traitsIwEE@@GLIBCXX_3.4 > +TLS:4:_ZSt11__once_call@@GLIBCXX_3.4.11 > +TLS:4:_ZSt15__once_callable@@GLIBCXX_3.4.11 You should not have any TLS entries. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Fix invalid cc_status after [const_][us]mulsi3_highpart
The mulu.l insn sets the CC according to the 64-bit result, but we are only using the high part, so the Z flag cannot be used. The other flags would still be valid, but we have no cc_status flag for that case. * config/m68k/m68k.md (umulsi3_highpart+1, const_umulsi3_highpart) (smulsi3_highpart+1, const_smulsi3_highpart): Add CC_STATUS_INIT. testsuite/: * gcc.target/m68k/mulsi_highpart.c: New test. diff --git a/gcc/config/m68k/m68k.md b/gcc/config/m68k/m68k.md index f8a674d7d9..74c366fc63 100644 --- a/gcc/config/m68k/m68k.md +++ b/gcc/config/m68k/m68k.md @@ -3240,7 +3240,10 @@ (const_int 32 (clobber (match_operand:SI 1 "register_operand" "=d"))] "TARGET_68020 && !TUNE_68060 && !TARGET_COLDFIRE" - "mulu%.l %3,%0:%1") +{ + CC_STATUS_INIT; + return "mulu%.l %3,%0:%1"; +}) (define_insn "const_umulsi3_highpart" [(set (match_operand:SI 0 "register_operand" "=d") @@ -3251,7 +3254,10 @@ (const_int 32 (clobber (match_operand:SI 1 "register_operand" "=d"))] "TARGET_68020 && !TUNE_68060 && !TARGET_COLDFIRE" - "mulu%.l %3,%0:%1") +{ + CC_STATUS_INIT; + return "mulu%.l %3,%0:%1"; +}) (define_expand "smulsi3_highpart" [(parallel @@ -3283,7 +3289,10 @@ (const_int 32 (clobber (match_operand:SI 1 "register_operand" "=d"))] "TARGET_68020 && !TUNE_68060 && !TARGET_COLDFIRE" - "muls%.l %3,%0:%1") +{ + CC_STATUS_INIT; + return "muls%.l %3,%0:%1"; +}) (define_insn "const_smulsi3_highpart" [(set (match_operand:SI 0 "register_operand" "=d") @@ -3294,7 +3303,10 @@ (const_int 32 (clobber (match_operand:SI 1 "register_operand" "=d"))] "TARGET_68020 && !TUNE_68060 && !TARGET_COLDFIRE" - "muls%.l %3,%0:%1") +{ + CC_STATUS_INIT; + return "muls%.l %3,%0:%1"; +}) (define_expand "mul3" [(set (match_operand:FP 0 "nonimmediate_operand" "") diff --git a/gcc/testsuite/gcc.target/m68k/mulsi_highpart.c b/gcc/testsuite/gcc.target/m68k/mulsi_highpart.c new file mode 100644 index 00..f17586ee52 --- /dev/null +++ b/gcc/testsuite/gcc.target/m68k/mulsi_highpart.c @@ -0,0 +1,8 @@ +/* { dg-do compile } */ +/* { dg-options "-O2 -m68020" } */ +/* Don't optimize away a compare after [us]mulsi_highpart. */ +/* { dg-final { scan-assembler {tst\.?l} } } */ +int cmp (unsigned int a, unsigned int b) +{ + return (a > 0x / b); +} -- 2.18.0 -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] libitm: sh: avoid absolute relocation in shared library (PR 86712)
On Jul 28 2018, "slyfox.inbox.ru via gcc-patches" wrote: > diff --git a/libitm/config/sh/sjlj.S b/libitm/config/sh/sjlj.S > index 043f36749be..80a810d8360 100644 > --- a/libitm/config/sh/sjlj.S > +++ b/libitm/config/sh/sjlj.S > @@ -53,7 +53,7 @@ _ITM_beginTransaction: > #else > cfi_def_cfa_offset (4*10) > #endif > -#if defined HAVE_ATTRIBUTE_VISIBILITY || !defined __PIC__ > +#if defined HAVE_ATTRIBUTE_VISIBILITY && !defined __PIC__ > mov.l .Lbegin, r1 > jsr @r1 >movr15, r5 > @@ -78,7 +78,7 @@ _ITM_beginTransaction: > > .align 2 > .Lbegin: > -#if defined HAVE_ATTRIBUTE_VISIBILITY || !defined __PIC__ > +#if defined HAVE_ATTRIBUTE_VISIBILITY && !defined __PIC__ > .long GTM_begin_transaction > #else > .long GTM_begin_transaction@PCREL-(.Lbegin0-.) If those references to hidden symbols cannot be resolved by the linker then the use of HAVE_ATTRIBUTE_VISIBILITY is pointless. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] libgcc: m68k: avoid TEXTRELs in shared library (PR 86224)
On Jul 28 2018, sly...@inbox.ru wrote: > From: Sergei Trofimovich > > Cc: Ian Lance Taylor > Cc: Jeff Law > Cc: Andreas Schwab > Signed-off-by: Sergei Trofimovich > --- > libgcc/config/m68k/lb1sf68.S | 19 ++- > 1 file changed, 14 insertions(+), 5 deletions(-) > > diff --git a/libgcc/config/m68k/lb1sf68.S b/libgcc/config/m68k/lb1sf68.S > index 325a7c17d9b..16c6dc3f5a7 100644 > --- a/libgcc/config/m68k/lb1sf68.S > +++ b/libgcc/config/m68k/lb1sf68.S > @@ -435,7 +435,10 @@ $_exception_handler: > .text > FUNC(__mulsi3) > .globl SYM (__mulsi3) > + .globl SYM (__mulsi3_internal) > + .hidden SYM (__mulsi3_internal) No need for extra entry symbols, just mark the real entry point as hidden, like in the static library. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] RISC-V: Fix warning in predicated.md
../../gcc/gcc/config/riscv/predicates.md: In function ‘bool arith_operand_or_mod e_mask(rtx, machine_mode)’: ../../gcc/gcc/config/riscv/predicates.md:33:14: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] (match_test "INTVAL (op) == GET_MODE_MASK (HImode) -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH v2] machine descriptor: New compact syntax for insn and insn_split in Machine Descriptions.
On Jun 08 2023, Tamar Christina via Gcc-patches wrote: > @@ -713,6 +714,183 @@ you can use @samp{*} inside of a @samp{@@} > multi-alternative template: > @end group > @end smallexample > > +@node Compact Syntax > +@section Compact Syntax > +@cindex compact syntax > + > +In cases where the number of alternatives in a @code{define_insn} or > +@code{define_insn_and_split} are large then it may be beneficial to use the is large -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [gcc r14-2455] riscv: Prepare backend for index registers
Why didn't you test that? ../../gcc/config/riscv/riscv.cc: In function 'int riscv_regno_ok_for_index_p(int)': ../../gcc/config/riscv/riscv.cc:864:33: error: unused parameter 'regno' [-Werror=unused-parameter] 864 | riscv_regno_ok_for_index_p (int regno) | ^ cc1plus: all warnings being treated as errors make[3]: *** [Makefile:2499: riscv.o] Error 1 -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [gcc r14-2455] riscv: Prepare backend for index registers
On Jul 17 2023, Christoph Müllner wrote: > The build process shows a lot of warnings. Then you are using a bad compiler. The build is 100% -Werror clean. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [gcc r14-2455] riscv: Prepare backend for index registers
On Jul 17 2023, Christoph Müllner wrote: > My host compiler is: gcc version 13.1.1 20230614 (Red Hat 13.1.1-4) (GCC) Too old. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH V3] RISC-V: Add TARGET_MIN_VLEN > 4096 check
../../gcc/config/riscv/riscv.cc: In function 'void riscv_option_override()': ../../gcc/config/riscv/riscv.cc:6716:7: error: misspelled term 'can not' in format; use 'cannot' instead [-Werror=format-diag] 6716 | "Current RISC-V GCC can not support VLEN > 4096bit for 'V' Extension"); | ^ ../../gcc/config/riscv/riscv.cc:6716:7: error: unbalanced punctuation character '>' in format [-Werror=format-diag] -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH 1/2] Fix PR 110066: crash with -pg -static on riscv
On Jul 22 2023, Andrew Pinski via Gcc-patches wrote: > The problem -fasynchronous-unwind-tables is on by default for riscv linux > We need turn it off for crt*.o because it would make __EH_FRAME_BEGIN__ point > to .eh_frame data from crtbeginT.o instead of the user-defined object > during static linking. > > This turns it off. Since this is a recurring problem, and difficult to notice (see how long the aarch64 case went unnoticed), it should be fixed generically, instead of having to patch every case separately. > diff --git a/libgcc/config/riscv/t-crtstuff b/libgcc/config/riscv/t-crtstuff > new file mode 100644 > index 000..685d11b3e66 > --- /dev/null > +++ b/libgcc/config/riscv/t-crtstuff > @@ -0,0 +1,5 @@ > +# -fasynchronous-unwind-tables -funwind-tables is on by default for riscv > linux > +# We turn it off for crt*.o because it would make __EH_FRAME_BEGIN__ point > +# to .eh_frame data from crtbeginT.o instead of the user-defined object > +# during static linking. > +CRTSTUFF_T_CFLAGS += -fno-asynchronous-unwind-tables -fno-unwind-tables What about CRTSTUFF_T_CFLAGS_S? -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH 3/5] [RISC-V] Generate Zicond instruction for select pattern with condition eq or neq to 0
On Jul 19 2023, Xiao Zeng wrote: > diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc > index 38d8eb2fcf5..7e6b24bd232 100644 > --- a/gcc/config/riscv/riscv.cc > +++ b/gcc/config/riscv/riscv.cc > @@ -2448,6 +2448,17 @@ riscv_rtx_costs (rtx x, machine_mode mode, int > outer_code, int opno ATTRIBUTE_UN > *total = COSTS_N_INSNS (1); > return true; > } > + else if (TARGET_ZICOND && outer_code == SET && > + ((GET_CODE (XEXP (x, 1)) == REG && XEXP (x, 2) == const0_rtx) > || > + (GET_CODE (XEXP (x, 2)) == REG && XEXP (x, 1) == const0_rtx) > || > + (GET_CODE (XEXP (x, 1)) == REG && GET_CODE (XEXP (x, 2)) && > +XEXP (x, 1) == XEXP (XEXP (x, 0), 0)) || > + (GET_CODE (XEXP (x, 1)) == REG && GET_CODE (XEXP (x, 2)) && > + XEXP (x, 2) == XEXP (XEXP (x, 0), 0 Line breaks before the operator, not after. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH V2] RISC-V: Rework Phase 5 && Phase 6 of VSETVL PASS
Why didn't you test that?? ../../gcc/config/riscv/riscv-vsetvl.cc: In member function 'bool pass_vsetvl::global_eliminate_vsetvl_insn(const rtl_ssa::bb_info*) const': ../../gcc/config/riscv/riscv-vsetvl.cc:4354:3: error: 'vsetvl_rinsn' may be used uninitialized [-Werror=maybe-uninitialized] 4354 | if (!vsetvl_rinsn) | ^~ ../../gcc/config/riscv/riscv-vsetvl.cc:4343:13: note: 'vsetvl_rinsn' was declared here 4343 | rtx_insn *vsetvl_rinsn; | ^~~~ cc1plus: all warnings being treated as errors make[3]: *** [../../gcc/config/riscv/t-riscv:66: riscv-vsetvl.o] Error 1 -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: libgo patch committed: Use a C function to call mmap
On Jun 20 2023, Ian Lance Taylor via Gcc-patches wrote: > This libgo patches changes the runtime pacakge to use a C function to call > mmap. > > The final argument to mmap, of type off_t, varies. In > https://go.dev/cl/445375 > (https://gcc.gnu.org/pipermail/gcc-patches/2022-October/604158.html) > we changed it to always use the C off_t type, but that broke 32-bit > big-endian Linux systems. This has nothing to do with big-endian, armv7 isn't big-endian. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: libgo patch committed: Use a C function to call mmap
On Jun 20 2023, Ian Lance Taylor wrote: > OK, but I think that it does have something to do with big-endian. > The bug was that on some 32-bit systems it was passing a 64-bit value > to a function that expected a 32-bit value. The problem didn't show > up on 32-bit x86 because it is little-endian, and did show up on > 32-bit PPC because it is big-endian. I guess the armv7 case was > failing for a different reason. Not failing is no proof for correctness. It fails everywhere for the same reason. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH V1] RISC-V:Add float16 tuple type support
../../gcc/lto-streamer-out.cc: In function 'void lto_output_init_mode_table()': ../../gcc/lto-streamer-out.cc:3177:10: error: 'void* memset(void*, int, size_t)' forming offset [256, 283] is out of the bounds [0, 256] of object 'streamer_mode_table' with type 'unsigned char [256]' [-Werror=array-bounds=] 3177 | memset (streamer_mode_table, '\0', MAX_MACHINE_MODE); | ~~~^ In file included from ../../gcc/gimple-streamer.h:25, from ../../gcc/lto-streamer-out.cc:33: ../../gcc/tree-streamer.h:78:22: note: 'streamer_mode_table' declared here 78 | extern unsigned char streamer_mode_table[1 << 8]; | ^~~ cc1plus: all warnings being treated as errors make[3]: *** [Makefile:1180: lto-streamer-out.o] Error 1 -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH V1] RISC-V:Add float16 tuple type support
Please revert until bootstrap is restored. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [Ready to commit V3] RISC-V: Add AVL propagation PASS for RVV auto-vectorization
../../gcc/config/riscv/riscv-avlprop.cc: In member function 'virtual unsigned int pass_avlprop::execute(function*)': ../../gcc/config/riscv/riscv-avlprop.cc:346:23: error: loop variable 'candidate' creates a copy from type 'const std::pair' [-Werror=range-loop-construct] 346 | for (const auto candidate : m_candidates) | ^ ../../gcc/config/riscv/riscv-avlprop.cc:346:23: note: use reference type to prevent copying 346 | for (const auto candidate : m_candidates) | ^ | & -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH 2/4] maintainer-scripts/gcc_release: create index between snapshots <-> commits
On Nov 02 2023, Jonathan Wakely wrote: > Git tags are cheap, but I can imagine a concern about hundreds of new > tags "littering" the output of 'git tag -l'. I don't _think_ you can > put tags under an alternative ref that isn't fetched by default (as we > do with refs/users and refs/vendor). I think tags have to go under > refs/tags. But grep -v could be used to filter out snapshot tags > easily. There is no inherent limitation on publishing tags outside of refs/tags, to make them invisible by git tag. There are already existing examples of tags residing under various refs/users and refs/vendors namespaces. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] Fix configure script comments(!?!)
On Nov 06 2023, Martin Jambor wrote: > Following this commit, our buildbot script which checks that configure > scripts where re-generated correctly is unhappy because it insists > comments are wrong, it wants to them to be like this: > > > diff --git a/gcc/configure b/gcc/configure > index 4d0357cbc28..0d818ae6850 100755 > --- a/gcc/configure > +++ b/gcc/configure > @@ -2,7 +2,7 @@ else >lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 >lt_status=$lt_dlunknown >cat > conftest.$ac_ext <<_LT_EOF > -#line 19995 "configure" > +#line 20003 "configure" > #include "confdefs.h" > > #if HAVE_DLFCN_H > @@ -20106,7 +20106,7 @@ else >lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 >lt_status=$lt_dlunknown >cat > conftest.$ac_ext <<_LT_EOF > -#line 20101 "configure" > +#line 20109 "configure" > #include "confdefs.h" > > #if HAVE_DLFCN_H > > > I'm not sure what that means, whether a wrong version of > autoconf/automake was used (though when I accidentally tried that, it > has always complained loudly) or if some environment difference can > cause this. This can happen if commits were rebased without re-generating configure scripts. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
[PATCH] Update baseline symbols for m68k-linux
:_ZSt15__try_use_facetISt7num_getIwSt19istreambuf_iteratorIwSt11char_traitsIwPKT_RKSt6locale@@GLIBCXX_3.4.31 +FUNC:_ZSt15__try_use_facetISt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcPKT_RKSt6locale@@GLIBCXX_3.4.31 +FUNC:_ZSt15__try_use_facetISt7num_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwPKT_RKSt6locale@@GLIBCXX_3.4.31 +FUNC:_ZSt15__try_use_facetISt8messagesIcEEPKT_RKSt6locale@@GLIBCXX_3.4.31 +FUNC:_ZSt15__try_use_facetISt8messagesIwEEPKT_RKSt6locale@@GLIBCXX_3.4.31 +FUNC:_ZSt15__try_use_facetISt8numpunctIcEEPKT_RKSt6locale@@GLIBCXX_3.4.31 +FUNC:_ZSt15__try_use_facetISt8numpunctIwEEPKT_RKSt6locale@@GLIBCXX_3.4.31 +FUNC:_ZSt15__try_use_facetISt8time_getIcSt19istreambuf_iteratorIcSt11char_traitsIcPKT_RKSt6locale@@GLIBCXX_3.4.31 +FUNC:_ZSt15__try_use_facetISt8time_getIwSt19istreambuf_iteratorIwSt11char_traitsIwPKT_RKSt6locale@@GLIBCXX_3.4.31 +FUNC:_ZSt15__try_use_facetISt8time_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcPKT_RKSt6locale@@GLIBCXX_3.4.31 +FUNC:_ZSt15__try_use_facetISt8time_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwPKT_RKSt6locale@@GLIBCXX_3.4.31 +FUNC:_ZSt15__try_use_facetISt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcPKT_RKSt6locale@@GLIBCXX_3.4.31 +FUNC:_ZSt15__try_use_facetISt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwPKT_RKSt6locale@@GLIBCXX_3.4.31 +FUNC:_ZSt15__try_use_facetISt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcPKT_RKSt6locale@@GLIBCXX_3.4.31 +FUNC:_ZSt15__try_use_facetISt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwPKT_RKSt6locale@@GLIBCXX_3.4.31 FUNC:_ZSt15future_categoryv@@GLIBCXX_3.4.15 FUNC:_ZSt15get_new_handlerv@@GLIBCXX_3.4.20 FUNC:_ZSt15set_new_handlerPFvvE@@GLIBCXX_3.4 @@ -4150,12 +4224,17 @@ FUNC:_ZSt20__throw_future_errori@@GLIBCXX_3.4.14 FUNC:_ZSt20__throw_length_errorPKc@@GLIBCXX_3.4 FUNC:_ZSt20__throw_out_of_rangePKc@@GLIBCXX_3.4 FUNC:_ZSt20__throw_system_errori@@GLIBCXX_3.4.11 +FUNC:_ZSt20__to_chars_float16_tPcS_fSt12chars_format@@GLIBCXX_3.4.31 FUNC:_ZSt21_Rb_tree_rotate_rightPSt18_Rb_tree_node_baseRS0_@@GLIBCXX_3.4 FUNC:_ZSt21__copy_streambufs_eofIcSt11char_traitsIcEEiPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9 FUNC:_ZSt21__copy_streambufs_eofIwSt11char_traitsIwEEiPSt15basic_streambufIT_T0_ES6_Rb@@GLIBCXX_3.4.9 +FUNC:_ZSt21__glibcxx_assert_failPKciS0_S0_@@GLIBCXX_3.4.30 FUNC:_ZSt21__throw_bad_exceptionv@@GLIBCXX_3.4 FUNC:_ZSt21__throw_runtime_errorPKc@@GLIBCXX_3.4 +FUNC:_ZSt21__to_chars_bfloat16_tPcS_fSt12chars_format@@GLIBCXX_3.4.31 +FUNC:_ZSt22__from_chars_float16_tPKcS0_RfSt12chars_format@@GLIBCXX_3.4.31 FUNC:_ZSt22__throw_overflow_errorPKc@@GLIBCXX_3.4 +FUNC:_ZSt23__from_chars_bfloat16_tPKcS0_RfSt12chars_format@@GLIBCXX_3.4.31 FUNC:_ZSt23__throw_underflow_errorPKc@@GLIBCXX_3.4 FUNC:_ZSt24__throw_invalid_argumentPKc@@GLIBCXX_3.4 FUNC:_ZSt24__throw_out_of_range_fmtPKcz@@GLIBCXX_3.4.20 @@ -4489,6 +4568,7 @@ OBJECT:0:CXXABI_1.3.10 OBJECT:0:CXXABI_1.3.11 OBJECT:0:CXXABI_1.3.12 OBJECT:0:CXXABI_1.3.13 +OBJECT:0:CXXABI_1.3.14 OBJECT:0:CXXABI_1.3.2 OBJECT:0:CXXABI_1.3.3 OBJECT:0:CXXABI_1.3.4 @@ -4522,6 +4602,8 @@ OBJECT:0:GLIBCXX_3.4.27 OBJECT:0:GLIBCXX_3.4.28 OBJECT:0:GLIBCXX_3.4.29 OBJECT:0:GLIBCXX_3.4.3 +OBJECT:0:GLIBCXX_3.4.30 +OBJECT:0:GLIBCXX_3.4.31 OBJECT:0:GLIBCXX_3.4.4 OBJECT:0:GLIBCXX_3.4.5 OBJECT:0:GLIBCXX_3.4.6 @@ -4704,6 +4786,9 @@ OBJECT:15:_ZTSSt8numpunctIcE@@GLIBCXX_3.4 OBJECT:15:_ZTSSt8numpunctIwE@@GLIBCXX_3.4 OBJECT:16:_ZNSbIwSt11char_traitsIwESaIwEE4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4 OBJECT:16:_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4 +OBJECT:16:_ZTIPDF32_@@CXXABI_1.3.14 +OBJECT:16:_ZTIPDF32x@@CXXABI_1.3.14 +OBJECT:16:_ZTIPDF64_@@CXXABI_1.3.14 OBJECT:16:_ZTIPDd@@CXXABI_1.3.4 OBJECT:16:_ZTIPDe@@CXXABI_1.3.4 OBJECT:16:_ZTIPDf@@CXXABI_1.3.4 @@ -4711,6 +4796,9 @@ OBJECT:16:_ZTIPDi@@CXXABI_1.3.3 OBJECT:16:_ZTIPDn@@CXXABI_1.3.5 OBJECT:16:_ZTIPDs@@CXXABI_1.3.3 OBJECT:16:_ZTIPDu@@CXXABI_1.3.12 +OBJECT:16:_ZTIPKDF32_@@CXXABI_1.3.14 +OBJECT:16:_ZTIPKDF32x@@CXXABI_1.3.14 +OBJECT:16:_ZTIPKDF64_@@CXXABI_1.3.14 OBJECT:16:_ZTIPKDd@@CXXABI_1.3.4 OBJECT:16:_ZTIPKDe@@CXXABI_1.3.4 OBJECT:16:_ZTIPKDf@@CXXABI_1.3.4 @@ -5854,6 +5942,9 @@ OBJECT:8:_ZGVNSt9money_getIcSt19istreambuf_iteratorIcSt11char_traitsIcEEE2idE@@G OBJECT:8:_ZGVNSt9money_getIwSt19istreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4 OBJECT:8:_ZGVNSt9money_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE2idE@@GLIBCXX_3.4 OBJECT:8:_ZGVNSt9money_putIwSt19ostreambuf_iteratorIwSt11char_traitsIwEEE2idE@@GLIBCXX_3.4 +OBJECT:8:_ZTIDF32_@@CXXABI_1.3.14 +OBJECT:8:_ZTIDF32x@@CXXABI_1.3.14 +OBJECT:8:_ZTIDF64_@@CXXABI_1.3.14 OBJECT:8:_ZTIDd@@CXXABI_1.3.4 OBJECT:8:_ZTIDe@@CXXABI_1.3.4 OBJECT:8:_ZTIDf@@CXXABI_1.3.4 -- 2.39.1 -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] libffi: fix handling of homogeneous float128 structs [PR109447]
On Mai 09 2023, Peter Bergner via Gcc-patches wrote: > It's almost as if the top level build machinery > adds a LD_LIBRARY_PATH=... See how the toplevel Makefile sets LD_LIBRARY_PATH (via RPATH_ENVVAR) if gcc-bootstrap is set. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] libffi: fix handling of homogeneous float128 structs [PR109447]
On Mai 09 2023, Peter Bergner via Gcc-patches wrote: > On 5/9/23 3:50 PM, Andreas Schwab wrote: >> On Mai 09 2023, Peter Bergner via Gcc-patches wrote: >> >>> It's almost as if the top level build machinery >>> adds a LD_LIBRARY_PATH=... >> >> See how the toplevel Makefile sets LD_LIBRARY_PATH (via RPATH_ENVVAR) if >> gcc-bootstrap is set. > > I'm sorry to be dense, but can you point to the specific line? In my > $GCC_BUILD/Makefile, the only mention of LD_LIBRARY_PATH is: > > RPATH_ENVVAR = LD_LIBRARY_PATH > > ...so that isn't setting LD_LIBRARY_PATH, but using it. Have you considered searching for uses of RPATH_ENVVAR? $ grep RPATH_ENVVAR Makefile.in RPATH_ENVVAR = @RPATH_ENVVAR@ # On targets where RPATH_ENVVAR is PATH, a subdirectory of the GCC build path $(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \ $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); $(RPATH_ENVVAR)=`echo "$(TARGET_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \ $(RPATH_ENVVAR)=`echo "$(HOST_LIB_PATH)$$$(RPATH_ENVVAR)" | sed 's,::*,:,g;s,^:*,,;s,:*$$,,'`; export $(RPATH_ENVVAR); \ # This is the list of directories that may be needed in RPATH_ENVVAR # This is the list of directories that may be needed in RPATH_ENVVAR "RPATH_ENVVAR=$(RPATH_ENVVAR)" \ -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH v2] RISC-V: Handle multi-lib path correclty for linux
WTF? ../../gcc/common/config/riscv/riscv-common.cc: In function 'const char* riscv_select_multilib_by_abi(const std::string&, const std::string&, const riscv_subset_list*, const switchstr*, int, const std::vector&)': ../../gcc/common/config/riscv/riscv-common.cc:1599:22: error: unused parameter 'riscv_current_arch_str' [-Werror=unused-parameter] 1599 | const std::string &riscv_current_arch_str, | ~~~^~ ../../gcc/common/config/riscv/riscv-common.cc:1601:28: error: unused parameter 'subset_list' [-Werror=unused-parameter] 1601 | const riscv_subset_list *subset_list, const struct switchstr *switches, | ~^~~ ../../gcc/common/config/riscv/riscv-common.cc:1601:65: error: unused parameter 'switches' [-Werror=unused-parameter] 1601 | const riscv_subset_list *subset_list, const struct switchstr *switches, | ^~~~ ../../gcc/common/config/riscv/riscv-common.cc:1602:7: error: unused parameter 'n_switches' [-Werror=unused-parameter] 1602 | int n_switches, const std::vector &multilib_infos) | ^~ ../../gcc/common/config/riscv/riscv-common.cc: In function 'const char* riscv_select_multilib(const std::string&, const std::string&, const riscv_subset_list*, const switchstr*, int, const std::vector&)': ../../gcc/common/config/riscv/riscv-common.cc:1613:22: error: unused parameter 'riscv_current_arch_str' [-Werror=unused-parameter] 1613 | const std::string &riscv_current_arch_str, | ~~~^~ cc1plus: all warnings being treated as errors make[3]: *** [Makefile:2485: riscv-common.o] Error 1 -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] RISC-V: Add mode switching target hook to insert rounding mode config for fixed-point instructions
In function 'int optimize_mode_switching()', inlined from 'virtual unsigned int {anonymous}::pass_mode_switching::execute(function*)' at ../../gcc/mode-switching.cc:909:31: ../../gcc/mode-switching.cc:608:29: error: 'bb_info$' may be used uninitialized [-Werror=maybe-uninitialized] 608 | add_seginfo (info + bb->index, ptr); | ^~~ ../../gcc/mode-switching.cc: In member function 'virtual unsigned int {anonymous}::pass_mode_switching::execute(function*)': ../../gcc/mode-switching.cc:503:19: note: 'bb_info$' was declared here 503 | struct bb_info *bb_info[N_ENTITIES]; | ^~~ cc1plus: all warnings being treated as errors make[3]: *** [Makefile:1174: mode-switching.o] Error 1 -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] RISC-V: Add mode switching target hook to insert rounding mode config for fixed-point instructions
This is built with --disable-werror, so it doesn't fail, but the warning is there: https://build.opensuse.org/package/live_build_log/devel:gcc:next/gcc14/openSUSE_Factory_RISCV/riscv64 -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] config: check for sighandler_t properly
On Jan 22 2021, Nick Alcock via Gcc-patches wrote: > (The purpose of this check is opaque to me: neither libcody > nor GCC ever includes , and though is > widely included, it is not directly included by any of the > headers checking this macro... for now I've fixed things > to conform to the comment, but perhaps we should be checking > the non-deprecated instead, and #including it > in mapper-client.h?) Perhaps the check should be dropped at all, and the single use of sighandler_t replaced with its expansion. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] ld: depend on libctf
On Jan 26 2021, Nick Alcock via Gcc-patches wrote: > diff --git a/Makefile.in b/Makefile.in > index 03785200dc7..d8a94c4173d 100644 > --- a/Makefile.in > +++ b/Makefile.in > @@ -565,7 +565,7 @@ STAGEprofile_TFLAGS = $(STAGE2_TFLAGS) > STAGEtrain_CFLAGS = $(filter-out -fchecking=1,$(STAGE3_CFLAGS)) > STAGEtrain_TFLAGS = $(filter-out -fchecking=1,$(STAGE3_TFLAGS)) > > -STAGEfeedback_CFLAGS = $(STAGE4_CFLAGS) -fprofile-use > -fprofile-reproducible=parallel-runs > +STAGEfeedback_CFLAGS = $(STAGE4_CFLAGS) -fprofile-use Where does this come from? Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] RISC-V: Fix -march option parsing when `p` extension exists.
FAIL: gcc.target/riscv/attribute-18.c scan-assembler .attribute arch, "rv64i2p0_m2p0_a2p0_f2p0_d2p0_c2p0_p" $ grep -c 'attribute arch' attribute-18.s 0 Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH v7] Add retain attribute to place symbols in SHF_GNU_RETAIN section
FAIL: c-c++-common/attr-retain-5.c -Wc++-compat (test for excess errors) Excess errors: /opt/gcc/gcc-20210220/gcc/testsuite/c-c++-common/attr-retain-5.c:23:1: warning: 'retain' attribute ignored [-Wattributes] Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
[PATCH] libstdc++: Update baseline symbols for {aarch64,ia64,m68k,riscv64}-linux
libstdc++-v3/ * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. --- .../aarch64-linux-gnu/baseline_symbols.txt| 104 +++ .../post/ia64-linux-gnu/baseline_symbols.txt | 121 ++ .../post/m68k-linux-gnu/baseline_symbols.txt | 121 ++ .../riscv64-linux-gnu/baseline_symbols.txt| 116 + 4 files changed, 462 insertions(+) diff --git a/libstdc++-v3/config/abi/post/aarch64-linux-gnu/baseline_symbols.txt b/libstdc++-v3/config/abi/post/aarch64-linux-gnu/baseline_symbols.txt index 089537d5ddf..45f1540ca11 100644 --- a/libstdc++-v3/config/abi/post/aarch64-linux-gnu/baseline_symbols.txt +++ b/libstdc++-v3/config/abi/post/aarch64-linux-gnu/baseline_symbols.txt @@ -199,6 +199,14 @@ FUNC:_ZNK11__gnu_debug16_Error_formatter17_M_get_max_lengthEv@@GLIBCXX_3.4.10 FUNC:_ZNK11__gnu_debug16_Error_formatter8_M_errorEv@@GLIBCXX_3.4 FUNC:_ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv@@GLIBCXX_3.4 FUNC:_ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_@@GLIBCXX_3.4 +FUNC:_ZNKRSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.29 +FUNC:_ZNKRSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.29 +FUNC:_ZNKRSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.29 +FUNC:_ZNKRSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.29 +FUNC:_ZNKRSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.29 +FUNC:_ZNKRSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.29 +FUNC:_ZNKRSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.29 +FUNC:_ZNKRSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.29 FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@@GLIBCXX_3.4.5 FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE11_M_disjunctEPKw@GLIBCXX_3.4 FUNC:_ZNKSbIwSt11char_traitsIwESaIwEE12find_last_ofEPKwm@@GLIBCXX_3.4 @@ -856,19 +864,29 @@ FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8capacityEv@@GLIBCXX_ FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEE8max_sizeEv@@GLIBCXX_3.4.21 FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEcvSt17basic_string_viewIwS2_EEv@@GLIBCXX_3.4.26 FUNC:_ZNKSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEixEm@@GLIBCXX_3.4.21 +FUNC:_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE13get_allocatorEv@@GLIBCXX_3.4.29 FUNC:_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21 +FUNC:_ZNKSt7__cxx1115basic_stringbufIcSt11char_traitsIcESaIcEE4viewEv@@GLIBCXX_3.4.29 +FUNC:_ZNKSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE13get_allocatorEv@@GLIBCXX_3.4.29 FUNC:_ZNKSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21 +FUNC:_ZNKSt7__cxx1115basic_stringbufIwSt11char_traitsIwESaIwEE4viewEv@@GLIBCXX_3.4.29 FUNC:_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21 +FUNC:_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE4viewEv@@GLIBCXX_3.4.29 FUNC:_ZNKSt7__cxx1118basic_stringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4.21 FUNC:_ZNKSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21 +FUNC:_ZNKSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE4viewEv@@GLIBCXX_3.4.29 FUNC:_ZNKSt7__cxx1118basic_stringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4.21 FUNC:_ZNKSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21 +FUNC:_ZNKSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE4viewEv@@GLIBCXX_3.4.29 FUNC:_ZNKSt7__cxx1119basic_istringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4.21 FUNC:_ZNKSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21 +FUNC:_ZNKSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE4viewEv@@GLIBCXX_3.4.29 FUNC:_ZNKSt7__cxx1119basic_istringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4.21 FUNC:_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE3strEv@@GLIBCXX_3.4.21 +FUNC:_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE4viewEv@@GLIBCXX_3.4.29 FUNC:_ZNKSt7__cxx1119basic_ostringstreamIcSt11char_traitsIcESaIcEE5rdbufEv@@GLIBCXX_3.4.21 FUNC:_ZNKSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE3strEv@@GLIBCXX_3.4.21 +FUNC:_ZNKSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE4viewEv@@GLIBCXX_3.4.29 FUNC:_ZNKSt7__cxx1119basic_ostringstreamIwSt11char_traitsIwESaIwEE5rdbufEv@@GLIBCXX_3.4.21 FUNC:_ZNKSt7__cxx117collateIcE10_M_compareEPKcS3_@@GLIBCXX_3.4.21 FUNC:_ZNKSt7__cxx117collateIcE10do_compareEPKcS3_S3_S3_@@GLIBCXX_3.4.21 @@ -1300,6 +1318,14 @@ FUNC:_ZNKSt9type_info10__do_catchEPKS_PPvj@@GLIBCXX_
Re: [committed] analyzer: eliminate dedupe_candidate [PR96374]
I'm getting this link failure for all compilers: analyzer/diagnostic-manager.o: In function `ana::diagnostic_manager::emit_saved_diagnostics(ana::exploded_graph const&)': diagnostic-manager.cc:(.text+0xd350): undefined reference to `ana::exploded_path::exploded_path(ana::exploded_path const&)' Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH 1/5] std::latch: reduce internal implementation from ptrdiff_t to int
On Feb 26 2021, Thiago Macieira via Gcc-patches wrote: > @@ -85,7 +85,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > } > >private: > -alignas(__alignof__(ptrdiff_t)) ptrdiff_t _M_a; > +alignas(__alignof__(int)) int _M_a; Futexes must be aligned to 4 bytes. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] analyzer: implement exploded_path copy ctor
On Feb 26 2021, David Malcolm wrote: > What compiler are you using? gcc 5.3.1 > Does the following patch fix the build for you? Yes, it does. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH 1/5] std::latch: reduce internal implementation from ptrdiff_t to int
On Feb 26 2021, Thiago Macieira wrote: > On Friday, 26 February 2021 10:14:42 PST Andreas Schwab wrote: >> On Feb 26 2021, Thiago Macieira via Gcc-patches wrote: >> > @@ -85,7 +85,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION >> > } >> > >> > private: >> > -alignas(__alignof__(ptrdiff_t)) ptrdiff_t _M_a; >> > +alignas(__alignof__(int)) int _M_a; >> >> Futexes must be aligned to 4 bytes. > > Agreed, but doesn't this accomplish that? No. It uses whatever alignment the type already has, and is an elaborate no-op. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH 1/5] std::latch: reduce internal implementation from ptrdiff_t to int
On Mär 03 2021, Jonathan Wakely wrote: > For int, there shouldn't be any need to force the alignment. I don't > think any ABI supported by GCC allows int members to be aligned to > less than __alignof__(int). There is no requirement that __alignof__(int) is big enough. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH 3/3] [PR libfortran/101305] Fix ISO_Fortran_binding.h paths in gfortran testsuite
On Jul 13 2021, Sandra Loosemore wrote: > diff --git a/gcc/testsuite/gfortran.dg/ISO_Fortran_binding_1.c > b/gcc/testsuite/gfortran.dg/ISO_Fortran_binding_1.c > index a571459..9da5d85 100644 > --- a/gcc/testsuite/gfortran.dg/ISO_Fortran_binding_1.c > +++ b/gcc/testsuite/gfortran.dg/ISO_Fortran_binding_1.c > @@ -1,6 +1,6 @@ > /* Test F2008 18.5: ISO_Fortran_binding.h functions. */ > > -#include "../../../libgfortran/ISO_Fortran_binding.h" > +#include "ISO_Fortran_binding.h" Shouldn't that use since that is an installed header, not one that is supposed to be picked up from the current directory? Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH v3] Fix for powerpc64 long double complex divide failure
On Aug 12 2021, Patrick McGehearty via Gcc-patches wrote: > diff --git a/libgcc/config/rs6000/_divkc3.c b/libgcc/config/rs6000/_divkc3.c > index a1d29d2..2b229c8 100644 > --- a/libgcc/config/rs6000/_divkc3.c > +++ b/libgcc/config/rs6000/_divkc3.c > @@ -38,10 +38,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. > If not, see > #endif > > #ifndef __LONG_DOUBLE_IEEE128__ > -#define RBIG (__LIBGCC_KF_MAX__ / 2) > -#define RMIN (__LIBGCC_KF_MIN__) > -#define RMIN2 (__LIBGCC_KF_EPSILON__) > -#define RMINSCAL (1 / __LIBGCC_KF_EPSILON__) > +#define RBIG (__LIBGCC_DF_MAX__ / 2) > +#define RMIN (__LIBGCC_DF_MIN__) > +#define RMIN2 (__LIBGCC_DF_EPSILON__) > +#define RMINSCAL (1 / __LIBGCC_DF_EPSILON__) How can it happen that __LONG_DOUBLE_IEEE128__ is not defined? This file is always compiled with -mfloat128 and this looks like dead code. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH 3/3] aarch64: Remove macros for vld4[q]_lane Neon intrinsics
I think this patch breaks bootstrap. In file included from ../../libcpp/lex.c:756: /opt/gcc/gcc-20210818/Build/prev-gcc/include/arm_neon.h: In function 'float32x2x4_t vld4_lane_f32(const float32_t*, float32x2x4_t, int)': /opt/gcc/gcc-20210818/Build/prev-gcc/include/arm_neon.h:21081:11: error: cannot convert 'float*' to 'const int*' 21081 | (__builtin_aarch64_simd_sf *) __ptr, __o, __c); | ^~~ | | | float* : note: initializing argument 1 of '__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2si(const int*, __builtin_aarch64_simd_xi, int)' /opt/gcc/gcc-20210818/Build/prev-gcc/include/arm_neon.h: In function 'float64x2x4_t vld4q_lane_f64(const float64_t*, float64x2x4_t, int)': /opt/gcc/gcc-20210818/Build/prev-gcc/include/arm_neon.h:21384:9: error: cannot convert 'long int*' to 'const double*' 21384 | (__builtin_aarch64_simd_di *) __ptr, __o, __c); | ^~~ | | | long int* : note: initializing argument 1 of '__builtin_aarch64_simd_xi __builtin_aarch64_ld4_lanev2df(const double*, __builtin_aarch64_simd_xi, int)' Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] Inline IBM long double __gcc_qsub
On Aug 25 2021, David Edelsohn via Gcc-patches wrote: > rs6000: inline ldouble __gcc_qsub > > While performing some tests of IEEE 128 float for PPC64LE, Michael > Meissner noticed that __gcc_qsub is substantially slower than > __gcc_qadd. __gcc_qsub valls __gcc_add with the second operand __gcc_qadd Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] Inline IBM long double __gcc_qsub
On Aug 25 2021, David Edelsohn via Gcc-patches wrote: > rs6000: inline ldouble __gcc_qsub > > While performing some tests of IEEE 128 float for PPC64LE, Michael > Meissner noticed that __gcc_qsub is substantially slower than > __gcc_qadd. __gcc_qsub valls __gcc_add with the second operand > negated. Because the functions normally are invoked through > libgcc shared object, the extra PLT overhead has a large impact > on the overall time of the function. Instead of trying to be > fancy with function decorations to prevent interposition, this > patch inlines the definition of __gcc_qadd into __gcc_qsub with > the negation propagated through the function. > > libgcc/ChangeLog: > > * config/rs6000/ibm-ldouble.c (__gcc_qsub): Inline negated > __gcc_qadd. How about defining a static function that is used by both? Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [gcc r12-3142] Merge load/stores in ipa-modref summaries
New tests that FAIL (2 tests): compiler driver --help=param option(s): "^ +-.*[^:.]$" absent from output: " --param=modref-max-adjustments= Maximum number of times a given range is adjusted during the dataflow" compiler driver --help=params option(s): "[^.]$" absent from output: "w" Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] options: Save and restore opts_set for Optimization and Target options
This breaks ia64: In file included from ./tm.h:23, from ../../gcc/gencheck.c:23: ./options.h:7816:40: error: ISO C++ forbids zero-size array 'explicit_mask' [-Werror=pedantic] 7816 | unsigned HOST_WIDE_INT explicit_mask[0]; |^ ./options.h:7816:26: error: zero-size array member 'cl_target_option::explicit_mask' not at end of 'struct cl_target_option' [-Werror=pedantic] 7816 | unsigned HOST_WIDE_INT explicit_mask[0]; | ^ ./options.h:7812:16: note: in the definition of 'struct cl_target_option' 7812 | struct GTY(()) cl_target_option |^~~~ $ diff -u gcc-2020100[34]/Build/gcc/options.h --- gcc-20201003/Build/gcc/options.h2020-10-03 04:50:58.0 +0200 +++ gcc-20201004/Build/gcc/options.h2020-10-04 04:25:18.0 +0200 @@ -7812,8 +7812,9 @@ struct GTY(()) cl_target_option { int x_target_flags; - /* 1 members */ - unsigned HOST_WIDE_INT explicit_mask[1]; + /* 0 members */ + unsigned HOST_WIDE_INT explicit_mask[0]; + int explicit_mask_target_flags; }; Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] RISC-V: Derive ABI from -march if -mabi is not present.
On Okt 06 2020, Kito Cheng wrote: > diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi > index f623467b7637..c6ba738aa0b7 100644 > --- a/gcc/doc/invoke.texi > +++ b/gcc/doc/invoke.texi > @@ -25928,7 +25928,14 @@ allows floating-point values up to 32 bits long to > be passed in registers; or > @samp{-march=rv64ifd -mabi=lp64}, in which no floating-point arguments will > be > passed in registers. > > -The default for this argument is system dependent, users who want a specific > +When @option{-mabi=} is not specified, the default value will derived from > +@option{-march=}, the rules is using @samp{d} ABI variant if D extension is > +enabled, otherwise using soft-float ABI variant even F extension is enabled, > +there is an special rule for @samp{rv32e} variant is it always use > +@samp{ilp32e}. When @option{-mabi=} is not specified, the default value will be derived from @option{-march=}. If the D extension is enabled use the @samp{d} ABI variant, otherwise use the soft-float ABI variant even if the F extension is enabled. For the @samp{rv32e} architecture the default is @samp{ilp32e}. > + > +If @option{-march} and @option{-mabi=} both are not specified, the default > for If both ... are not specified Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PUSHED] Fix off-by-one storage problem in irange_allocator.
On Okt 06 2020, Jakub Jelinek via Gcc-patches wrote: > I mean, we could just use: > size_t nbytes = sizeof (irange) + sizeof (tree) * 2 * num_pairs; > irange *r = (irange *) obstack_alloc (&m_obstack, nbytes); > return new (r) irange ((tree *) (r + 1), num_pairs); > without any new type. Modulo proper alignment. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] options: Save and restore opts_set for Optimization and Target options
options-save.c: In function 'void cl_target_option_save(cl_target_option*, gcc_options*, gcc_options*)': options-save.c:8526:26: error: unused variable 'mask' [-Werror=unused-variable] 8526 | unsigned HOST_WIDE_INT mask = 0; | ^~~~ options-save.c: In function 'void cl_target_option_restore(gcc_options*, gcc_options*, cl_target_option*)': options-save.c:8537:26: error: unused variable 'mask' [-Werror=unused-variable] 8537 | unsigned HOST_WIDE_INT mask; | ^~~~ Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PUSHED] Fix off-by-one storage problem in irange_allocator.
On Okt 06 2020, Jakub Jelinek wrote: > On Tue, Oct 06, 2020 at 10:47:34AM +0200, Andreas Schwab wrote: >> On Okt 06 2020, Jakub Jelinek via Gcc-patches wrote: >> >> > I mean, we could just use: >> > size_t nbytes = sizeof (irange) + sizeof (tree) * 2 * num_pairs; >> > irange *r = (irange *) obstack_alloc (&m_obstack, nbytes); >> > return new (r) irange ((tree *) (r + 1), num_pairs); >> > without any new type. >> >> Modulo proper alignment. > > Sure, but irange's last element is tree * which is pointer to pointer, > and we need here an array of tree, i.e. pointers. So, it would indeed break > on a hypothetical host that has smaller struct X ** alignment than struct X * > alignment. I'm not aware of any. > One could add a static_assert to verify that (that alignof (irange) >= > alignof (tree) > and that sizeof (irange) % alignof (tree) == 0). I think the proper alignment will be guaranteed if irange and tree[] are obstack_alloc'd separately. They don't need to be adjacent, do they? Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PUSHED] Fix off-by-one storage problem in irange_allocator.
On Okt 06 2020, Andrew MacLeod via Gcc-patches wrote: > diff --git a/gcc/value-range.h b/gcc/value-range.h > index 7031a823138..02a952bf81f 100644 > --- a/gcc/value-range.h > +++ b/gcc/value-range.h > @@ -668,13 +668,12 @@ irange_allocator::allocate (unsigned num_pairs) >if (num_pairs < 2) > num_pairs = 2; > > - struct newir { > -irange range; > -tree mem[2]; > - }; > - size_t nbytes = (sizeof (newir) + sizeof (tree) * 2 * (num_pairs - 1)); > - struct newir *r = (newir *) obstack_alloc (&m_obstack, nbytes); > - return new (r) irange (r->mem, num_pairs); > + size_t nbytes = sizeof (tree) * 2 * num_pairs; > + > + // Allocate the irnge and required memory for the vector Typo: irange Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: libstdc++: std::iterator is deprecated since C++17
On Okt 08 2020, korel ka via Gcc-patches wrote: > diff --git a/libstdc++-v3/include/bits/stl_iterator.h > b/libstdc++-v3/include/bits/stl_iterator.h > index 2259f7c..13d5dbb 100644 > --- a/libstdc++-v3/include/bits/stl_iterator.h > +++ b/libstdc++-v3/include/bits/stl_iterator.h > @@ -625,8 +650,28 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION >*/ >template > class back_insert_iterator > +#if __cplusplus < 201703L > : public iterator > +#endif > { > +#if __cplusplus >= 201703L // C++17 > +public: > + // BEGIN: Iterator base types > + /// One of the @link iterator_tags tag types@endlink. > + using iterator_category = output_iterator_tag; > + /// The type "pointed to" by the iterator. > + using value_type = void; > +#if __cplusplus <= 201703L This uses <=, but the occurrences in stream[buf]_iterator.h use ==. I think the latter is less confusing. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] testsuite: Windows paths use \ and not /
On Sep 30 2022, Jonathan Wakely via Gcc-patches wrote: > That fixes the error, but now the regex doesn't match so there are > still excess errors. It needs to be: > > // { dg-prune-output ".*\[/\\](functional|bits\[/\\]invoke.h):.*" } In Tcl "." matches newlines, thus this will prune too much. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] Add --without-makeinfo
On Okt 04 2022, Tom de Vries via Gcc-patches wrote: > diff --git a/configure.ac b/configure.ac > index 0152c69292e..e4a2c076674 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -3441,6 +3441,9 @@ case " $build_configdirs " in > esac > > AC_CHECK_PROGS([MAKEINFO], makeinfo, [$MISSING makeinfo]) > +if test $with_makeinfo = "no"; then Quoting is backwards. You should quote the variable substitution, not the literal. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH v8 02/12] LoongArch Port: gcc build
On Mär 06 2022, Richard Sandiford via Gcc-patches wrote: > Similarly here we need to avoid bash's $(...). $(...) is 100% POSIX. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH v8 08/12] LoongArch Port: libgcc
On Mär 08 2022, Richard Sandiford via Gcc-patches wrote: >> + >> +.section .init,"ax",@progbits >> +.globl _init >> +.type _init,@function >> +_init: >> +addi.d $r3,$r3,-16 >> +st.d $r1,$r3,8 >> +addi.d $r3,$r3,16 >> +jirl$r0,$r1,0 >> + >> +.section .fini,"ax",@progbits >> +.globl _fini >> +.type _fini,@function >> +_fini: >> +addi.d $r3,$r3,-16 >> +st.d $r1,$r3,8 >> +addi.d $r3,$r3,16 >> +jirl$r0,$r1,0 > > Are you sure this is right? It looks like it pushes LR and then > immediately pops it and returns, which would have the effect of > bypassing the rest of the .init and .fini code. > > The idea instead is that .init starts with the code in crti.S, > then contains any .init code linked in from .o files, then ends > with the .init code in crtn.S. Same for .fini. New architectures should not use .init/.fini at all. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH v2] middle-end/104854: Limit strncmp overread warnings
On Mär 17 2022, Jeff Law via Gcc-patches wrote: > On Thu, Mar 17, 2022 at 9:32 AM Marek Polacek via Gcc-patches < > gcc-patches@gcc.gnu.org> wrote: >> I think I agree, I've tried >> >> #include >> char a[] = "abc"; >> char b[] = "abcd"; >> >> int f (void) >> { >> return strncmp (a, b, 8); >> } >> >> where I get >> >> t.c:7:10: warning: ‘strncmp’ specified bound 8 exceeds source size 5 >> [-Wstringop-overread] >> 7 | return strncmp (a, b, 8); // -Wstringop-overread >> | ^ >> >> even without -Wall. strncmp sees that a[3] is '\0' so it stops comparing >> and there's no UB. >> > This one is a clear case where warning is bad. Both arguments are > constant and we can determine they are NUL terminated and an overread will > never occur. No deep analysis really needed here. Both a and b are modifiable, thus the compiler cannot assume anything. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] gcc-changelog: Make This reverts stricter.
On Mär 28 2022, Martin Liška wrote: > +revert_regex = re.compile(r'This reverts commit (?P[0-9a-f]+).$') Is the trailing '.' supposed to match literally? -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH][libgomp, testsuite] Fix hardcoded libexec in plugin/configfrag.ac
On Mär 28 2022, Richard Biener via Gcc-patches wrote: > OK in principle, but I have no idea on how portable > > $(libexecdir:\$(exec_prefix)/%=%) > > is going to be? We already require GNU make, don't we? > We should aim for POSIX shell compatibility here, whatever that > exactly is. It's not a shell construct. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH v2] RISCV: Add support for inlining subword atomics
On Apr 08 2022, Patrick O'Neill wrote: > It looks like the file: > gcc/config/nds32/linux.h > interacts with the macro: > #define HAVE_sync_compare_and_swaphi 1 > > I'm not sure if that's the correct way to do it/if this is defined in a > different way for targets like x86/ARM/etc. They are normally autogenerated, see insn-flags.h. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [pushed] c++: rodata and defaulted ctor [PR104142]
On Apr 11 2022, Jason Merrill via Gcc-patches wrote: > diff --git a/gcc/testsuite/g++.dg/opt/const7.C > b/gcc/testsuite/g++.dg/opt/const7.C > new file mode 100644 > index 000..5bcf94897a8 > --- /dev/null > +++ b/gcc/testsuite/g++.dg/opt/const7.C > @@ -0,0 +1,7 @@ > +// PR c++/104142 > +// { dg-do compile { target c++11 } } > +// { dg-additional-options -Wunused-variable } > + > +struct B { B()=default; }; > +static const B b_var;// { dg-bogus "" } > +// { dg-final { scan-assembler-symbol-section {b_var} > {^\.(const|rodata)|\[RO\]} } } That fails to handle .srodata. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH v5 02/12] LoongArch Port: gcc build
On Jan 22 2022, Xi Ruoyao via Gcc-patches wrote: > Well, but then you should put the commands for generating those files > into contrib/gcc_update instead of Makefile.in, just like MIPS. contrib/gcc_update doesn't regenerate any files, it only updates timestamps. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] Speed up fixincludes.
On Feb 03 2022, Martin Liška wrote: > -mkdir $LIB/root Why did you remote that line? -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] Speed up fixincludes.
On Feb 03 2022, Martin Liška wrote: > What do you think now? xargs? -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] Speed up fixincludes.
On Feb 03 2022, Martin Liška wrote: > +cd $LIB > +echo "$all_dirs" | xargs mkdir -p > +cd .. > + $LIB always contains slashes. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH, V2] Use system default for long double if not specified on PowerPC.
On Feb 04 2022, Michael Meissner via Gcc-patches wrote: > If the user did not specify a default long double format when configuring > GCC, use the long double default from the host compiler. That doesn't make any sense. The host compiler can be any random compiler completely unrelated to the target. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] doc: invoke: RISC-V: Clean up the -mstrict-align wording
On Feb 07 2022, Palmer Dabbelt wrote: > diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi > index 0ebe538ccdc..5e8af05e359 100644 > --- a/gcc/doc/invoke.texi > +++ b/gcc/doc/invoke.texi > @@ -27702,7 +27702,7 @@ integer load/stores only. > @item -mstrict-align > @itemx -mno-strict-align > @opindex mstrict-align > -Do not or do generate unaligned memory accesses. The default is set > depending I think the logic is that -mstrict-align is "do not" and -mno-strict-align is "do". -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH, V2] Use system default for long double if not specified on PowerPC.
On Feb 08 2022, Peter Bergner wrote: > Can you please clarify one thing for me. Do you think it's possible > that we can come up with some type of configure patch that automatically > sets the long double default given something on the system we can test > for or do you think that's impossible and we'll just have to live with > explicitly using a configure option to set the default? It should be handled the same as the double->long double switch. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH, V2] Use system default for long double if not specified on PowerPC.
On Feb 09 2022, Segher Boessenkool wrote: > Hi Andreas, > > On Tue, Feb 08, 2022 at 06:36:57PM +0100, Andreas Schwab wrote: >> On Feb 08 2022, Peter Bergner wrote: >> > Can you please clarify one thing for me. Do you think it's possible >> > that we can come up with some type of configure patch that automatically >> > sets the long double default given something on the system we can test >> > for or do you think that's impossible and we'll just have to live with >> > explicitly using a configure option to set the default? >> >> It should be handled the same as the double->long double switch. > > So how was that done? I thnk commit ed965309dad added that. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] libgo: include asm/ptrace.h for pt_regs definition on PowerPC
On Jan 02 2022, soeren--- via Gcc-patches wrote: > libgo/runtime/go-signal.c: In function 'getSiginfo': > libgo/runtime/go-signal.c:227:63: error: invalid use of undefined type > 'struct pt_regs' > 227 | ret.sigpc = > ((ucontext_t*)(context))->uc_mcontext.regs->nip; Why does that use .regs instead of .uc_regs? -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] bpf: do not --enable-gcov for bpf-*-* targets
On Feb 23 2022, Jose E. Marchesi wrote: > diff --git a/gcc/configure.ac b/gcc/configure.ac > index 06750cee977..a892e170997 100644 > --- a/gcc/configure.ac > +++ b/gcc/configure.ac > @@ -1042,6 +1042,12 @@ AC_SUBST(enable_shared) > AC_ARG_ENABLE(gcov, > [ --disable-gcov don't provide libgcov and related host tools], > [], [enable_gcov=yes]) > + > +case $target in > + bpf-*-*) > +enable_gcov=no > + ;; > +esac I think that should be moved inside the fourth argument of AC_ARG_ENABLE so that it does not override an explicit --enable-gcov. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] libatomic: Improve 16-byte atomics on Intel AVX [PR104688]
On Feb 28 2022, Jakub Jelinek via Gcc-patches wrote: > On Mon, Feb 28, 2022 at 04:27:19PM +0800, Xi Ruoyao wrote: >> On Mon, 2022-02-28 at 07:06 +0100, Jakub Jelinek via Gcc-patches wrote: >> > +++ libatomic/Makefile.am 2022-02-25 17:25:16.298314196 +0100 >> > @@ -138,8 +138,9 @@ IFUNC_OPTIONS = -march=i586 >> > libatomic_la_LIBADD += $(addsuffix _8_1_.lo,$(SIZEOBJS)) >> > endif >> > if ARCH_X86_64 >> > -IFUNC_OPTIONS = -mcx16 >> > -libatomic_la_LIBADD += $(addsuffix _16_1_.lo,$(SIZEOBJS)) >> > +IFUNC_OPTIONS = -mcx16 -mcx16 >> >> The duplication of "-mcx16" is unintentional, I guess? > > No, it is intentional. > The only place IFUNC_OPTIONS is used is in: > IFUNC_OPT = $(word $(PAT_S),$(IFUNC_OPTIONS)) > so for *_1.*o it uses the first word in IFUNC_OPTIONS, for > *_2.*o second word etc. > The thing that is not currently supported is if we'd need more than one > option for one ifunc variant (which is possibly in the future, if e.g. > -matomic-loadstore-16 option is added, unless that option also > implies -mcx16, we'd need a way for one option to include both. > Maybe -Wc,-mcx16,-matomic-loadstore-16 would work though. Or use a separate variable for each variant: IFUNC_OPTIONS_1 = ... IFUNC_OPTIONS_2 = ... IFUNC_OPT = $(IFUNC_OPTIONS_$(PAT_S)) -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [committed 4/4] d: Merge upstream phobos 574bf883b
Breaks aarch64: ../../../../libphobos/libdruntime/core/sys/linux/unistd.d:10:15: error: module 'core.sys.linux.syscalls' import 'SystemCall' not found 10 | public import core.sys.linux.syscalls : SystemCall; | ^ Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [v4 PATCH 4/4] RISC-V: Add zhinx/zhinxmin testcases.
On Okt 20 2022, jiawei wrote: > diff --git a/gcc/testsuite/gcc.target/riscv/_Float16-zhinx-1.c > b/gcc/testsuite/gcc.target/riscv/_Float16-zhinx-1.c > new file mode 100644 > index 000..90172b57e05 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/_Float16-zhinx-1.c > @@ -0,0 +1,10 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64i_zhinx -mabi=lp64 -O" } */ > + > +_Float16 foo1 (_Float16 a, _Float16 b) > +{ > +return b; > +} > + > +/* { dg-final { scan-assembler-not "fmv.h" } } */ > +/* { dg-final { scan-assembler-times "mv" 1 } } */ This fails with -flto (mv is found twice). -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] RISC-V: Support load/store in mov pattern for RVV modes.
On Okt 24 2022, juzhe.zh...@rivai.ai wrote: > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/base/mov-1.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/base/mov-10.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/base/mov-11.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/base/mov-12.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/base/mov-13.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/base/mov-2.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/base/mov-3.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/base/mov-4.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/base/mov-5.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/base/mov-6.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/base/mov-7.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/base/mov-8.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/base/mov-9.c They all fail if the ilp32d ABI is not available. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] RISC-V: Add RVV vsetvl/vsetvlmax intrinsics and tests.
On Okt 17 2022, juzhe.zh...@rivai.ai wrote: > gcc/testsuite/ChangeLog: > > * gcc.target/riscv/rvv/base/vsetvl-1.c: New test. This fails if the ilp32d ABI is not available. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] RISC-V: Add runtime invariant support
This breaks bootstrap: ../../gcc/tree-vect-loop-manip.cc: In function 'void vect_gen_vector_loop_niters(loop_vec_info, tree, tree_node**, tree_node**, bool)': ../../gcc/tree-vect-loop-manip.cc:1981:26: error: 'const_vf' may be used uninitialized [-Werror=maybe-uninitialized] 1981 | unsigned HOST_WIDE_INT const_vf; | ^~~~ cc1plus: all warnings being treated as errors make[3]: *** [Makefile:1146: tree-vect-loop-manip.o] Error 1 make[2]: *** [Makefile:4977: all-stage2-gcc] Error 2 make[1]: *** [Makefile:30363: stage2-bubble] Error 2 make: *** [Makefile:1065: all] Error 2 -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] 32-bit PA-RISC with HP-UX: remove deprecated ports
On Aug 26 2022, Martin Liška wrote: > diff --git a/config.rpath b/config.rpath This is part of gettext. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH v2] RISC-V: remove deprecate pic code model macro
On Sep 02 2022, Vineet Gupta wrote: > diff --git a/gcc/config/riscv/riscv-c.cc b/gcc/config/riscv/riscv-c.cc > index eb7ef09297e9..bba72cf77a82 100644 > --- a/gcc/config/riscv/riscv-c.cc > +++ b/gcc/config/riscv/riscv-c.cc > @@ -93,9 +93,6 @@ riscv_cpu_cpp_builtins (cpp_reader *pfile) >break; > > case CM_PIC: > - /* __riscv_cmodel_pic is deprecated, and will removed in next GCC > release. > - see https://github.com/riscv/riscv-c-api-doc/pull/11 */ > - builtin_define ("__riscv_cmodel_pic"); >/* FALLTHROUGH. */ > > case CM_MEDANY: If there is nothing left between the case labels the fallthrough comment is no longer needed. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH 2/2] RISC-V: Implement TARGET_COMPUTE_MULTILIB
How did you test that? ../../gcc/common/config/riscv/riscv-common.cc: In function 'const char* riscv_multi_lib_check(int, const char**)': ../../gcc/common/config/riscv/riscv-common.cc:1451:11: error: bare apostrophe ''' in format [-Werror=format-diag] 1451 | "Can't find suitable multilib set for %<-march=%s%>/%<-mabi=%s%>", | ^ ../../gcc/common/config/riscv/riscv-common.cc:1451:7: note: if avoiding the apostrophe is not feasible, enclose it in a pair of '%<' and '%>' directives instead 1451 | "Can't find suitable multilib set for %<-march=%s%>/%<-mabi=%s%>", | ^ ../../gcc/common/config/riscv/riscv-common.cc: At global scope: ../../gcc/common/config/riscv/riscv-common.cc:1492:1: error: 'int riscv_check_conds(const switchstr*, int, int, const std::vector >&)' defined but not used [-Werror=unused-function] 1492 | riscv_check_conds ( | ^ ../../gcc/common/config/riscv/riscv-common.cc:1374:1: error: 'const char* find_last_appear_switch(const switchstr*, int, const char*)' defined but not used [-Werror=unused-function] 1374 | find_last_appear_switch ( | ^~~~~~~ cc1plus: all warnings being treated as errors make[3]: *** [Makefile:2442: riscv-common.o] Error 1 -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH v3] RISC-V: Add support for inlining subword atomic operations
With inline atomics it should no longer be necessary to link -latomic with -pthread. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH][pushed] Remove dead code.
On Mai 04 2022, Martin Liška wrote: > diff --git a/gcc/gengtype-state.cc b/gcc/gengtype-state.cc > index ea566af3249..dfd9ea52785 100644 > --- a/gcc/gengtype-state.cc > +++ b/gcc/gengtype-state.cc > @@ -473,43 +473,43 @@ read_a_state_token (void) > { > case 'a': > obstack_1grow (&bstring_obstack, '\a'); > - c = getc (state_file); > + getc (state_file); > break; > case 'b': > obstack_1grow (&bstring_obstack, '\b'); > - c = getc (state_file); > + getc (state_file); > break; > case 't': > obstack_1grow (&bstring_obstack, '\t'); > - c = getc (state_file); > + getc (state_file); > break; > case 'n': > obstack_1grow (&bstring_obstack, '\n'); > - c = getc (state_file); > + getc (state_file); > break; > case 'v': > obstack_1grow (&bstring_obstack, '\v'); > - c = getc (state_file); > + getc (state_file); > break; > case 'f': > obstack_1grow (&bstring_obstack, '\f'); > - c = getc (state_file); > + getc (state_file); > break; > case 'r': > obstack_1grow (&bstring_obstack, '\r'); > - c = getc (state_file); > + getc (state_file); > break; > case '"': > obstack_1grow (&bstring_obstack, '\"'); > - c = getc (state_file); > + getc (state_file); > break; > case '\\': > obstack_1grow (&bstring_obstack, '\\'); > - c = getc (state_file); > + getc (state_file); > break; > case ' ': > obstack_1grow (&bstring_obstack, ' '); > - c = getc (state_file); > + getc (state_file); > break; This is surprising. Does that mean that an escape sequence must always be followed by a character that is thrown away? state_writer::write_state_a_string surely doesn't suggest that. I suspect that this part of the code has never been exercised. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] configure: add --disable-fix-includes
On Mai 09 2022, Martin Liška wrote: > +cat >>confdefs.h <<_ACEOF > +#define FIX_INCLUDES $disable_fix_includes > +_ACEOF Where does this come from? Also, nothing uses it. > diff --git a/gcc/configure.ac b/gcc/configure.ac > index 1171c946e6e..6015e403aa9 100644 > --- a/gcc/configure.ac > +++ b/gcc/configure.ac > @@ -842,6 +842,12 @@ gather_stats=`if test $enable_gather_detailed_mem_stats > != no; then echo 1; else > AC_DEFINE_UNQUOTED(GATHER_STATISTICS, $gather_stats, > [Define to enable detailed memory allocation stats gathering.]) > > +AC_ARG_ENABLE(disable-fix-includes, > +[AS_HELP_STRING([--disable-fix-includes], > + [skip fixing of includes])], [], > +[disable_fix_includes=yes]) That creates the (non-working) options --enable-disable-fix-includes and --disable-disable-fix-includes, but not --disable-fix-includes. It also disables fixincludes by default, which doesn't look intended. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] Remove non-ANSI C macros in ansidecl.h.
The header line should probably be changed since it's no longer about ANSI or traditional C. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [PATCH] configure: add --disable-fix-includes
On Mai 11 2022, Martin Liška wrote: > @Joseph: Can you please help me why --disable-$foo disables building $foo > folder during the build? # Handle --disable- generically. for dir in $configdirs $build_configdirs $target_configdirs ; do dirname=`echo $dir | sed -e s/target-//g -e s/build-//g -e s/-/_/g` varname=`echo $dirname | sed -e s/+/_/g` if eval test x\${enable_${varname}} "=" xno ; then noconfigdirs="$noconfigdirs $dir" fi done -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: r272976 - in /trunk/gcc/ada: ChangeLog ali.adb ...
On Sep 10 2019, Arnaud Charlet wrote: > Allright, there are already similar kludges elsewhere, so I've applied the > following patch which fixes it: > > 2019-09-10 Arnaud Charlet > > * doc/install.texi: Fix syntax for html generation. > > Index: doc/install.texi > === > --- doc/install.texi(revision 275400) > +++ doc/install.texi(working copy) > @@ -2727,7 +2727,12 @@ > > @section Building the Ada compiler > > -See @ref{GNAT-prerequisite}. > +@ifnothtml > +@ref{GNAT-prerequisite}. > +@end ifnothtml > +@ifhtml > +@uref{GNAT-prerequisite}. That should be @uref{prerequisites.html#GNAT-prerequisite,,GNAT prerequisites}. Andreas. -- Andreas Schwab, SUSE Labs, sch...@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."
Re: [committed][AArch64] Add support for the SVE PCS
This breaks boostrap. /opt/gcc/gcc-20191030/Build/./prev-gcc/xgcc -B/opt/gcc/gcc-20191030/Build/./prev-gcc/ -B/usr/aarch64-suse-linux/bin/ -B/usr/aarch64-suse-linux/bin/ -B/usr/aarch64-suse-linux/lib/ -isystem /usr/aarch64-suse-linux/include -isystem /usr/aarch64-suse-linux/sys-include -fno-checking -c -g -O2 -fno-checking -gtoggle -gnatpg -gnata -W -Wall -nostdinc -I- -I. -Iada/generated -Iada -I../../gcc/ada -I../../gcc/ada/gcc-interface -Iada/libgnat -I../../gcc/ada/libgnat ../../gcc/ada/libgnat/a-charac.ads -o ada/libgnat/a-charac.o mkdir -p ada/libgnat/ +===GNAT BUG DETECTED==+ | 10.0.0 20191030 (experimental) [trunk revision 277599] (aarch64-suse-linux) | | Storage_Error stack overflow or erroneous memory access | | Error detected at system.ads:184:5 | | Please submit a bug report; see https://gcc.gnu.org/bugs/ . | | Use a subject line meaningful to you and us to track the bug.| | Include the entire contents of this bug box in the report. | | Include the exact command that you entered. | | Also include sources listed below. | +==+ Please include these source files with error report Note that list may not be accurate in some cases, so please double check that the problem can still be reproduced with the set of files listed. Consider also -gnatd.n switch (see debug.adb). ../../gcc/ada/libgnat/system.ads ../../gcc/ada/libgnat/a-charac.ads ../../gcc/ada/libgnat/ada.ads compilation abandoned make[3]: *** [../../gcc/ada/gcc-interface/Make-lang.in:144: ada/libgnat/a-charac.o] Error 1 Andreas. -- Andreas Schwab, SUSE Labs, sch...@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."
Re: [committed][AArch64] Add support for the SVE PCS
Program received signal SIGSEGV, Segmentation fault. aarch64_sve::svbool_type_p (type=) at ../../gcc/config/aarch64/aarch64-sve-builtins.cc:3239 3239 && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (abi_type)); (gdb) bt #0 aarch64_sve::svbool_type_p (type=) at ../../gcc/config/aarch64/aarch64-sve-builtins.cc:3239 #1 0x0143bf78 in aarch64_sve_argument_p ( type=, num_zr=0xe048, num_pr=0xe04c) at ../../gcc/config/aarch64/aarch64.c:1938 #2 0x01457c98 in aarch64_pass_by_reference (pcum_v=..., arg=...) at ../../gcc/config/aarch64/aarch64.c:4746 #3 0x00b9b3c8 in pass_by_reference (ca=ca@entry=0x0, arg=...) at ../../gcc/target.h:263 #4 0x0074e0a8 in default_pass_by_ref ( gnu_type=) at ../../gcc/tree.h:3391 #5 0x00760a5c in type_for_nonaliased_component_p ( gnu_type=) at ../../gcc/ada/gcc-interface/utils.c:5683 #6 0x0077c76c in create_field_decl ( name=name@entry=, type=type@entry=, record_type=record_type@entry=, size=, size@entry=, pos=pos@entry=, packed=packed@entry=0, addressable=addressable@entry=0) at ../../gcc/ada/gcc-interface/utils.c:2823 #7 0x00743f34 in gnat_to_gnu_field (gnat_field=gnat_field@entry=1692, gnu_record_type=gnu_record_type@entry=, packed=0, packed@entry=916696503, definition=definition@entry=false, debug_info_p=debug_info_p@entry=192) at ../../gcc/ada/gcc-interface/decl.c:7282 #8 0x00745af8 in components_to_record (gnat_component_list=40, gnat_record_type=0, gnat_record_type@entry=1685, gnu_field_list=gnu_field_list@entry=, gnu_record_type=, packed=916696503, packed@entry=0, definition=definition@entry=18, cancel_alignment=cancel_alignment@entry=false, all_rep=all_rep@entry=64, unchecked_union=false, unchecked_union@entry=50, artificial=true, artificial@entry=false, debug_info=true, debug_info@entry=37, maybe_unused=maybe_unused@entry=false, first_free_pos=, p_gnu_rep_list=p_gnu_rep_list@entry=0x0) at ../../gcc/ada/gcc-interface/decl.c:7596 #9 0x007334bc in gnat_to_gnu_entity (gnat_entity=, gnu_expr=gnu_expr@entry=, definition=definition@entry=false) at ada/sinfo.h:493 #10 0x0073ef68 in gnat_to_gnu_type (gnat_entity=) at ../../gcc/ada/gcc-interface/decl.c:4809 #11 0x007bb1ac in gigi (gnat_root=gnat_root@entry=2269, max_gnat_node=max_gnat_node@entry=3164, number_name=number_name@entry=1899, nodes_ptr=nodes_ptr@entry=0xbec9d010, flags_ptr=flags_ptr@entry=0x29183b0, next_node_ptr=, prev_node_ptr=, elists_ptr=, elmts_ptr=, strings_ptr=, strings_ptr@entry=0x2933540, string_chars_ptr=, string_chars_ptr@entry=0x2930e20, list_headers_ptr=, list_headers_ptr@entry=0x2924710, number_file=, file_info_ptr=, file_info_ptr@entry=0xe930, standard_boolean=, standard_integer=, standard_character=, standard_long_long_float=, standard_exception_type=, gigi_operating_mode=, gigi_operating_mode@entry=0) at ../../gcc/ada/gcc-interface/trans.c:452 #12 0x00b5a2d4 in back_end.call_back_end ( mode=mode@entry=generate_object) at ../../gcc/ada/back_end.adb:155 #13 0x00b5ba24 in gnat1drv () at ../../gcc/ada/gnat1drv.adb:1649 #14 0x0074b0e8 in gnat_parse_file () at ../../gcc/ada/gcc-interface/misc.c:119 #15 0x01096df0 in compile_file () at ../../gcc/toplev.c:456 #16 0x0071b6a4 in do_compile () at ../../gcc/toplev.c:2176 #17 toplev::main (this=this@entry=0xec48, argc=, argc@entry=37, argv=, argv@entry=0xed98) at ../../gcc/toplev.c:2311 #18 0x0071e37c in main (argc=37, argv=0xed98) at ../../gcc/main.c:39 (gdb) p abi_type $2 = (gdb) p abi_vector_types $3 = { } -- Andreas Schwab, SUSE Labs, sch...@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."
Re: [committed][AArch64] Add support for the SVE PCS
The D frontend is also broken. (gdb) r Starting program: /opt/gcc/test/Build/gcc/d21 ../../../../libphobos/libdruntime/core/sys/posix/utime.d -quiet -dumpbase utime.d -mlittle-endian -mabi=lp64 -auxbase-strip core/sys/posix/.libs/utime.o -g -O2 -fPIC -fversion=Shared -iprefix /opt/gcc/test/Build/gcc/../lib64/gcc/aarch64-suse-linux/10.0.0/ -isystem /opt/gcc/test/Build/./gcc/include -isystem /opt/gcc/test/Build/./gcc/include-fixed -nostdinc -isystem /usr/aarch64-suse-linux/include -isystem /usr/aarch64-suse-linux/sys-include -I ../../../../libphobos/libdruntime -I . Breakpoint 1, fancy_abort (file=file@entry=0x1832210 "../../gcc/poly-int.h", line=line@entry=504, function=function@entry=0x1832200 "to_constant") at ../../gcc/diagnostic.c:1649 1649 internal_error ("in %s, at %s:%d", function, trim_filename (file), line); (gdb) bt #0 fancy_abort (file=file@entry=0x1832210 "../../gcc/poly-int.h", line=line@entry=504, function=function@entry=0x1832200 "to_constant") at ../../gcc/diagnostic.c:1649 #1 0x00793278 in poly_int_pod<2u, unsigned long>::to_constant ( this=) at ../../gcc/poly-int.h:502 #2 build_frontend_type (type=) at ../../gcc/d/d-builtins.cc:204 #3 0x00794ed4 in d_build_builtins_module (m=m@entry=0x214cc90) at ../../gcc/tree.h:3382 #4 0x007a3ca8 in Compiler::loadModule (m=m@entry=0x214cc90) at ../../gcc/d/d-frontend.cc:547 #5 0x006ab040 in Module::load (loc=..., packages=, ident=0x214fce0) at ../../gcc/d/dmd/dmodule.c:291 #6 0x0069057c in Import::load (this=this@entry=0x214fd10, sc=sc@entry=0x214c250) at ../../gcc/d/dmd/dimport.c:154 #7 0x0069076c in Import::importAll (sc=0x214c250, this=0x214fd10) at ../../gcc/d/dmd/dimport.c:173 #8 Import::importAll (this=0x214fd10, sc=0x214c250) at ../../gcc/d/dmd/dimport.c:169 #9 0x00657284 in AttribDeclaration::importAll (this=, sc=0x214c250) at ../../gcc/d/dmd/attrib.c:160 #10 0x00657284 in AttribDeclaration::importAll (this=, sc=0x214c250) at ../../gcc/d/dmd/attrib.c:160 #11 0x006a8e8c in Module::importAll (this=0x214bab0) at ../../gcc/d/dmd/dmodule.c:716 #12 Module::importAll (this=0x214bab0) at ../../gcc/d/dmd/dmodule.c:655 #13 0x00690784 in Import::importAll (sc=0x213d9b0, this=0x213df60) at ../../gcc/d/dmd/dimport.c:176 #14 Import::importAll (this=0x213df60, sc=0x213d9b0) at ../../gcc/d/dmd/dimport.c:169 #15 0x00657284 in AttribDeclaration::importAll (this=, sc=0x213cc10) at ../../gcc/d/dmd/attrib.c:160 #16 0x006a8e8c in Module::importAll (this=0x213c4f0) at ../../gcc/d/dmd/dmodule.c:716 #17 Module::importAll (this=0x213c4f0) at ../../gcc/d/dmd/dmodule.c:655 #18 0x00690784 in Import::importAll (sc=0x213c390, this=0x1ec8030) at ../../gcc/d/dmd/dimport.c:176 #19 Import::importAll (this=0x1ec8030, sc=0x213c390) at ../../gcc/d/dmd/dimport.c:169 #20 0x00657284 in AttribDeclaration::importAll (this=, sc=0x1f23140) at ../../gcc/d/dmd/attrib.c:160 #21 0x006a8e8c in Module::importAll (this=0x1f1ea40) at ../../gcc/d/dmd/dmodule.c:716 #22 Module::importAll (this=0x1f1ea40) at ../../gcc/d/dmd/dmodule.c:655 #23 0x007ab114 in d_parse_file () at ../../gcc/d/d-lang.cc:1137 #24 0x00d16f18 in compile_file () at ../../gcc/toplev.c:456 #25 0x0064bdac in do_compile () at ../../gcc/toplev.c:2176 #26 toplev::main (this=this@entry=0xebf8, argc=, argc@entry=28, argv=, argv@entry=0xed48) at ../../gcc/toplev.c:2311 #27 0x0064d8ac in main (argc=28, argv=0xffffed48) at ../../gcc/main.c:39 Andreas. -- Andreas Schwab, SUSE Labs, sch...@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."
Re: [committed][AArch64] Add support for the SVE PCS
Same problem in the go frontend. (gdb) r Starting program: /opt/gcc/test/Build/gcc/go1 ../../../libgo/go/sync/atomic/doc.go ../../../libgo/go/sync/atomic/value.go -quiet -dumpbase doc.go -mlittle-endian -mabi=lp64 -auxbase-strip doc.o -g -O2 -fgo-pkgpath=sync/atomic -I . -L/opt/gcc/test/Build/./gcc -L/usr/aarch64-suse-linux/bin -L/usr/aarch64-suse-linux/lib -L/lib/../lib64 -L/usr/lib/../lib64 Program received signal SIGSEGV, Segmentation fault. aarch64_sve::svbool_type_p (type=) at ../../gcc/config/aarch64/aarch64-sve-builtins.cc:3239 3239 && TYPE_MAIN_VARIANT (type) == TYPE_MAIN_VARIANT (abi_type)); Andreas. -- Andreas Schwab, SUSE Labs, sch...@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."
Re: [committed][AArch64] Add support for the SVE PCS
On Okt 31 2019, Richard Sandiford wrote: > The SVE PCS support broke go, D and Ada because those languages don't > call TARGET_INIT_BUILTINS. We therefore ended up trying to get the > TYPE_MAIN_VARIANT of a null __SVBool_t. > > We shouldn't really need to apply TYPE_MAIN_VARIANT there anyway, > since the ABI-defined types are (and need to be) their own main > variants. This patch asserts for that instead. That doesn't fix the D frontend. Andreas. -- Andreas Schwab, SUSE Labs, sch...@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different."
Re: [PATCH] Improve unrolling heuristics, PR91975
This breaks bootstrap on powerpc: /daten/gcc/gcc-20191101/Build/./prev-gcc/xg++ -B/daten/gcc/gcc-20191101/Build/./prev-gcc/ -B/usr/powerpc64-suse-linux/bin/ -nostdinc++ -B/daten/gcc/gcc-20191101/Build/prev-powerpc64-suse-linux/libstdc++-v3/src/.libs -B/daten/gcc/gcc-20191101/Build/prev-powerpc64-suse-linux/libstdc++-v3/libsupc++/.libs -I/daten/gcc/gcc-20191101/Build/prev-powerpc64-suse-linux/libstdc++-v3/include/powerpc64-suse-linux -I/daten/gcc/gcc-20191101/Build/prev-powerpc64-suse-linux/libstdc++-v3/include -I/daten/gcc/gcc-20191101/libstdc++-v3/libsupc++ -L/daten/gcc/gcc-20191101/Build/prev-powerpc64-suse-linux/libstdc++-v3/src/.libs -L/daten/gcc/gcc-20191101/Build/prev-powerpc64-suse-linux/libstdc++-v3/libsupc++/.libs -fno-PIE -c -DIN_GCC_FRONTEND -DIN_GCC_FRONTEND -g -O2 -fno-checking -gtoggle -DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -DHAVE_CONFIG_H -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/../include -I../../gcc/../libcpp/include -I../../gcc/../libdecnumber -I../../gcc/../libdecnumber/dpd -I../libdecnumber -I../../gcc/../libbacktrace -o rs6000-c.o -MT rs6000-c.o -MMD -MP -MF ./.deps/rs6000-c.TPo ../../gcc/config/rs6000/rs6000-c.c In file included from ../../gcc/c-family/c-common.h:27, from ../../gcc/config/rs6000/rs6000-c.c:29: ../../gcc/fold-const.h: In function 'tree_node* altivec_build_resolved_builtin(tree_node**, int, const altivec_builtin_types*)': ../../gcc/fold-const.h:74:21: error: 'arg_type[1]' may be used uninitialized in this function [-Werror=maybe-uninitialized] 74 |fold_convert_loc (UNKNOWN_LOCATION, T1, T2) | ^ ../../gcc/config/rs6000/rs6000-c.c:6062:8: note: 'arg_type[1]' was declared here 6062 | tree arg_type[3]; |^~~~ In file included from ../../gcc/c-family/c-common.h:27, from ../../gcc/config/rs6000/rs6000-c.c:29: ../../gcc/fold-const.h:74:21: error: 'arg_type[2]' may be used uninitialized in this function [-Werror=maybe-uninitialized] 74 |fold_convert_loc (UNKNOWN_LOCATION, T1, T2) | ^ ../../gcc/config/rs6000/rs6000-c.c:6062:8: note: 'arg_type[2]' was declared here 6062 | tree arg_type[3]; |^~~~ cc1plus: all warnings being treated as errors Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."
Re: [FYI] pass --enable-obsolete to build configure
On Nov 02 2019, Alexandre Oliva wrote: > @@ -903,6 +904,7 @@ infodir > docdir > oldincludedir > includedir > +runstatedir > localstatedir > sharedstatedir > sysconfdir Don't add unreleated changes. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."
Re: [committed][AArch64] Add main SVE ACLE tests
I'm getting massive testsuite failures with -mabi=ilp32. There are 14922 failures for g++ and another 13594 failures for gcc. Andreas. -- Andreas Schwab, sch...@linux-m68k.org GPG Key fingerprint = 7578 EB47 D4E5 4D69 2510 2552 DF73 E780 A9DA AEC1 "And now for something completely different."