[patch] firefox35/firefox3 on amd64 security/nss/lib/freebl

Andreas Tobler andreast-list at fgznet.ch
Sun Aug 16 20:06:29 UTC 2009


Hi,

the attached patch enables the -D_X86_ switch on amd64 platforms. The 
code inside this directory mentions to use this switch on Intel procs. 
But the filter in the Makefile only recognizes x86 and x86_64 platforms 
and not fbsd like amd64 platforms.

The patch should apply for both foxes, 3.0.13 and 3.5.

Unfortunately the binary does not work on amd64 here. Need to test why.

I see the also a 'bad system call' on powerpc. Another patch in the 
pipeline for building.

It is not due to the patch, it does coredump with and without patch:

Program received signal SIGSYS, Bad system call.
[Switching to Thread 808744b40 (LWP 100165)]
0x00000008049922ac in ksem_init () from /lib/libc.so.7
(gdb) bt
#0  0x00000008049922ac in ksem_init () from /lib/libc.so.7
#1  0x000000080498662f in sem_init () from /lib/libc.so.7
#2  0x000000080106be0f in nsCanvasBidiProcessor::~nsCanvasBidiProcessor ()
    from /usr/local/lib/firefox3/libxul.so
#3  0x000000080106be88 in nsCanvasBidiProcessor::~nsCanvasBidiProcessor ()
    from /usr/local/lib/firefox3/libxul.so
#4  0x0000000801060a93 in nsCanvasBidiProcessor::~nsCanvasBidiProcessor ()
    from /usr/local/lib/firefox3/libxul.so
#5  0x000000080106274f in nsCanvasBidiProcessor::~nsCanvasBidiProcessor ()
    from /usr/local/lib/firefox3/libxul.so
#6  0x00000008014ecc22 in NS_GetComponentManager_P ()
    from /usr/local/lib/firefox3/libxul.so
#7  0x00000008014b809d in JNIEnv_::CallStaticObjectMethod ()
    from /usr/local/lib/firefox3/libxul.so
#8  0x00000008014ed2bd in NS_GetComponentManager_P ()
    from /usr/local/lib/firefox3/libxul.so
#9  0x0000000801e54f5a in _pt_root () from /usr/local/lib/libplds4.so.1
#10 0x0000000804b8b4b1 in pthread_getprio () from /lib/libthr.so.3
#11 0x0000000000000000 in ?? ()
Error accessing memory address 0x7ffffe5f4000: Bad address.
(gdb)


Danke,
Andreas
-------------- next part --------------
--- security/nss/lib/freebl/Makefile.orig	2009-08-16 21:20:19.000000000 +0200
+++ security/nss/lib/freebl/Makefile	2009-08-16 21:20:34.000000000 +0200
@@ -79,7 +79,7 @@
 endif
 # some code wants _X86_ defined for intel CPUs.
 # coreconf does this for windows, but not for Linux, FreeBSD, etc.
-ifeq (,$(filter-out x86 x86_64,$(CPU_ARCH)))
+ifeq (,$(filter-out amd64 x86 x86_64,$(CPU_ARCH)))
 ifneq (,$(filter-out WIN%,$(OS_TARGET)))
 	DEFINES += -D_X86_
 endif


More information about the freebsd-gecko mailing list