? moz/zipped/LINUXGCCSinc.zip ? moz/zipped/LINUXGCCSlib.zip ? moz/zipped/LINUXGCCSruntime.zip Index: boost/boost_1_27_0.patch =================================================================== RCS file: /cvs/external/boost/boost_1_27_0.patch,v retrieving revision 1.4.10.1 diff -u -r1.4.10.1 boost_1_27_0.patch --- boost/boost_1_27_0.patch 15 Aug 2003 11:47:26 -0000 1.4.10.1 +++ boost/boost_1_27_0.patch 25 Aug 2003 11:28:16 -0000 @@ -157,7 +157,7 @@ --- misc/build/boost_1_27_0/boost/detail/linux_atomic.h Wed May 7 11:32:48 2003 *************** *** 0 **** ---- 1,181 ---- +--- 1,119 ---- + #ifndef _LINUX_ATOMIC_H_ + #define _LINUX_ATOMIC_H_ + @@ -268,75 +268,24 @@ + __CS_LOOP(old_val, new_val, v, 1, "sr"); + return new_val; +} -+#elif defined ( SPARC ) -+ -+ -+#define atomic_set(v, i) (((v)->aVal) = ((i) << 8)) -+ -+static __inline__ int __atomic_add(int i, atomic_t *v) -+{ -+ register volatile int *ptr asm("g1"); -+ register int increment asm("g2"); -+ -+ ptr = &v->aVal; -+ increment = i; -+ -+ __asm__ __volatile__( -+ "mov %%o7, %%g4\n\t" -+ "call ___atomic_add\n\t" -+ " add %%o7, 8, %%o7\n" -+ : "=&r" (increment) -+ : "0" (increment), "r" (ptr) -+ : "g3", "g4", "g7", "memory", "cc"); -+ -+ return increment; -+} -+ -+static __inline__ int __atomic_sub(int i, atomic_t *v) -+{ -+ register volatile int *ptr asm("g1"); -+ register int increment asm("g2"); -+ -+ ptr = &v->aVal; -+ increment = i; -+ -+ __asm__ __volatile__( -+ "mov %%o7, %%g4\n\t" -+ "call ___atomic_sub\n\t" -+ " add %%o7, 8, %%o7\n" -+ : "=&r" (increment) -+ : "0" (increment), "r" (ptr) -+ : "g3", "g4", "g7", "memory", "cc"); -+ -+ return increment; -+} -+ -+#define atomic_add(i, v) ((void)__atomic_add((i), (v))) -+#define atomic_sub(i, v) ((void)__atomic_sub((i), (v))) -+ -+#define atomic_dec_return(v) __atomic_sub(1, (v)) -+#define atomic_inc_return(v) __atomic_add(1, (v)) -+ -+#define atomic_sub_and_test(i, v) (__atomic_sub((i), (v)) == 0) -+#define atomic_dec_and_test(v) (__atomic_sub(1, (v)) == 0) -+ -+#define atomic_inc(v) ((void)__atomic_add(1, (v))) -+#define atomic_dec(v) ((void)__atomic_sub(1, (v))) -+ -+#define atomic_add_negative(i, v) (__atomic_add((i), (v)) < 0) -+ -+/* Atomic operations are already serializing */ -+#define smp_mb__before_atomic_dec() barrier() -+#define smp_mb__after_atomic_dec() barrier() -+#define smp_mb__before_atomic_inc() barrier() -+#define smp_mb__after_atomic_inc() barrier() -+ -+#endif + #else ++ + + #error - need to define your processors atomic inc and dec here + + #endif + + ++ + #endif ++--- misc/build/boost_1_27_0/boost/detail/atomic_count.hpp.orig 2002-02-08 02:26:13.000000000 +1100 +++++ misc/build/boost_1_27_0/boost/detail/atomic_count.hpp 2003-08-02 22:38:16.000000000 +1000 ++@@ -93,7 +93,7 @@ ++ ++ #include ++ ++-#elif defined(linux) || defined(__linux) || defined(__linux__) +++#elif (defined(linux) || defined(__linux) || defined(__linux__)) && !(defined(SPARC) || defined(sparc) || defined(sparc64)) ++ ++ #include ++ Index: crashrep/source/unx/makefile.mk =================================================================== RCS file: /cvs/porting/crashrep/source/unx/makefile.mk,v retrieving revision 1.7.10.2 diff -u -r1.7.10.2 makefile.mk --- crashrep/source/unx/makefile.mk 21 Aug 2003 09:46:32 -0000 1.7.10.2 +++ crashrep/source/unx/makefile.mk 25 Aug 2003 11:28:34 -0000 @@ -125,6 +125,9 @@ .IF "$(OS)" == "FREEBSD" APP2STDLIBS=$(STATIC) `pkg-config --libs gtk+-2.0` -lpng -lzlib -ljpeg -ltiff $(DYNAMIC) -lXext -lX11 .ENDIF +.IF "$(CPUNAME)$(OS)"=="SPARCLINUX" +APP2STDLIBS=$(STATIC) `pkg-config --libs gtk+-2.0` -lpng -lzlib -ljpeg -ltiff $(DYNAMIC) -lXext -lX11 -ldl -lnsl +.ENDIF .ENDIF # Building crash_report_static Index: dbaccess/util/makefile.mk =================================================================== RCS file: /cvs/dba/dbaccess/util/makefile.mk,v retrieving revision 1.21 diff -u -r1.21 makefile.mk --- dbaccess/util/makefile.mk 15 Apr 2003 13:33:01 -0000 1.21 +++ dbaccess/util/makefile.mk 25 Aug 2003 11:28:40 -0000 @@ -76,6 +76,9 @@ LDUMP=ldump2.exe +.IF "$(OS)$(CPUNAME)"=="LINUXSPARC" +DYNAMIC+=-Wl,--export-dynamic +.ENDIF # --- database core (dba) ----------------------------------- LIB1TARGET=$(SLB)$/dbaccess.lib Index: sal/osl/unx/backtrace.c =================================================================== RCS file: /cvs/porting/sal/osl/unx/backtrace.c,v retrieving revision 1.4 diff -u -r1.4 backtrace.c --- sal/osl/unx/backtrace.c 16 Jul 2003 17:20:28 -0000 1.4 +++ sal/osl/unx/backtrace.c 25 Aug 2003 11:32:03 -0000 @@ -81,11 +81,10 @@ #else -#error Unknown Solaris target platform. +#error Unknown Solaris target platform. #endif /* defined SPARC or INTEL */ - int backtrace( void **buffer, int max_frames ) { struct frame *fp; @@ -177,7 +176,7 @@ #include #include #include - + /* Need extra libs -lexc -ldwarf -lelf */ int backtrace( void **buffer, int max_frames ) @@ -188,13 +187,13 @@ memset(&context, 0, sizeof(struct sigcontext)); exc_setjmp(&context); - while(context.sc_pc != 1 && i < max_frames) { - exc_unwind(&context, 0); + while(context.sc_pc != 1 && i < max_frames) { + exc_unwind(&context, 0); if(context.sc_pc != 1) { *(buffer++) = (void *)context.sc_pc; i++; } - } + } return(i); } @@ -207,7 +206,7 @@ if ( fp ) { while(context.sc_pc!=1) { if(context.sc_pc != 1) { - exc_unwind_name(&context, 0, &name); + exc_unwind_name(&context, 0, &name); fprintf(fp, " 0x%012lx %.100s\n", context.sc_pc, name ? name : ""); free(name); } @@ -219,3 +218,125 @@ } #endif /* defined IRIX */ +#if defined(LINUX) +#if defined(SPARC) +#define FRAME_PTR_OFFSET 1 +#define FRAME_OFFSET 0 + +#else + +#error Unknown Linux target platform. +#endif /* defined SPARC or INTEL */ + +#include +#include +#include +#include "backtrace.h" +# define ptrdiff_t int + +typedef struct +{ + const char *dli_fname; /* File name of defining object. */ + void *dli_fbase; /* Load address of that object. */ + const char *dli_sname; /* Name of nearest symbol. */ + void *dli_saddr; /* Exact value of nearest symbol. */ +} Dl_info; + + + +struct frame { + long fr_local[8]; + long fr_arg[6]; + struct frame *fr_savfp; + long fr_savpc; +# ifndef __arch64__ + char *fr_stret; +# endif + long fr_argd[6]; + long fr_argx[0]; +}; + +/* http://gcc.gnu.org/ml/java-patches/2000-q2/msg00115.html */ + + +int backtrace( void **buffer, int max_frames ) +{ + struct frame *fp; + jmp_buf ctx; + int i; + + /* flush register windows */ +#ifdef SPARC + asm("ta 3"); +#endif + /* get stack- and framepointer */ + setjmp(ctx); + fp = (struct frame*)(((size_t*)(ctx))[FRAME_PTR_OFFSET]); + for ( i=0; (ifr_savfp; + + /* iterate through backtrace */ + for (i=0; fp && fp->fr_savpc && ifr_savpc; + /* next frame */ + fp=fp->fr_savfp; + } + return i; +} + +void backtrace_symbols_fd( void **buffer, int size, int fd ) +{ + FILE *fp = fdopen( fd, "w" ); + + if ( fp ) + { + void **pFramePtr; + + for ( pFramePtr = buffer; size > 0 && pFramePtr && *pFramePtr; pFramePtr++, size-- ) + { + Dl_info dli; + ptrdiff_t offset; + + if ( 0 != dladdr( *pFramePtr, &dli ) ) + { + if ( dli.dli_fname && dli.dli_fbase ) + { + offset = (ptrdiff_t)*pFramePtr - (ptrdiff_t)dli.dli_fbase; + fprintf( fp, "%s+0x%x", dli.dli_fname, offset ); + } + if ( dli.dli_sname && dli.dli_saddr ) + { + offset = (ptrdiff_t)*pFramePtr - (ptrdiff_t)dli.dli_saddr; + fprintf( fp, "(%s+0x%x)", dli.dli_sname, offset ); + } + } + fprintf( fp, "[0x%x]\n", *pFramePtr ); + } + + fflush( fp ); + fclose( fp ); + } +} + +#endif /* defined LINUX */ + +/* User functions for run-time dynamic loading. + Copyright (C) 1995-1999,2000,2001,2003 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, write to the Free + Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307 USA. */ Index: sal/osl/unx/backtrace.h =================================================================== RCS file: /cvs/porting/sal/osl/unx/backtrace.h,v retrieving revision 1.4 diff -u -r1.4 backtrace.h --- sal/osl/unx/backtrace.h 16 Jul 2003 17:20:38 -0000 1.4 +++ sal/osl/unx/backtrace.h 25 Aug 2003 11:32:03 -0000 @@ -60,7 +60,7 @@ ************************************************************************/ -#if defined (SOLARIS) || (FREEBSD) +#if defined (SOLARIS) || (FREEBSD) || (LINUX) #ifdef __cplusplus extern "C" { Index: sal/osl/unx/makefile.mk =================================================================== RCS file: /cvs/porting/sal/osl/unx/makefile.mk,v retrieving revision 1.23 diff -u -r1.23 makefile.mk --- sal/osl/unx/makefile.mk 16 Jul 2003 17:21:01 -0000 1.23 +++ sal/osl/unx/makefile.mk 25 Aug 2003 11:32:03 -0000 @@ -137,7 +137,7 @@ $(OBJ)$/file_stat.obj #.ENDIF -.IF "$(OS)"=="SOLARIS" || "$(OS)"=="FREEBSD" +.IF "$(OS)"=="SOLARIS" || "$(OS)"=="FREEBSD" || "$(OS)$(CPU)"="LINUXS" SLOFILES += $(SLO)$/backtrace.obj OBJFILES += $(OBJ)$/backtrace.obj .ENDIF Index: sc/source/core/data/makefile.mk =================================================================== RCS file: /cvs/sc/sc/source/core/data/makefile.mk,v retrieving revision 1.6.260.1 diff -u -r1.6.260.1 makefile.mk --- sc/source/core/data/makefile.mk 15 Aug 2003 11:52:27 -0000 1.6.260.1 +++ sc/source/core/data/makefile.mk 25 Aug 2003 11:32:16 -0000 @@ -200,8 +200,13 @@ .IF "$(OS)$(COM)$(CPUNAME)"=="LINUXGCCSPARC" NOOPTFILES= \ $(SLO)$/cell.obj \ - $(SLO)$/column2.obj + $(SLO)$/column2.obj \ + $(SLO)$/column3.obj \ + $(SLO)$/table3.obj \ + $(SLO)$/table4.obj \ + $(SLO)$/documen4.obj .ENDIF +# table4 opt=2 fill down EXCEPTIONSFILES= \ $(SLO)$/documen6.obj \ Index: sc/source/core/tool/makefile.mk =================================================================== RCS file: /cvs/sc/sc/source/core/tool/makefile.mk,v retrieving revision 1.7.244.1 diff -u -r1.7.244.1 makefile.mk --- sc/source/core/tool/makefile.mk 15 Aug 2003 11:52:38 -0000 1.7.244.1 +++ sc/source/core/tool/makefile.mk 25 Aug 2003 11:32:16 -0000 @@ -148,7 +148,9 @@ .IF "$(OS)$(COM)$(CPUNAME)"=="LINUXGCCSPARC" NOOPTFILES= \ - $(SLO)$/interpr4.obj + $(SLO)$/interpr2.obj \ + $(SLO)$/interpr4.obj \ + $(SLO)$/token.obj .ENDIF .IF "$(GUI)"=="OS2" Index: sc/source/ui/unoobj/makefile.mk =================================================================== RCS file: /cvs/sc/sc/source/ui/unoobj/makefile.mk,v retrieving revision 1.11 diff -u -r1.11 makefile.mk --- sc/source/ui/unoobj/makefile.mk 4 Apr 2003 19:19:42 -0000 1.11 +++ sc/source/ui/unoobj/makefile.mk 25 Aug 2003 11:32:23 -0000 @@ -154,6 +154,11 @@ $(SLO)$/filtuno.obj \ $(SLO)$/unodoc.obj +.IF "$(OS)$(COM)$(CPUNAME)"=="LINUXGCCSPARC" +NOOPTFILES= \ + $(SLO)$/cellsuno.obj +.ENDIF + # --- Tagets ------------------------------------------------------- .INCLUDE : target.mk Index: sc/source/ui/view/makefile.mk =================================================================== RCS file: /cvs/sc/sc/source/ui/view/makefile.mk,v retrieving revision 1.5 diff -u -r1.5 makefile.mk --- sc/source/ui/view/makefile.mk 28 Aug 2002 17:57:01 -0000 1.5 +++ sc/source/ui/view/makefile.mk 25 Aug 2003 11:32:23 -0000 @@ -165,10 +165,23 @@ EXCEPTIONSFILES=\ $(SLO)$/viewdata.obj -NOOPTFILES=\ - $(SLO)$/drawview.obj \ - $(SLO)$/dbfunc2.obj \ - $(SLO)$/tabvwsh2.obj +.IF "$(OS)$(COM)$(CPUNAME)"=="LINUXGCCSPARC" + NOOPTFILES= \ + $(SLO)$/drawview.obj \ + $(SLO)$/dbfunc2.obj \ + $(SLO)$/tabvwsh2.obj \ + $(SLO)$/viewfun4.obj \ + $(SLO)$/viewfun2.obj +.ELSE + + NOOPTFILES=\ + $(SLO)$/drawview.obj \ + $(SLO)$/dbfunc2.obj \ + $(SLO)$/tabvwsh2.obj \ + $(SLO)$/viewfun4.obj +.ENDIF +# goal seek -O2 + # --- Targets ------------------------------------------------------- Index: sc/util/makefile.mk =================================================================== RCS file: /cvs/sc/sc/util/makefile.mk,v retrieving revision 1.18.42.1 diff -u -r1.18.42.1 makefile.mk --- sc/util/makefile.mk 15 Aug 2003 11:52:48 -0000 1.18.42.1 +++ sc/util/makefile.mk 25 Aug 2003 11:32:25 -0000 @@ -83,7 +83,9 @@ .IF "$(OS)"=="IRIX" LINKFLAGS+=-Wl,-LD_LAYOUT:lgot_buffer=30 .ENDIF - +.IF "$(OS)$(CPUNAME)"=="LINUXSPARC" +DYNAMIC+=-Wl,--export-dynamic +.ENDIF # --- Resourcen ---------------------------------------------------- RESLIB1LIST=\ Index: sd/util/makefile.mk =================================================================== RCS file: /cvs/graphics/sd/util/makefile.mk,v retrieving revision 1.20.86.1 diff -u -r1.20.86.1 makefile.mk --- sd/util/makefile.mk 15 Aug 2003 11:50:45 -0000 1.20.86.1 +++ sd/util/makefile.mk 25 Aug 2003 11:32:45 -0000 @@ -84,6 +84,9 @@ LINKFLAGS+=/SEGMENTS:512 /PACKD:32768 .ENDIF +.IF "$(OS)$(CPUNAME)"=="LINUXSPARC" +DYNAMIC+=-Wl,--export-dynamic +.ENDIF # --- Resourcen ---------------------------------------------------- .IF "$(GUI)"=="WIN" Index: solenv/inc/unxlngs.mk =================================================================== RCS file: /cvs/tools/solenv/inc/unxlngs.mk,v retrieving revision 1.2 diff -u -r1.2 unxlngs.mk --- solenv/inc/unxlngs.mk 28 Apr 2003 16:47:37 -0000 1.2 +++ solenv/inc/unxlngs.mk 25 Aug 2003 11:33:07 -0000 @@ -95,6 +95,14 @@ CFLAGS= .ENDIF CFLAGS+=-fmessage-length=0 -c $(INCLUDE) + +# flags to enable build with symbols; required for crashdump feature +.IF "$(ENABLE_SYMBOLS)"=="SMALL" +CFLAGSENABLESYMBOLS=-g1 +.ELSE +CFLAGSENABLESYMBOLS=-g +.ENDIF + # flags for the C++ Compiler CFLAGSCC= -pipe # Flags for enabling exception handling @@ -128,11 +136,13 @@ CFLAGSDEBUG=-g CFLAGSDBGUTIL= # Compiler flags for enabling optimazations -# CFLAGSOPT=-O2 +CFLAGSOPT=-O3 -fno-strict-aliasing +#CFLAGSOPT=-O2 -fno-strict-aliasing # reduce to -O1 to avoid optimisation problems -CFLAGSOPT=-O1 +#CFLAGSOPT=-O1 -fno-strict-aliasing +#CFLAGSOPT=-fno-strict-aliasing # Compiler flags for disabling optimazations -CFLAGSNOOPT= +CFLAGSNOOPT=-fno-strict-aliasing # Compiler flags for discibing the output path CFLAGSOUTOBJ=-o # Enable all warnings @@ -152,8 +162,10 @@ LINKFLAGS=-z combreloc $(LINKFLAGSRUNPATH) # linker flags for linking applications -LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec -LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec +#LINKFLAGSAPPGUI= -Wl,-export-dynamic -Wl,--noinhibit-exec +#LINKFLAGSAPPCUI= -Wl,-export-dynamic -Wl,--noinhibit-exec +LINKFLAGSAPPGUI= -Wl,--noinhibit-exec +LINKFLAGSAPPCUI= -Wl,--noinhibit-exec # linker flags for linking shared libraries LINKFLAGSSHLGUI= -shared Index: sw/util/makefile.mk =================================================================== RCS file: /cvs/sw/sw/util/makefile.mk,v retrieving revision 1.24.104.1 diff -u -r1.24.104.1 makefile.mk --- sw/util/makefile.mk 15 Aug 2003 11:47:10 -0000 1.24.104.1 +++ sw/util/makefile.mk 25 Aug 2003 11:33:50 -0000 @@ -109,6 +109,10 @@ LINKFLAGS+=-Wl,-LD_LAYOUT:lgot_buffer=40 .ENDIF +.IF "$(OS)$(CPUNAME)"=="LINUXSPARC" +DYNAMIC+=-Wl,--export-dynamic +.ENDIF + .IF "$(header)" == "" sw_res_files= \ Index: sc/sc/source/core/tool/makefile.mk =================================================================== RCS file: /cvs/sc/sc/source/core/tool/makefile.mk,v retrieving revision 1.7.224.1 diff -u -r1.7.224.1 makefile.mk --- sc/sc/source/core/tool/makefile.mk 22 Jul 2003 10:14:48 -0000 1.7.224.1 +++ sc/sc/source/core/tool/makefile.mk 25 Aug 2003 11:52:32 -0000 @@ -146,10 +146,6 @@ $(SLO)$/subtotal.obj .ENDIF -.IF "$(OS)$(COM)$(CPUNAME)"=="LINUXGCCSPARC" -NOOPTFILES= \ - $(SLO)$/interpr4.obj -.ENDIF .IF "$(GUI)"=="OS2" NOOPTFILES= \ Index: sc/sc/util/makefile.mk =================================================================== RCS file: /cvs/sc/sc/util/makefile.mk,v retrieving revision 1.18.18.1 diff -u -r1.18.18.1 makefile.mk --- sc/sc/util/makefile.mk 31 Jul 2003 18:43:29 -0000 1.18.18.1 +++ sc/sc/util/makefile.mk 25 Aug 2003 11:52:40 -0000 @@ -83,7 +83,9 @@ .IF "$(OS)"=="IRIX" LINKFLAGS+=-Wl,-LD_LAYOUT:lgot_buffer=30 .ENDIF - +.IF "$(OS)$(CPUNAME)"=="LINUXSPARC" +DYNAMIC+=-Wl,--export-dynamic +.ENDIF # --- Resourcen ---------------------------------------------------- RESLIB1LIST=\