Setup a signal frame.
I have a question regarding the setup_frame function in arch/mips/kernel/signal.c.
If the setup fails we send a SIGSEGV to the current process, but before doing that we check if signr == SIGSEGV, and if so install the default handler.
But isn't we sending a SIGSEGV signal, and therefore always should install the default handler and not check if the original signal was SIGSEGV ?
In kernel 2.2.12 we always used do_exit(SIGSEGV) if the setup failed, why has this changed in the 2.4.0 kernel ?
/Carsten
--
_ _ ____ ___ Carsten Langgaard Mailto:[email protected] |\ /|||___)(___ MIPS Denmark Direct: +45 4486 5527 | \/ ||| ____) Lautrupvang 4B Switch: +45 4486 5555 TECHNOLOGIES 2750 Ballerup Fax...: +45 4486 5556 Denmark http://www.mips.com
Simple problem with second stage MIPS GCC compiler...
Well, I almost have a complete toolchain. I succesfully got binutils, first stage GCC-2.95.2 and GLIBC-2.2 installed just fine. I am having problems with rebuilding GCC. Below is the configuration and make directives that I am currently using along with the output. I have verified that the header files are in /usr/local/mips/mipsel-linux-include. Any help or thoughts are need and appreciated. Yes, I read the mailing list archives. TIA.
-Steve
*************************************************************
AR=mipsel-linux-ar RANLIB=mipsel-linux-ranlib ../gcc-2.95.2/configure --prefix=/usr/local/mips --target=mipsel-linux i686-pc-linux-gnu --enable-shared --enable-threads --enable-languages=c
make LANGUAGES=c ALL_TARGET_MODULES= CONFIGURE_TARGET_MODULES= INSTALL_TARGET_MODULES= SUBDIRS="libiberty gcc"
*************************************************************
make[2]: Leaving directory `/data/mips-stuff/build-gcc2/gcc/intl' rm -f tmplibgcc2.a
for name in _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _ffsdi2 _udiv_w_sdiv _udivmoddi4 _cmpdi2 _ucmpdi2 _floatdidf _floatdisf _fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi _fixunssfdi _fixsfdi _fixxfdi _fixunsxfdi _floatdixf _fixunsxfsi _fixtfdi _fixunstfdi _floatditf __gcc_bcmp _varargs __dummy _eprintf _bb _shtab _clear_cache _trampoline __main _exit _ctors _pure; \
do \
echo ${name}; \
/data/mips-stuff/build-gcc2/gcc/xgcc -B/data/mips-stuff/build-gcc2/gcc/
-B/usr/local/mips/mipsel-linux/bin/ -I/usr/local/mips/mipsel-linux/include -O2
-DCROSS_COMPILE -DIN_GCC -g -O2 -I./include -fPIC -g1 -DHAVE_GTHR_DEFAULT
-DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I../../gcc-2.95.2/gcc
-I../../gcc-2.95.2/gcc/config -I../../gcc-2.95.2/gcc/../include -c -DL${name} \
../../gcc-2.95.2/gcc/libgcc2.c -o ${name}.o; \ if [ $? -eq 0 ] ; then true; else exit 1; fi; \
mipsel-linux-ar rc tmplibgcc2.a ${name}.o; \
rm -f ${name}.o; \
done_muldi3../../gcc-2.95.2/gcc/libgcc2.c:41: stdlib.h: No such file or directory ../../gcc-2.95.2/gcc/libgcc2.c:42: unistd.h: No such file or directory make[1]: *** [libgcc2.a] Error 1
make[1]: Leaving directory `/data/mips-stuff/build-gcc2/gcc'
make: *** [all-gcc] Error 2
Signature · 4 lines
Steven J. Hill - Embedded SW Engineer Public Key: 'finger [email protected]' FPR1: E124 6E1C AF8E 7802 A815 FPR2: 7D72 829C 3386 4C4A E17D
Re: Simple problem with second stage MIPS GCC compiler...
The problem you have is that gcc doesn't know where the glibc headers are. You probably need to pass "--with-includes=/usr/local/mips/mipsel-linux-include" or alternatively put the headers in {prefix}/sys-include .
There is also another list for cross compiling with gcc ([email protected]) which might give more informative answers than the simple one I have...
good luck with it!
Quoted 45 lines · Steven J. Hill
Well, I almost have a complete toolchain. I succesfully got binutils, first stage GCC-2.95.2 and GLIBC-2.2 installed just fine. I am having problems with rebuilding GCC. Below is the configuration and make directives that I am currently using along with the output. I have verified that the header files are in
/usr/local/mips/mipsel-linux-include. Any help or thoughts are need and appreciated. Yes, I read the mailing list archives. TIA.-Steve
*************************************************************
AR=mipsel-linux-ar RANLIB=mipsel-linux-ranlib ../gcc-2.95.2/configure --prefix=/usr/local/mips --target=mipsel-linux i686-pc-linux-gnu --enable-shared --enable-threads --enable-languages=cmake LANGUAGES=c ALL_TARGET_MODULES= CONFIGURE_TARGET_MODULES= INSTALL_TARGET_MODULES= SUBDIRS="libiberty gcc"
*************************************************************
make[2]: Leaving directory `/data/mips-stuff/build-gcc2/gcc/intl' rm -f tmplibgcc2.a
for name in_muldi3_divdi3_moddi3_udivdi3_umoddi3_negdi2_lshrdi3_ashldi3_ashrdi3_ffsdi2_udiv_w_sdiv_udivmoddi4_cmpdi2_ucmpdi2_floatdidf_floatdisf_fixunsdfsi_fixunssfsi_fixunsdfdi_fixdfdi_fixunssfdi_fixsfdi_fixxfdi_fixunsxfdi_floatdixf_fixunsxfsi_fixtfdi_fixunstfdi_floatditf__gcc_bcmp_varargs__dummy_eprintf_bb_shtab_clear_cache_trampoline__main_exit_ctors_pure; \
do \
echo ${name}; \
/data/mips-stuff/build-gcc2/gcc/xgcc -B/data/mips-stuff/build-gcc2/gcc/(quoted diff) +0
-4-B/usr/local/mips/mipsel-linux/bin/ -I/usr/local/mips/mipsel-linux/include -O2 -DCROSS_COMPILE -DIN_GCC -g -O2 -I./include -fPIC -g1 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I../../gcc-2.95.2/gcc -I../../gcc-2.95.2/gcc/config -I../../gcc-2.95.2/gcc/../include -c -DL${name} \ ../../gcc-2.95.2/gcc/libgcc2.c -o ${name}.o; \ if [ $? -eq 0 ] ; then true; else exit 1; fi; \ mipsel-linux-ar rc tmplibgcc2.a ${name}.o; \ rm -f ${name}.o; \done
_muldi3.../../gcc-2.95.2/gcc/libgcc2.c:41:stdlib.h: No such file or directory.../../gcc-2.95.2/gcc/libgcc2.c:42:unistd.h: No such file or directory make[1]: *** [libgcc2.a] Error 1
make[1]: Leaving directory `/data/mips-stuff/build-gcc2/gcc'
make: *** [all-gcc] Error 2
Signature · 6 lines
Joe deBlaquiere Red Hat, Inc. 307 Wynn Drive Huntsville AL, 35805 voice : (256)-704-9200 fax : (256)-837-3839
Philips Nino pre-compiled kernel image available...
In reply to Carsten LanggaardGreetings.
I have uploaded a pre-compiled kernel image for the Philips Nino to my FTP site. It is the most recent kernel from the SGI MIPS kernel with a 512KB ramdisk image linked into it containing a stand alone shell. Simply upload to your Nino and use the PocketBSD bootloader to boot with. It is available at:
ftp://ftp.cotw.com/Nino/kernel/vmlinux.bz2
-Steve
Signature · 1 line
Steven J. Hill - Embedded SW Engineer