https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125413
Bug ID: 125413
Summary: Illegal operands on gdop at OpenBSD/sparc64
Product: gcc
Version: 16.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: kirill at korins dot ky
Target Milestone: ---
I try to build gcc-16 on openbsd/sparc64, it fails as:
/usr/ports/pobj/gcc-16.1.0/build-sparc64/./gcc/xgcc
-B/usr/ports/pobj/gcc-16.1.0/build-sparc64/./gcc/
-B/usr/local/sparc64-unknown-openbsd/bin/
-B/usr/local/sparc64-unknown-openbsd/lib/ -isystem
/usr/local/sparc64-unknown-openbsd/include -isystem
/usr/local/sparc64-unknown-openbsd/sys-include -fno-checking -O2 -g -O2 -O2
-g -DIN_GCC -W -Wall -Wno-error=narrowing -Wwrite-strings -Wcast-qual
-Wno-format -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition
-isystem ./include -fPIC -pthread -g -DIN_LIBGCC2 -fbuilding-libgcc
-fno-stack-protector -fPIC -pthread -I. -I. -I../.././gcc
-I/usr/ports/pobj/gcc-16.1.0/gcc-16.1.0/libgcc
-I/usr/ports/pobj/gcc-16.1.0/gcc-16.1.0/libgcc/.
-I/usr/ports/pobj/gcc-16.1.0/gcc-16.1.0/libgcc/../gcc
-I/usr/ports/pobj/gcc-16.1.0/gcc-16.1.0/libgcc/../include -o _ffssi2.o -MT
_ffssi2.o -MD -MP -MF _ffssi2.dep -DL_ffssi2 -c
/usr/ports/pobj/gcc-16.1.0/gcc-16.1.0/libgcc/libgcc2.c -fvisibility=hidden
-DHIDE_EXPORTS
In file included from ../.././gcc/tm.h:43,
from
/usr/ports/pobj/gcc-16.1.0/gcc-16.1.0/libgcc/libgcc2.c:29:
/usr/ports/pobj/gcc-16.1.0/gcc-16.1.0/libgcc/../gcc/defaults.h:1222:10:
warning: 'DEFAULT_FLAG_PIE' redefined
1222 | # define DEFAULT_FLAG_PIE 0
| ^~~~~~~~~~~~~~~~
../.././gcc/tm.h:20:10: note: this is the location of the previous definition
20 | # define DEFAULT_FLAG_PIE 2
| ^~~~~~~~~~~~~~~~
/tmp//ccaXfxrJ.s: Assembler messages:
/tmp//ccaXfxrJ.s:71: Error: Illegal operands
/tmp//ccaXfxrJ.s:72: Error: Illegal operands
xgcc: internal compiler error: Segmentation fault signal terminated program as
where content of that .s:
70 .LLM25:
71 sethi %gdop_hix22(__clz_tab), %g2
72 xor %g2, %gdop_lox10(__clz_tab), %g2
73 ldx [%l7 + %g2], %l7, %gdop(__clz_tab)
74 ldub [%l7+%i0], %i0
I think this is a regression from
https://github.com/gcc-mirror/gcc/commit/d37f4b2a1acda7c9ee93ad370ece5292ee051b7a