|
From: Amadeusz S. <sa...@gm...> - 2010-03-07 16:12:47
Attachments:
sigsegv.patch
|
I'm half sure of this fix, because check works with previous versions of gcc (<4.4.3), so it looks like regresion on gcc side. |
|
From: Alexei S. <ale...@gm...> - 2010-03-09 01:37:52
|
What exactly is this fixing? 2010/3/7 Amadeusz Sławiński <sa...@gm...>: > I'm half sure of this fix, because check works with previous versions of > gcc (<4.4.3), so it looks like regresion on gcc side. > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > basilisk-devel mailing list > bas...@li... > https://lists.sourceforge.net/lists/listinfo/basilisk-devel > > |
|
From: Amadeusz S. <sa...@gm...> - 2010-03-09 12:18:26
|
Output of ./configure
...
checking whether we can skip instruction in SIGSEGV handler... no
...
from config.log
...
configure:9849: checking whether we can skip instruction in SIGSEGV
handler
configure:9875: g++ -o conftest -g -O2 conftest.cpp -lrt -lpthread
-lm -lSM -lICE -lX11 -lXext -lXxf86vm >&5
configure:9875: $? = 0
configure:9875: ./conftest
./configure: line 2130: 4065 Segmentation fault
./conftest$ac_exeext
configure:9875: $? = 139
configure: program exited with status 139
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "SheepShaver"
| #define PACKAGE_TARNAME "SheepShaver"
| #define PACKAGE_VERSION "2.3"
| #define PACKAGE_STRING "SheepShaver 2.3"
| #define PACKAGE_BUGREPORT "Chr...@un..."
| #define PACKAGE_URL ""
| #define EMULATED_PPC 1
| #define HAVE_LIBM 1
| #define HAVE_LIBPTHREAD 1
| #define HAVE_PTHREAD_CANCEL 1
| #define HAVE_PTHREAD_COND_INIT 1
| #define HAVE_PTHREAD_TESTCANCEL 1
| #define HAVE_PTHREAD_MUTEXATTR_SETPROTOCOL 1
| #define HAVE_PTHREAD_MUTEXATTR_SETTYPE 1
| #define HAVE_PTHREAD_MUTEXATTR_SETPSHARED 1
| #define HAVE_SEM_INIT 1
| #define HAVE_PTHREADS 1
| #define ENABLE_FBDEV_DGA 1
| #define ENABLE_XF86_VIDMODE 1
| #define ENABLE_GTK 1
| #define STDC_HEADERS 1
| #define HAVE_SYS_WAIT_H 1
| #define HAVE_MALLOC_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_SYS_MMAN_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_FCNTL_H 1
| #define HAVE_BYTESWAP_H 1
| #define HAVE_DIRENT_H 1
| #define HAVE_SYS_SOCKET_H 1
| #define HAVE_SYS_IOCTL_H 1
| #define HAVE_SYS_BITYPES_H 1
| #define HAVE_SYS_WAIT_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_SYS_POLL_H 1
| #define HAVE_SYS_SELECT_H 1
| #define HAVE_ARPA_INET_H 1
| #define HAVE_LINUX_IF_H 1
| #define HAVE_LINUX_IF_TUN_H 1
| #define HAVE_NET_IF_H 1
| #define HAVE_FENV_H 1
| #define SIZEOF_SHORT 2
| #define SIZEOF_INT 4
| #define SIZEOF_LONG 8
| #define SIZEOF_LONG_LONG 8
| #define SIZEOF_FLOAT 4
| #define SIZEOF_DOUBLE 8
| #define SIZEOF_VOID_P 8
| #define RETSIGTYPE void
| #define TIME_WITH_SYS_TIME 1
| #define HAVE_SIGNAL_SA_RESTORER 1
| #define HAVE_STRDUP 1
| #define HAVE_STRERROR 1
| #define HAVE_CFMAKERAW 1
| #define HAVE_NANOSLEEP 1
| #define HAVE_SIGACTION 1
| #define HAVE_SIGNAL 1
| #define HAVE_MMAP 1
| #define HAVE_MPROTECT 1
| #define HAVE_MUNMAP 1
| #define HAVE_EXP2F 1
| #define HAVE_LOG2F 1
| #define HAVE_EXP2 1
| #define HAVE_LOG2 1
| #define HAVE_FLOORF 1
| #define HAVE_ROUNDF 1
| #define HAVE_CEILF 1
| #define HAVE_TRUNCF 1
| #define HAVE_FLOOR 1
| #define HAVE_ROUND 1
| #define HAVE_CEIL 1
| #define HAVE_TRUNC 1
| #define HAVE_POLL 1
| #define HAVE_INET_ATON 1
| #define HAVE_CLOCK_GETTIME 1
| #define HAVE_CLOCK_NANOSLEEP 1
| #define HAVE_STRINGS_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_PTY_H 1
| #define HAVE_VHANGUP 1
| #define HAVE_SLIRP 1
| #define ENABLE_TUNTAP 1
| #define HAVE_MMAP_VM 1
| #define HAVE_MMAP_ANON 1
| #define HAVE_MMAP_ANONYMOUS 1
| #define HAVE_MMAP_VM 1
| #define HAVE_SIGINFO_T 1
| /* end confdefs.h. */
|
| #define HAVE_SIGSEGV_SKIP_INSTRUCTION 1
| #define CONFIGURE_TEST_SIGSEGV_RECOVERY
| #include "vm_alloc.cpp"
| #include "sigsegv.cpp"
|
configure:9893: result: no
As I mentioned it works on previous versions of gcc(<4.4.3), so it is probably
compiler bug.
Also works if you do something like
volatile int label_hack = 3;
switch (label_hack) {
case 3:
...
case 2:
On Mon, Mar 08, 2010 at 08:37:25PM -0500, Alexei Svitkine wrote:
> What exactly is this fixing?
>
> 2010/3/7 Amadeusz Sławiński <sa...@gm...>:
> > I'm half sure of this fix, because check works with previous versions of
> > gcc (<4.4.3), so it looks like regresion on gcc side.
|
|
From: Alexei S. <ale...@gm...> - 2010-03-09 14:35:01
|
> Also works if you do something like
> volatile int label_hack = 3;
> switch (label_hack) {
> case 3:
> ...
> case 2:
I'd prefer that approach then, since it will likely also work with the
older compilers that do require the volatile.
-Alexei
|
|
From: Amadeusz S. <sa...@gm...> - 2010-03-09 14:51:18
Attachments:
sigsegv_other.patch
|
On Tue, Mar 09, 2010 at 09:33:38AM -0500, Alexei Svitkine wrote:
> > Also works if you do something like
> > volatile int label_hack = 3;
> > switch (label_hack) {
> > case 3:
> > ...
> > case 2:
>
> I'd prefer that approach then, since it will likely also work with the
> older compilers that do require the volatile.
>
> -Alexei
>
Should have thought that way, patch included.
|
|
From: Alexei S. <ale...@gm...> - 2010-03-10 01:28:40
|
Committed. Thanks.
2010/3/9 Amadeusz Sławiński <sa...@gm...>:
> On Tue, Mar 09, 2010 at 09:33:38AM -0500, Alexei Svitkine wrote:
>> > Also works if you do something like
>> > volatile int label_hack = 3;
>> > switch (label_hack) {
>> > case 3:
>> > ...
>> > case 2:
>>
>> I'd prefer that approach then, since it will likely also work with the
>> older compilers that do require the volatile.
>>
>> -Alexei
>>
>
> Should have thought that way, patch included.
>
> ------------------------------------------------------------------------------
> Download Intel® Parallel Studio Eval
> Try the new software tools for yourself. Speed compiling, find bugs
> proactively, and fine-tune applications for parallel performance.
> See why Intel Parallel Studio got high marks during beta.
> http://p.sf.net/sfu/intel-sw-dev
> _______________________________________________
> basilisk-devel mailing list
> bas...@li...
> https://lists.sourceforge.net/lists/listinfo/basilisk-devel
>
>
|