Login  •  Register


The time is now: Sat Nov 18, 2017 4:24 am

Emaculation wiki  •  Delete all board cookies



Post new topic  Reply to topic Page 1 of 1 [ 8 posts ]
Print view Previous topic  |  Next topic
Author Message
PostPosted: Sat May 31, 2014 5:17 pm 
Offline
Space Cadet

Joined: Fri Jan 07, 2011 5:41 pm
Posts: 9
I downloaded the source from git (last modified 20140306),
and built with PKG_CONFIG_PATH=/usr/lib64/pkgconfig ./configure --prefix=/usr --datadir=/usr/share/appdata --enable-sdl-video=yes --enable-sdl-audio=yes
but it segfaults every time.
I tried also without SDL video, and it quits every time
without the segfault warning.

By contrast, cat_7's build from 2010 does work.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat May 31, 2014 5:41 pm 
Offline
Expert User
User avatar

Joined: Fri Feb 13, 2004 8:59 am
Posts: 4192
Location: Sittard, The Netherlands
Hi,

Yes, the older builds (e.g., built with gcc 4.4) do work. I just did a gdb on my latest build (with the new slirp patches included), and it gave me this:
Reading symbols from ./SheepShaver...done.
(gdb) run
Starting program: /home/hsp/src/macemu-master/SheepShaver/src/Unix/SheepShaver
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
SheepShaver V2.4 by Christian Bauer and Mar"c" Hellwig
[New Thread 0x7fffeb035700 (LWP 10293)]
[New Thread 0x7fffea834700 (LWP 10294)]
[New Thread 0x7fffea033700 (LWP 10295)]
[Thread 0x7fffea033700 (LWP 10295) exited]
[New Thread 0x7fffea033700 (LWP 10296)]
[New Thread 0x7fffe93cd700 (LWP 10297)]
[New Thread 0x7fffe8bcc700 (LWP 10298)]
[Thread 0x7fffe8bcc700 (LWP 10298) exited]
[Thread 0x7fffe93cd700 (LWP 10297) exited]
Reading ROM file...
[New Thread 0x7fffe93cd700 (LWP 10300)]
[New Thread 0x7fffe8bcc700 (LWP 10301)]
[New Thread 0x7fffd3fff700 (LWP 10302)]
[New Thread 0x7fffd3629700 (LWP 10303)]
[New Thread 0x7fffd2e28700 (LWP 10304)]
[New Thread 0x7fffd2627700 (LWP 10305)]
Detected CPU features: MMX SSE SSE2 SSE3 SSSE3
PowerPC CPU emulator by Gwenole Beauchesne

Program received signal SIGSEGV, Segmentation fault.
powerpc_cpu::execute_loadstore<op_template_nop<unsigned int>, input_gpr_except<bit_field<11, 15>, 0>, immediate_operand<bit_field<16, 31>, op_sign_extend_16_32>, false, 4, false, false> (this=0x7864eed0,
opcode=<optimized out>) at ../kpx_cpu/src/cpu/ppc/ppc-execute.cpp:585
585 memory_helper<SZ, RX>::store(ea, operand_RS::get(this, opcode));
(gdb) step
store (value=<optimized out>, ea=<optimized out>) at ../kpx_cpu/src/cpu/ppc/ppc-execute.cpp:585
585 memory_helper<SZ, RX>::store(ea, operand_RS::get(this, opcode));
(gdb) step
vm_write_memory_4 (value=<optimized out>, addr=<optimized out>)
at ../kpx_cpu/src/cpu/ppc/ppc-execute.cpp:585
585 memory_helper<SZ, RX>::store(ea, operand_RS::get(this, opcode));
(gdb) step
vm_do_write_memory_4 (v=<optimized out>, a=<optimized out>) at ../kpx_cpu/src/cpu/vm.hpp:69
69 static inline void vm_do_write_memory_4(uint32 *a, uint32 v) { *a = bswap_32(v); }
(gdb) step
sigsegv_handler (sig=11, sip=0x7fffffffd7f0, scp=0x7fffffffd6c0) at sigsegv.cpp:2861
2861 {
(gdb) step
2863 if (handle_badaccess(SIGSEGV_FAULT_HANDLER_ARGS)) {
(gdb) step
handle_badaccess (sip=0x7fffffffd7f0, scp=0x7fffffffd6c0) at sigsegv.cpp:2613
2613 SI.addr = (sigsegv_address_t)SIGSEGV_FAULT_ADDRESS_FAST;
(gdb) step
2623 switch (SIGSEGV_FAULT_HANDLER_INVOKE(SIP)) {
(gdb) step
2613 SI.addr = (sigsegv_address_t)SIGSEGV_FAULT_ADDRESS_FAST;
(gdb) step
2614 SI.pc = (sigsegv_address_t)SIGSEGV_FAULT_INSTRUCTION_FAST;
(gdb) step
2623 switch (SIGSEGV_FAULT_HANDLER_INVOKE(SIP)) {
(gdb) step
sigsegv_handler (sip=0x7fffffffd670) at ../kpx_cpu/sheepshaver_glue.cpp:756
756 {
(gdb) step
764 const uintptr addr = (uintptr)sigsegv_get_fault_address(sip);
(gdb) step
sigsegv_get_fault_address (SIP=SIP@entry=0x7fffffffd670) at sigsegv.cpp:2589
2589 return SIP->addr;
(gdb) step
2590 }
(gdb) step
sigsegv_handler (sip=0x7fffffffd670) at ../kpx_cpu/sheepshaver_glue.cpp:767
767 if ((addr - (uintptr)ROMBaseHost) < ROM_SIZE)
(gdb) step
768 return SIGSEGV_RETURN_SKIP_INSTRUCTION;
(gdb) step
825 }
(gdb) step
handle_badaccess (sip=<optimized out>, scp=0x7fffffffd6c0) at sigsegv.cpp:2635
2635 if (SIGSEGV_SKIP_INSTRUCTION(SIGSEGV_REGISTER_FILE)) {
(gdb)
ix86_skip_instruction (regs=0x7fffffffd6e8) at sigsegv.cpp:987
987 unsigned char * eip = (unsigned char *)regs[X86_REG_EIP];
(gdb)
989 if (eip == 0)
(gdb)

987 unsigned char * eip = (unsigned char *)regs[X86_REG_EIP];
(gdb)

989 if (eip == 0)
(gdb)
1014 if (*eip == 0x66) {
(gdb)
1006 int len = 0;
(gdb)
1002
transfer_size_t transfer_size = SIZE_LONG;
(gdb)
1014 if (*eip == 0x66) {
(gdb)
1030 if ((*eip & 0xf0) == 0x40) {

(gdb)
1028 rex_t rex = { 0, 0, 0, 0 };

(gdb)

1029 bool has_rex = false;
(gdb)
1056 switch (eip[0]) {
(gdb)





1003 instruction_type_t instruction_type = i_MOV;
(gdb)

1056 switch (eip[0]) {
(gdb)

1005 int reg = -1;
(gdb)
1003 instruction_type_t instruction_type = i_MOV;
(gdb)
1001 transfer_type_t transfer_type = SIGSEGV_TRANSFER_UNKNOWN;
(gdb)
1143 if (transfer_type == SIGSEGV_TRANSFER_UNKNOWN) {
(gdb)

sigsegv_handler (sig=<optimized out>, sip=<optimized out>, scp=0x7fffffffd6c0) at sigsegv.cpp:2872
2872 SIGSEGV_ALL_SIGNALS
(gdb)

__bsd_signal (sig=11, handler=0x0) at ../sysdeps/posix/signal.c:36
36 ../sysdeps/posix/signal.c: No such file or directory.
(gdb)
32 in ../sysdeps/posix/signal.c
(gdb)
36 in ../sysdeps/posix/signal.c
(gdb)
32 in ../sysdeps/posix/signal.c
(gdb) step
43 in ../sysdeps/posix/signal.c
(gdb) step
42 in ../sysdeps/posix/signal.c
(gdb) step
43 in ../sysdeps/posix/signal.c
(gdb) step
44 in ../sysdeps/posix/signal.c
(gdb) step
__sigaddset (__sig=11, __set=0x7fffffffd528) at ../sysdeps/unix/sysv/linux/bits/sigset.h:117
117 ../sysdeps/unix/sysv/linux/bits/sigset.h: No such file or directory.
(gdb) step
__bsd_signal (sig=11, handler=0x0) at ../sysdeps/posix/signal.c:47
47 ../sysdeps/posix/signal.c: No such file or directory.
(gdb) step
44 in ../sysdeps/posix/signal.c
(gdb) step
__sigaddset (__sig=11, __set=0x7fffffffd528) at ../sysdeps/unix/sysv/linux/bits/sigset.h:117
117 ../sysdeps/unix/sysv/linux/bits/sigset.h: No such file or directory.
(gdb) step
__bsd_signal (sig=11, handler=0x0) at ../sysdeps/posix/signal.c:47
47 ../sysdeps/posix/signal.c: No such file or directory.
(gdb) step
44 in ../sysdeps/posix/signal.c
(gdb) step
__sigaddset (__sig=11, __set=0x7fffffffd528) at ../sysdeps/unix/sysv/linux/bits/sigset.h:117
117 ../sysdeps/unix/sysv/linux/bits/sigset.h: No such file or directory.
(gdb) step
__bsd_signal (sig=11, handler=0x0) at ../sysdeps/posix/signal.c:46
46 ../sysdeps/posix/signal.c: No such file or directory.
(gdb) step
__sigismember (__sig=11, __set=0x7ffff62bdd00 <_sigintr>)
at ../sysdeps/unix/sysv/linux/bits/sigset.h:116
116 ../sysdeps/unix/sysv/linux/bits/sigset.h: No such file or directory.
(gdb) step
__bsd_signal (sig=11, handler=0x0) at ../sysdeps/posix/signal.c:46
46 ../sysdeps/posix/signal.c: No such file or directory.
(gdb) step
47 in ../sysdeps/posix/signal.c
(gdb) step
__GI___sigaction (sig=11, act=act@entry=0x7fffffffd520, oact=oact@entry=0x7fffffffd5c0)
at ../nptl/sigaction.c:37
37 ../nptl/sigaction.c: No such file or directory.
(gdb) step
43 in ../nptl/sigaction.c
(gdb) step
__GI___libc_sigaction (sig=11, act=act@entry=0x7fffffffd520, oact=oact@entry=0x7fffffffd5c0)
at ../sysdeps/unix/sysv/linux/x86_64/sigaction.c:49
49 ../sysdeps/unix/sysv/linux/x86_64/sigaction.c: No such file or directory.
(gdb) step
53 in ../sysdeps/unix/sysv/linux/x86_64/sigaction.c
(gdb) step
49 in ../sysdeps/unix/sysv/linux/x86_64/sigaction.c
(gdb) step
53 in ../sysdeps/unix/sysv/linux/x86_64/sigaction.c
(gdb) step
56 in ../sysdeps/unix/sysv/linux/x86_64/sigaction.c
(gdb) step
55 in ../sysdeps/unix/sysv/linux/x86_64/sigaction.c
(gdb) step
56 in ../sysdeps/unix/sysv/linux/x86_64/sigaction.c
(gdb) step
55 in ../sysdeps/unix/sysv/linux/x86_64/sigaction.c
(gdb) step
56 in ../sysdeps/unix/sysv/linux/x86_64/sigaction.c
(gdb) step
^[[A57 in ../sysdeps/unix/sysv/linux/x86_64/sigaction.c
(gdb) step
59 in ../sysdeps/unix/sysv/linux/x86_64/sigaction.c
(gdb) step
64 in ../sysdeps/unix/sysv/linux/x86_64/sigaction.c
(gdb) step
67 in ../sysdeps/unix/sysv/linux/x86_64/sigaction.c
(gdb) step
69 in ../sysdeps/unix/sysv/linux/x86_64/sigaction.c
(gdb) step
70 in ../sysdeps/unix/sysv/linux/x86_64/sigaction.c
(gdb) step
^[[A71 in ../sysdeps/unix/sysv/linux/x86_64/sigaction.c
(gdb) step
72 in ../sysdeps/unix/sysv/linux/x86_64/sigaction.c
(gdb) step
75 in ../sysdeps/unix/sysv/linux/x86_64/sigaction.c
(gdb) step
__bsd_signal (sig=<optimized out>, handler=<optimized out>) at ../sysdeps/posix/signal.c:50
50 ../sysdeps/posix/signal.c: No such file or directory.
(gdb) step
51 in ../sysdeps/posix/signal.c
(gdb) step
sigsegv_handler (sig=<optimized out>, sip=<optimized out>, scp=0x7fffffffd6c0) at sigsegv.cpp:2874
2874 }
(gdb) step
powerpc_cpu::execute_loadstore<op_template_nop<unsigned int>, input_gpr_except<bit_field<11, 15>, 0>, immediate_operand<bit_field<16, 31>, op_sign_extend_16_32>, false, 4, false, false> (this=0x7864eed0,
opcode=<optimized out>) at ../kpx_cpu/src/cpu/ppc/ppc-execute.cpp:585
585 memory_helper<SZ, RX>::store(ea, operand_RS::get(this, opcode));
(gdb) step
store (value=<optimized out>, ea=<optimized out>) at ../kpx_cpu/src/cpu/ppc/ppc-execute.cpp:585
585 memory_helper<SZ, RX>::store(ea, operand_RS::get(this, opcode));
(gdb) step
vm_write_memory_4 (value=<optimized out>, addr=<optimized out>)
at ../kpx_cpu/src/cpu/ppc/ppc-execute.cpp:585
585 memory_helper<SZ, RX>::store(ea, operand_RS::get(this, opcode));
(gdb) step
vm_do_write_memory_4 (v=<optimized out>, a=<optimized out>) at ../kpx_cpu/src/cpu/vm.hpp:69
69 static inline void vm_do_write_memory_4(uint32 *a, uint32 v) { *a = bswap_32(v); }
(gdb) step

Program received signal SIGSEGV, Segmentation fault.
powerpc_cpu::execute_loadstore<op_template_nop<unsigned int>, input_gpr_except<bit_field<11, 15>, 0>, immediate_operand<bit_field<16, 31>, op_sign_extend_16_32>, false, 4, false, false> (this=0x7864eed0,
opcode=<optimized out>) at ../kpx_cpu/src/cpu/ppc/ppc-execute.cpp:585
585 memory_helper<SZ, RX>::store(ea, operand_RS::get(this, opcode));
(gdb) step
store (value=<optimized out>, ea=<optimized out>) at ../kpx_cpu/src/cpu/ppc/ppc-execute.cpp:585
585 memory_helper<SZ, RX>::store(ea, operand_RS::get(this, opcode));
(gdb) step
vm_write_memory_4 (value=<optimized out>, addr=<optimized out>)
at ../kpx_cpu/src/cpu/ppc/ppc-execute.cpp:585
585 memory_helper<SZ, RX>::store(ea, operand_RS::get(this, opcode));
(gdb) step
vm_do_write_memory_4 (v=<optimized out>, a=<optimized out>) at ../kpx_cpu/src/cpu/vm.hpp:69
69 static inline void vm_do_write_memory_4(uint32 *a, uint32 v) { *a = bswap_32(v); }
(gdb) step
[Thread 0x7fffd2627700 (LWP 10305) exited]
[Thread 0x7fffd2e28700 (LWP 10304) exited]
[Thread 0x7fffd3629700 (LWP 10303) exited]
[Thread 0x7fffd3fff700 (LWP 10302) exited]
[Thread 0x7fffe8bcc700 (LWP 10301) exited]
[Thread 0x7fffe93cd700 (LWP 10300) exited]
[Thread 0x7fffea033700 (LWP 10296) exited]
[Thread 0x7fffea834700 (LWP 10294) exited]
[Thread 0x7fffeb035700 (LWP 10293) exited]

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat May 31, 2014 6:25 pm 
Offline
Space Cadet

Joined: Fri Jan 07, 2011 5:41 pm
Posts: 9
That's a lot of gobbly gook. Any idea what it means?

My system has gcc 4.8.2. Is it hopeless for me to
continue trying to compile and run sheepshaver?


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat May 31, 2014 8:50 pm 
Offline
Expert User
User avatar

Joined: Fri Feb 13, 2004 8:59 am
Posts: 4192
Location: Sittard, The Netherlands
Hi,

It's would be best to use the builds that are working from our forum.
The errors I pasted will need to be fixed by a developer.

Best,
Cat_7


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat May 31, 2014 8:55 pm 
Offline
Space Cadet

Joined: Fri Jan 07, 2011 5:41 pm
Posts: 9
OK, for now. But may I ask: Is the problem with GCC > 4.4
when compiling SS alone? In other words, if I install GCC 4.4,
and compile SS, would I also have to recompile the dependencies
(SDL, etc.) with the older GCC?

Thanks again.


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat May 31, 2014 11:25 pm 
Offline
Expert User
User avatar

Joined: Fri Feb 13, 2004 8:59 am
Posts: 4192
Location: Sittard, The Netherlands
Hi,

Yes, you should compile SDL with the same gcc version you compile SheepShaver with.
It's easy to install SDL in a separate folder and then point SheepShaver to it.
Use these steps in the folder into which you unpacked SDL:
./autogen.sh
./configure --disable-shared --prefix=`pwd`
make
make install
PATH=`pwd`/bin:$PATH
export PATH

And then go the SheepShaver source and compile. It will find the SDL installation in the path.

The highest version of gcc and g++ you should install is 4.6.

Best,
Cat_7


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Sat Jun 07, 2014 1:07 pm 
Offline
Space Cadet

Joined: Fri Jan 07, 2011 5:41 pm
Posts: 9
Success!

GCC 4.6.3, SDL 1.2.15

Thanks for your help!


Top
 Profile  
Reply with quote Post a reply  
PostPosted: Thu Aug 10, 2017 3:41 pm 
Offline
Granny Smith
User avatar

Joined: Mon Sep 15, 2014 7:59 pm
Posts: 130
Hi Gentlemen,

I know this is a little big old thread. But I wonder if this is related to GCC compiler or kernel. I want to fix this and make it works under latest GCC.

thanks,
Ricky

_________________
There is an App for that!
https://github.com/rickyzhang82


Top
 Profile  
Reply with quote Post a reply  
Display posts from previous:  Sort by  
Post new topic  Reply to topic Page 1 of 1 [ 8 posts ]


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
 

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group