Closed
Bug 529790
Opened 15 years ago
Closed 1 year ago
Support NSS on FreeBSD ia64
Categories
(NSS :: Build, enhancement, P5)
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: mexas, Unassigned)
References
()
Details
Attachments
(1 file)
1.49 KB,
patch
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (X11; U; FreeBSD ia64; en-US; rv:1.9.0.15) Gecko/2009111317 Firefox/3.0.15
Build Identifier: ia64-portbld-freebsd9.0 - nss-3.12.4_2
On FreeBSD 9.0-current ia64 port security/nss fails to build with
Error: Unknown opcode `bswap r14'
This is a regression, last working vesion is nss-3.11.9_3.
see full build log at http://seis.bris.ac.uk/~mexas/nss_build_log
the extract is below:
gmake[3]: Entering directory `/usr/ports/security/nss/work/nss-3.12.4/mozilla/security/nss/lib/freebl'
cc -o FreeBSD9.0_OPT.OBJ/FreeBSD_SINGLE_SHLIB/freeblver.o -c -O2 -pipe -I/usr/local/include/nspr -L/usr/local/lib -fno-strict-aliasing -O -fPIC -ansi -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_ENABLE_ECC -DUSE_UTIL_DIRECTLY -I../../dist/FreeBSD9.0_OPT.OBJ/include -I../../dist/public/ -I../../dist/private/ -O -fPIC -ansi -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_ENABLE_ECC -DUSE_UTIL_DIRECTLY -I../../../dist/FreeBSD9.0_OPT.OBJ/include -I../../../dist/public/ -I../../../dist/private/ -O -fPIC -ansi -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -DXP_UNIX -DSHLIB_SUFFIX=\"so.1\" -DSHLIB_PREFIX=\"lib\" -DSHLIB_VERSION=\"3\" -DSOFTOKEN_SHLIB_VERSION=\"3\" -DRIJNDAEL_INCLUDE_TABLES -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_ENABLE_ECC -DUSE_UTIL_DIRECTLY -DNSS_X86_OR_X64 -DNSS_X86 -DMP_API_COMPATIBLE -I../../../../dist/FreeBSD9.0_OPT.OBJ/include -I../../../../dist/public/nss -I../../../../dist/private/nss -Impi -Iecl -O -fPIC -ansi -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -DXP_UNIX -DSHLIB_SUFFIX=\"so.1\" -DSHLIB_PREFIX=\"lib\" -DSHLIB_VERSION=\"3\" -DSOFTOKEN_SHLIB_VERSION=\"3\" -DRIJNDAEL_INCLUDE_TABLES -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_ENABLE_ECC -DUSE_UTIL_DIRECTLY -DNSS_X86_OR_X64 -DNSS_X86 -DMP_API_COMPATIBLE -I../../../../dist/FreeBSD9.0_OPT.OBJ/include -I../../../../dist/public/nss -I../../../../dist/private/nss -Impi -Iecl freeblver.c
cc -o FreeBSD9.0_OPT.OBJ/FreeBSD_SINGLE_SHLIB/ldvector.o -c -O2 -pipe -I/usr/local/include/nspr -L/usr/local/lib -fno-strict-aliasing -O -fPIC -ansi -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_ENABLE_ECC -DUSE_UTIL_DIRECTLY -I../../dist/FreeBSD9.0_OPT.OBJ/include -I../../dist/public/ -I../../dist/private/ -O -fPIC -ansi -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_ENABLE_ECC -DUSE_UTIL_DIRECTLY -I../../../dist/FreeBSD9.0_OPT.OBJ/include -I../../../dist/public/ -I../../../dist/private/ -O -fPIC -ansi -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -DXP_UNIX -DSHLIB_SUFFIX=\"so.1\" -DSHLIB_PREFIX=\"lib\" -DSHLIB_VERSION=\"3\" -DSOFTOKEN_SHLIB_VERSION=\"3\" -DRIJNDAEL_INCLUDE_TABLES -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_ENABLE_ECC -DUSE_UTIL_DIRECTLY -DNSS_X86_OR_X64 -DNSS_X86 -DMP_API_COMPATIBLE -I../../../../dist/FreeBSD9.0_OPT.OBJ/include -I../../../../dist/public/nss -I../../../../dist/private/nss -Impi -Iecl -O -fPIC -ansi -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -DXP_UNIX -DSHLIB_SUFFIX=\"so.1\" -DSHLIB_PREFIX=\"lib\" -DSHLIB_VERSION=\"3\" -DSOFTOKEN_SHLIB_VERSION=\"3\" -DRIJNDAEL_INCLUDE_TABLES -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_ENABLE_ECC -DUSE_UTIL_DIRECTLY -DNSS_X86_OR_X64 -DNSS_X86 -DMP_API_COMPATIBLE -I../../../../dist/FreeBSD9.0_OPT.OBJ/include -I../../../../dist/public/nss -I../../../../dist/private/nss -Impi -Iecl ldvector.c
cc -o FreeBSD9.0_OPT.OBJ/FreeBSD_SINGLE_SHLIB/sysrand.o -c -O2 -pipe -I/usr/local/include/nspr -L/usr/local/lib -fno-strict-aliasing -O -fPIC -ansi -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_ENABLE_ECC -DUSE_UTIL_DIRECTLY -I../../dist/FreeBSD9.0_OPT.OBJ/include -I../../dist/public/ -I../../dist/private/ -O -fPIC -ansi -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_ENABLE_ECC -DUSE_UTIL_DIRECTLY -I../../../dist/FreeBSD9.0_OPT.OBJ/include -I../../../dist/public/ -I../../../dist/private/ -O -fPIC -ansi -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -DXP_UNIX -DSHLIB_SUFFIX=\"so.1\" -DSHLIB_PREFIX=\"lib\" -DSHLIB_VERSION=\"3\" -DSOFTOKEN_SHLIB_VERSION=\"3\" -DRIJNDAEL_INCLUDE_TABLES -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_ENABLE_ECC -DUSE_UTIL_DIRECTLY -DNSS_X86_OR_X64 -DNSS_X86 -DMP_API_COMPATIBLE -I../../../../dist/FreeBSD9.0_OPT.OBJ/include -I../../../../dist/public/nss -I../../../../dist/private/nss -Impi -Iecl -O -fPIC -ansi -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -DXP_UNIX -DSHLIB_SUFFIX=\"so.1\" -DSHLIB_PREFIX=\"lib\" -DSHLIB_VERSION=\"3\" -DSOFTOKEN_SHLIB_VERSION=\"3\" -DRIJNDAEL_INCLUDE_TABLES -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_ENABLE_ECC -DUSE_UTIL_DIRECTLY -DNSS_X86_OR_X64 -DNSS_X86 -DMP_API_COMPATIBLE -I../../../../dist/FreeBSD9.0_OPT.OBJ/include -I../../../../dist/public/nss -I../../../../dist/private/nss -Impi -Iecl sysrand.c
cc -o FreeBSD9.0_OPT.OBJ/FreeBSD_SINGLE_SHLIB/sha_fast.o -c -O2 -pipe -I/usr/local/include/nspr -L/usr/local/lib -fno-strict-aliasing -O -fPIC -ansi -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_ENABLE_ECC -DUSE_UTIL_DIRECTLY -I../../dist/FreeBSD9.0_OPT.OBJ/include -I../../dist/public/ -I../../dist/private/ -O -fPIC -ansi -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -DXP_UNIX -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_ENABLE_ECC -DUSE_UTIL_DIRECTLY -I../../../dist/FreeBSD9.0_OPT.OBJ/include -I../../../dist/public/ -I../../../dist/private/ -O -fPIC -ansi -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -DXP_UNIX -DSHLIB_SUFFIX=\"so.1\" -DSHLIB_PREFIX=\"lib\" -DSHLIB_VERSION=\"3\" -DSOFTOKEN_SHLIB_VERSION=\"3\" -DRIJNDAEL_INCLUDE_TABLES -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_ENABLE_ECC -DUSE_UTIL_DIRECTLY -DNSS_X86_OR_X64 -DNSS_X86 -DMP_API_COMPATIBLE -I../../../../dist/FreeBSD9.0_OPT.OBJ/include -I../../../../dist/public/nss -I../../../../dist/private/nss -Impi -Iecl -O -fPIC -ansi -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD_FLOCK -DXP_UNIX -DSHLIB_SUFFIX=\"so.1\" -DSHLIB_PREFIX=\"lib\" -DSHLIB_VERSION=\"3\" -DSOFTOKEN_SHLIB_VERSION=\"3\" -DRIJNDAEL_INCLUDE_TABLES -UDEBUG -DNDEBUG -D_THREAD_SAFE -D_REENTRANT -DNSS_ENABLE_ECC -DUSE_UTIL_DIRECTLY -DNSS_X86_OR_X64 -DNSS_X86 -DMP_API_COMPATIBLE -I../../../../dist/FreeBSD9.0_OPT.OBJ/include -I../../../../dist/public/nss -I../../../../dist/private/nss -Impi -Iecl sha_fast.c
{standard input}: Assembler messages:
{standard input}:63: Error: Unknown opcode `bswap r14'
{standard input}:98: Error: Unknown opcode `bswap r14'
{standard input}:135: Error: Unknown opcode `bswap r14'
{standard input}:171: Error: Unknown opcode `bswap r14'
{standard input}:207: Error: Unknown opcode `bswap r14'
{standard input}:243: Error: Unknown opcode `bswap r14'
{standard input}:278: Error: Unknown opcode `bswap r14'
{standard input}:315: Error: Unknown opcode `bswap r14'
{standard input}:351: Error: Unknown opcode `bswap r14'
{standard input}:387: Error: Unknown opcode `bswap r14'
{standard input}:423: Error: Unknown opcode `bswap r14'
{standard input}:459: Error: Unknown opcode `bswap r14'
{standard input}:495: Error: Unknown opcode `bswap r14'
{standard input}:531: Error: Unknown opcode `bswap r14'
{standard input}:567: Error: Unknown opcode `bswap r14'
{standard input}:603: Error: Unknown opcode `bswap r14'
{standard input}:3585: Error: Unknown opcode `bswap r14'
{standard input}:3591: Error: Unknown opcode `bswap r35'
{standard input}:3605: Error: Unknown opcode `bswap r14'
{standard input}:3615: Error: Unknown opcode `bswap r14'
{standard input}:3625: Error: Unknown opcode `bswap r14'
{standard input}:3635: Error: Unknown opcode `bswap r14'
{standard input}:3645: Error: Unknown opcode `bswap r14'
gmake[3]: *** [FreeBSD9.0_OPT.OBJ/FreeBSD_SINGLE_SHLIB/sha_fast.o] Error 1
gmake[3]: Leaving directory `/usr/ports/security/nss/work/nss-3.12.4/mozilla/security/nss/lib/freebl'
gmake[2]: *** [libs] Error 2
gmake[2]: Leaving directory `/usr/ports/security/nss/work/nss-3.12.4/mozilla/security/nss/lib/freebl'
gmake[1]: *** [libs] Error 2
gmake[1]: Leaving directory `/usr/ports/security/nss/work/nss-3.12.4/mozilla/security/nss/lib'
gmake: *** [libs] Error 2
*** Error code 1
many thanks
anton
anton
Reproducible: Always
Steps to Reproduce:
1. get a FreeBSD current ia64 box
2. cd <portsdir>/secirity/nss
3. make
Actual Results:
Error: Unknown opcode `bswap r14'
Expected Results:
success
Updated•15 years ago
|
Assignee: nobody → nobody
Component: Security → Build
Product: Core → NSS
QA Contact: toolkit → build
Comment 1•15 years ago
|
||
NSS doesn't support FreeBSD for IA64, yet. It only supports Alpha and x86.
Reporter | ||
Comment 2•15 years ago
|
||
Marcel Moolenar provided a patch, builds fine now:
FreeBSD 9.0-CURRENT ia64 -> nss-3.12.4_2
Comment 3•15 years ago
|
||
Clearly, as seen in the build log above, NSS was being built for X86 or
X86_64, not for IA64.
If NSS ever did build on FreeBSD for IA64, it was accidental, I think.
NSS has never knowingly supported IA64 on FreeBSD, that I can recall.
> Marcel Moolenar provided a patch, builds fine now:
If someone will attach the patch here, as a CVS diff against the CVS trunk,
I will look at it. It probably will have to wait until 3.13, but maybe not.
If the patch can be done entirely within security/coreconf/FreeBSD.mk, then
it probably won't have to wait.
Severity: normal → enhancement
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: nss regression on FreeBSD ia64: Error: Unknown opcode `bswap r14'; last version to build ok was nss-3.11.9_3 → Support NSS on FreeBSD ia64
Version: unspecified → 3.12.4
Reporter | ||
Comment 4•15 years ago
|
||
here it is:
--- ../../security/coreconf/FreeBSD.mk.orig 2008-07-12 07:28:59.000000000 -0700
+++ ../../security/coreconf/FreeBSD.mk 2009-11-19 19:29:23.000000000 -0800
@@ -37,16 +37,33 @@
include $(CORE_DEPTH)/coreconf/UNIX.mk
-DEFAULT_COMPILER = gcc
-CC = gcc
-CCC = g++
+DEFAULT_COMPILER = $(CC)
+CC ?= gcc
+CCC = $(CXX)
RANLIB = ranlib
ifeq ($(OS_TEST),alpha)
CPU_ARCH = alpha
else
+ifeq ($(OS_TEST),powerpc)
+CPU_ARCH = powerpc
+else
+ifeq ($(OS_TEST),sparc64)
+CPU_ARCH = sparc64
+USE_64 = 1
+else
+ifeq ($(OS_TEST),ia64)
+CPU_ARCH = ia64
+USE_64 = 1
+else
+ifeq ($(OS_TEST),amd64)
+USE_64 = 1
+endif
CPU_ARCH = x86
endif
+endif
+endif
+endif
OS_CFLAGS = $(DSO_CFLAGS) -ansi -Wall -Wno-switch -DFREEBSD -DHAVE_STRERROR -DHAVE_BSD
_FLOCK
@@ -60,20 +77,18 @@
USE_PTHREADS = 1
DEFINES += -D_THREAD_SAFE -D_REENTRANT
OS_LIBS += -pthread
-DSO_LDOPTS += -pthread
+DSO_LDOPTS += $(BSD_LDOPTS)
endif
ARCH = freebsd
-MOZ_OBJFORMAT := $(shell test -x /usr/bin/objformat && /usr/bin/objformat || echo elf)
+DLL_SUFFIX = so.1
-ifeq ($(MOZ_OBJFORMAT),elf)
-DLL_SUFFIX = so
+ifneq (,$(filter alpha ia64,$(OS_TEST)))
+MKSHLIB = $(CC) -Wl,-Bsymbolic -lc $(DSO_LDOPTS)
else
-DLL_SUFFIX = so.1.0
+MKSHLIB = $(CC) -Wl,-Bsymbolic $(DSO_LDOPTS)
endif
-
-MKSHLIB = $(CC) $(DSO_LDOPTS)
ifdef MAPFILE
MKSHLIB += -Wl,--version-script,$(MAPFILE)
endif
@@ -82,4 +97,5 @@
G++INCLUDES = -I/usr/include/g++
-INCLUDES += -I/usr/X11R6/include
+USE_SYSTEM_ZLIB = 1
+ZLIB_LIBS = -lz
Comment 5•15 years ago
|
||
Could you attach that as an attachment, rather than pasting it inline?
Thanks.
Reporter | ||
Comment 6•15 years ago
|
||
this patch provided by Marcel Moolenaar seems to work.
I've built nss successfully and use it with kazehakase (browser) - so
far - no problems
Comment 7•15 years ago
|
||
Comment on attachment 414009 [details] [diff] [review]
patch to build nss on ia64 freebsd
Wan-Teh, you've done nearly all of the work for NSS on FreeBSD.
Would you care to review this?
Attachment #414009 -
Flags: review?(wtc)
Comment 8•15 years ago
|
||
Comment on attachment 414009 [details] [diff] [review]
patch to build nss on ia64 freebsd
Some of these changes we should take, some of these changes
should remain in the FreeBSD ports package system.
>-DEFAULT_COMPILER = gcc
>-CC = gcc
>-CCC = g++
>+DEFAULT_COMPILER = $(CC)
>+CC ?= gcc
>+CCC = $(CXX)
These should remain in FreeBSD ports.
> ifeq ($(OS_TEST),alpha)
> CPU_ARCH = alpha
> else
>+ifeq ($(OS_TEST),powerpc)
>+CPU_ARCH = powerpc
>+else
>+ifeq ($(OS_TEST),sparc64)
>+CPU_ARCH = sparc64
>+USE_64 = 1
>+else
>+ifeq ($(OS_TEST),ia64)
>+CPU_ARCH = ia64
>+USE_64 = 1
>+else
>+ifeq ($(OS_TEST),amd64)
>+USE_64 = 1
>+endif
> CPU_ARCH = x86
> endif
>+endif
>+endif
>+endif
These are OK, but there is a better way to do
this. We should initialize CPU_ARCH as follows:
CPU_ARCH = $(OS_TEST)
and then add a special case for x86.
The USE_64=1 changes probably should remain in
FreeBSD ports. It depends on whether FreeBSD
supports building 32-bit binaries on sparc64,
ia64, and amd64.
>-DSO_LDOPTS += -pthread
>+DSO_LDOPTS += $(BSD_LDOPTS)
This change should remain in FreeBSD ports if
BSD_LDOPTS is an environment variable that is not
set in mozilla/security/coreconf/FreeBSD.mk.
>-MOZ_OBJFORMAT := $(shell test -x /usr/bin/objformat && /usr/bin/objformat || echo elf)
>+DLL_SUFFIX = so.1
>
>-ifeq ($(MOZ_OBJFORMAT),elf)
>-DLL_SUFFIX = so
>+ifneq (,$(filter alpha ia64,$(OS_TEST)))
>+MKSHLIB = $(CC) -Wl,-Bsymbolic -lc $(DSO_LDOPTS)
> else
>-DLL_SUFFIX = so.1.0
>+MKSHLIB = $(CC) -Wl,-Bsymbolic $(DSO_LDOPTS)
> endif
>-
>-MKSHLIB = $(CC) $(DSO_LDOPTS)
> ifdef MAPFILE
> MKSHLIB += -Wl,--version-script,$(MAPFILE)
> endif
>@@ -82,4 +97,5 @@
>
> G++INCLUDES = -I/usr/include/g++
>
>-INCLUDES += -I/usr/X11R6/include
>+USE_SYSTEM_ZLIB = 1
>+ZLIB_LIBS = -lz
It should be OK to take these changes except the -Wl,-Bsymbolic
changes.
Comment 9•8 years ago
|
||
I'd suggest closing this WONTFIX. FreeBSD dropped support for IA64 in 11.0 and it doesn't have a future.
Updated•2 years ago
|
Severity: normal → S3
Updated•1 year ago
|
Severity: S3 → N/A
Status: NEW → RESOLVED
Closed: 1 year ago
Priority: -- → P5
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•