sim: mips/ppc/riscv: re-add AC_CANONICAL_SYSTEM [PR sim/29439]
Commit Message
These configure scripts check $target and change behavior. They
shouldn't be doing that, but until we can rework the sim to change
behavior based on the input ELF, restore AC_CANONICAL_SYSTEM to
these so that $target is correctly populated.
This was lost in the d3562f83a7b8a1ae6e333cd5561419d3da18fcb4
("sim: unify toolchain probing logic") refactor as the logic was
hoisted up to the common code. But the fact the vars weren't
passed down to the sub-configure scripts was missed.
Bug: https://sourceware.org/PR29439
---
sim/mips/configure | 158 +++++++++++++++++++++++++++++++++++++++++
sim/mips/configure.ac | 4 ++
sim/ppc/configure | 129 +++++++++++++++++++++++++++++++++
sim/ppc/configure.ac | 4 ++
sim/riscv/configure | 158 +++++++++++++++++++++++++++++++++++++++++
sim/riscv/configure.ac | 4 ++
6 files changed, 457 insertions(+)
Comments
On Sun, 2022-10-23 22:56:47 +0545, Mike Frysinger via Gdb-patches <gdb-patches@sourceware.org> wrote:
> These configure scripts check $target and change behavior. They
> shouldn't be doing that, but until we can rework the sim to change
> behavior based on the input ELF, restore AC_CANONICAL_SYSTEM to
> these so that $target is correctly populated.
>
> This was lost in the d3562f83a7b8a1ae6e333cd5561419d3da18fcb4
> ("sim: unify toolchain probing logic") refactor as the logic was
> hoisted up to the common code. But the fact the vars weren't
> passed down to the sub-configure scripts was missed.
>
> Bug: https://sourceware.org/PR29439
This fix seems to have a side effect:
.../configure --prefix=/tmp/gdb-mipsisa64sb1-elf --target=mipsisa64sb1-elf
make V=1 all-gdb
[...]
[all 2023-03-03 21:07:56] /usr/lib/gcc-snapshot/bin/gcc -DHAVE_CONFIG_H -DWITH_TARGET_WORD_BITSIZE=64 -DWITH_TARGET_WORD_MSB=63 -DWITH_FLOATING_POINT=HARD_FLOATING_POINT -DWITH_TARGET_FLOATING_POINT_BITSIZE=64 -DWITH_HW=1 -DHAVE_DV_SOCKSER -DDEFAULT_INLINE=0 -Wall -Wdeclaration-after-statement -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wno-error=maybe-uninitialized -Wmissing-declarations -Wmissing-prototypes -Wdeclaration-after-statement -Wmissing-parameter-type -Wpointer-sign -Wold-style-declaration -Werror -I. -I/var/lib/laminar/run/gdb-mipsisa64sb1-elf/51/binutils-gdb/sim/mips -I../common -I/var/lib/laminar/run/gdb-mipsisa64sb1-elf/51/binutils-gdb/sim/mips/../common -I../../include -I/var/lib/laminar/run/gdb-mipsisa64sb1-elf/51/binutils-gdb/sim/mips/../../include -I../../bfd -I/var/lib/laminar/run/gdb-mipsisa64sb1-elf/51/binutils-gdb/sim/mips/../../bfd -I../../opcodes -I/var/lib/laminar/run/gdb-mipsisa64sb1-elf/51/binutils-gdb/sim/mips/../../opcodes -I../.. -I/var/lib/laminar/run/gdb-mipsisa64sb1-elf/51/binutils-gdb/sim/mips/../../gnulib/import -I../../gnulib/import -DTARGET_ENABLE_FR=1 -DMIPS_MACH_DEFAULT=bfd_mach_mips_sb1 -g -O2 -c -o semantics.o -MT semantics.o -MMD -MP -MF .deps/semantics.Tpo semantics.c
[all 2023-03-03 21:07:56] sb1.igen: In function 'semantic_PABSDIFC_fmt_MDMX':
[all 2023-03-03 21:07:56] sb1.igen:178:21: error: unknown conversion type character 'v' in format [-Werror=format=]
[all 2023-03-03 21:07:56] 178 | check_mdmx (SD_, instruction_0);
[all 2023-03-03 21:07:56] | ^~~~~~~~~~~~~~
[all 2023-03-03 21:07:56] sb1.igen:178:21: error: format '%ld' expects argument of type 'long int', but argument 9 has type 'unsigned int' [-Werror=format=]
[all 2023-03-03 21:07:56] 178 | check_mdmx (SD_, instruction_0);
[all 2023-03-03 21:07:56] | ^~~~~~~~~~~~~~
[all 2023-03-03 21:07:56] sb1.igen:178:21: error: too many arguments for format [-Werror=format-extra-args]
[all 2023-03-03 21:08:05] cc1: all warnings being treated as errors
Sorry for taking so long to report it.
MfG, JBG
--
On 03 Mar 2023 22:27, Jan-Benedict Glaw wrote:
> On Sun, 2022-10-23 22:56:47 +0545, Mike Frysinger via Gdb-patches <gdb-patches@sourceware.org> wrote:
> > These configure scripts check $target and change behavior. They
> > shouldn't be doing that, but until we can rework the sim to change
> > behavior based on the input ELF, restore AC_CANONICAL_SYSTEM to
> > these so that $target is correctly populated.
> >
> > This was lost in the d3562f83a7b8a1ae6e333cd5561419d3da18fcb4
> > ("sim: unify toolchain probing logic") refactor as the logic was
> > hoisted up to the common code. But the fact the vars weren't
> > passed down to the sub-configure scripts was missed.
> >
> > Bug: https://sourceware.org/PR29439
>
> This fix seems to have a side effect:
>
> .../configure --prefix=/tmp/gdb-mipsisa64sb1-elf --target=mipsisa64sb1-elf
>
> make V=1 all-gdb
> [...]
> [all 2023-03-03 21:07:56] /usr/lib/gcc-snapshot/bin/gcc -DHAVE_CONFIG_H -DWITH_TARGET_WORD_BITSIZE=64 -DWITH_TARGET_WORD_MSB=63 -DWITH_FLOATING_POINT=HARD_FLOATING_POINT -DWITH_TARGET_FLOATING_POINT_BITSIZE=64 -DWITH_HW=1 -DHAVE_DV_SOCKSER -DDEFAULT_INLINE=0 -Wall -Wdeclaration-after-statement -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wno-error=maybe-uninitialized -Wmissing-declarations -Wmissing-prototypes -Wdeclaration-after-statement -Wmissing-parameter-type -Wpointer-sign -Wold-style-declaration -Werror -I. -I/var/lib/laminar/run/gdb-mipsisa64sb1-elf/51/binutils-gdb/sim/mips -I../common -I/var/lib/laminar/run/gdb-mipsisa64sb1-elf/51/binutils-gdb/sim/mips/../common -I../../include -I/var/lib/laminar/run/gdb-mipsisa64sb1-elf/51/binutils-gdb/sim/mips/../../include -I../../bfd -I/var/lib/laminar/run/gdb-mipsisa64sb1-elf/51/binutils-gdb/sim/mips/../../bfd -I../../opcodes -I/var/lib/laminar/run/gdb-mipsisa64sb1-elf/51/binutils-gdb/sim/mips/../../opcodes -I../.. -I/var/lib/laminar/run/gdb-mipsisa64sb1-elf/51/binutils-gdb/sim/mips/../../gnulib/import -I../../gnulib/import -DTARGET_ENABLE_FR=1 -DMIPS_MACH_DEFAULT=bfd_mach_mips_sb1 -g -O2 -c -o semantics.o -MT semantics.o -MMD -MP -MF .deps/semantics.Tpo semantics.c
> [all 2023-03-03 21:07:56] sb1.igen: In function 'semantic_PABSDIFC_fmt_MDMX':
> [all 2023-03-03 21:07:56] sb1.igen:178:21: error: unknown conversion type character 'v' in format [-Werror=format=]
> [all 2023-03-03 21:07:56] 178 | check_mdmx (SD_, instruction_0);
> [all 2023-03-03 21:07:56] | ^~~~~~~~~~~~~~
> [all 2023-03-03 21:07:56] sb1.igen:178:21: error: format '%ld' expects argument of type 'long int', but argument 9 has type 'unsigned int' [-Werror=format=]
> [all 2023-03-03 21:07:56] 178 | check_mdmx (SD_, instruction_0);
> [all 2023-03-03 21:07:56] | ^~~~~~~~~~~~~~
> [all 2023-03-03 21:07:56] sb1.igen:178:21: error: too many arguments for format [-Werror=format-extra-args]
> [all 2023-03-03 21:08:05] cc1: all warnings being treated as errors
i doubt this patch is related to that failure. seems likely sb1.igen
has always been broken.
-mike
@@ -2,6 +2,10 @@ dnl Process this file with autoconf to produce a configure script.
AC_INIT(Makefile.in)
AC_CONFIG_MACRO_DIRS([../m4 ../.. ../../config])
+dnl The sim shouldn't be checking $target and changing behavior. But it is,
+dnl and until we clean that up, we need to expand --target for use below.
+AC_CANONICAL_SYSTEM
+
# DEPRECATED
#
# Instead of defining a `subtarget' macro, code should be checking
@@ -5,6 +5,10 @@ AC_CONFIG_MACRO_DIRS([../.. ../../config])
AC_PROG_INSTALL
AC_PROG_CC
+dnl The sim shouldn't be checking $target and changing behavior. But it is,
+dnl and until we clean that up, we need to expand --target for use below.
+AC_CANONICAL_SYSTEM
+
AC_ARG_ENABLE(sim-bitsize,
[ --enable-sim-bitsize=n Specify target bitsize (32 or 64).],
[case "${enableval}" in
@@ -2,6 +2,10 @@ dnl Process this file with autoconf to produce a configure script.
AC_INIT(Makefile.in)
AC_CONFIG_MACRO_DIRS([../m4 ../.. ../../config])
+dnl The sim shouldn't be checking $target and changing behavior. But it is,
+dnl and until we clean that up, we need to expand --target for use below.
+AC_CANONICAL_SYSTEM
+
# Select the bitsize of the target.
riscv_addr_bitsize=
case "${target}" in