NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
port-sgimips/59925: databases/db4: doesn't build on mips1 (sgimips) again
>Number: 59925
>Category: port-sgimips
>Synopsis: databases/db4: doesn't build on mips1 (sgimips) again
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: port-sgimips-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Jan 17 04:55:00 +0000 2026
>Originator: Adrian Chadd
>Release: 11.99.4
>Organization:
>Environment:
sgimips-o2-r5000$ uname -a
NetBSD sgimips-o2-r5000.home.cacheboy.io 11.99.4 NetBSD 11.99.4 (GENERIC32_IP3x) #1: Fri Jan 16 20:00:39 PST 2026 adrian@test-3:/data/1/adrian/netbsd/netbsd-obj-sgimips/sys/arch/sgimips/compile/GENERIC32_IP3x sgimips
sgimips-o2-r5000$
>Description:
databases/db4/patches/patch-ae talks about mips-1 compile fixes, but there's nothing in that file anymore to patch for mips.
>How-To-Repeat:
/home/adrian/work/netbsd/pkgsrc/pkgsrc/databases/db4
sgimips-o2-r5000$ bmake
=> Bootstrap dependency digest>=20211023: found digest-20220214
===> Skipping vulnerability checks.
WARNING: No /home/adrian/pkg/pkgdb/pkg-vulnerabilities file found.
WARNING: To fix run: `/home/adrian/pkg/sbin/pkg_admin -K /home/adrian/pkg/pkgdb fetch-pkg-vulnerabilities'.
===> Building for db4-4.8.30nb1
./libtool --mode=compile cc -c -I. -I../dist/.. -I/usr/include -O2 -I/usr/include ../dist/../mutex/mut_tas.c
libtool: compile: cc -c -I. -I../dist/.. -O2 ../dist/../mutex/mut_tas.c -fPIC -DPIC -o .libs/mut_tas.o
/tmp//cc7hBX6Y.s: Assembler messages:
/tmp//cc7hBX6Y.s:944: Error: opcode not supported on this processor: mips1 (mips1) `sync'
*** Error code 1
Stop.
bmake: stopped making "all" in /home/adrian/work/netbsd/pkgsrc/pkgsrc/databases/db4/work/db-4.8.30/build_unix
*** Error code 1
Stop.
bmake[1]: stopped making "all" in /home/adrian/work/netbsd/pkgsrc/pkgsrc/databases/db4
>Fix:
likely need to update patch-ae to look something like this:
sgimips-o2-r5000$ diff -u dbinc/mutex_int.h.orig dbinc/mutex_int.h
--- dbinc/mutex_int.h.orig 2010-04-12 20:25:22.000000000 +0000
+++ dbinc/mutex_int.h 2026-01-17 04:47:48.036939874 +0000
@@ -714,14 +714,24 @@
!__r; \
})
+#if defined (__sparc_v9__)
#define MUTEX_UNSET(tsl) (*(tsl) = 0, MUTEX_MEMBAR(tsl))
-#define MUTEX_INIT(tsl) (MUTEX_UNSET(tsl), 0)
#define MUTEX_MEMBAR(x) \
({ __asm__ volatile ("membar #StoreStore|#StoreLoad|#LoadStore"); })
#define MEMBAR_ENTER() \
({ __asm__ volatile ("membar #StoreStore|#StoreLoad"); })
#define MEMBAR_EXIT() \
({ __asm__ volatile ("membar #StoreStore|#LoadStore"); })
+#else
+#define MUTEX_UNSET(tsl) ({ \
+ __asm__ volatile ("stbar"); \
+ *(tsl) = 0; })
+#define MUTEX_MEMBAR(x) \
+ ({ __asm__ volatile ("stbar"); })
+#define MEMBAR_ENTER()
+#define MEMBAR_EXIT()
+#endif
+#define MUTEX_INIT(tsl) (MUTEX_UNSET(tsl), 0)
#endif
#endif
@@ -778,10 +788,13 @@
static inline void
MUTEX_UNSET(tsl_t *tsl) {
__asm__ volatile(
+ " .set push \n"
+ " .set mips2 \n"
" .set noreorder \n"
" sync \n"
" sw $0, %0 \n"
" .set reorder \n"
+ " .set pop \n"
: "=m" (*tsl)
: "m" (*tsl)
: "memory");
sgimips-o2-r5000$
Home |
Main Index |
Thread Index |
Old Index