Status: SheepShaver and Mac OSX Lion

About SheepShaver, a PPC Mac emulator for Windows, MacOS X, and Linux that can run System 7.5.3 to MacOS 9.0.4.

Moderators: Cat_7, Ronald P. Regensburg, ClockWise

User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Post by Ronald P. Regensburg »

I tried to build a 32-bit version with the SDL-1.2 from Mercurial.

I tried building essentially the same way as I described here: http://www.emaculation.com/forum/viewto ... 0085#40085

At the first attempt starting with:

Code: Select all

FLAGS="-arch i386"
CFLAGS="$FLAGS" CPPFLAGS="$FLAGS" LDFLAGS="$FLAGS"
export CFLAGS CPPFLAGS LDFLAGS
At the second attempt starting with:

Code: Select all

FLAGS="-arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5"
CFLAGS="$FLAGS" CPPFLAGS="$FLAGS" LDFLAGS="$FLAGS"
export CFLAGS CPPFLAGS LDFLAGS CC=gcc-4.0 CXX=g++-4.0
Both attempts proceeded without errors and resulted in a application with i386 executable. But the applications both did not run, crashed immediately at launch.
PeterHolbrook
Apple Corer
Posts: 273
Joined: Fri Oct 26, 2007 7:56 am

Post by PeterHolbrook »

Ronald P. Regensburg wrote:If you remove the Stuffit Helper from the Startup Items folder and SheepShaver starts up normally in 64-bit mode, the Stuffit Helper is probably the problem. I expect that next launching Stuffit Helper manually will again initiate the crash.

Of course this shouldn't happen, but it will take a programmer with specific skills and lots of time to find what causes the incompatibility of some MacOS applications with SheepShaver in 64-bit mode.
Thanks for your insight, Ronald. After my previous post I checked whether removing the StuffIt Helper, etc., would solve the issue. It didn't. However, it seems almost certain that one of the extensions is causing SheepShaver to crash in 64-bit mode. I don't have plenty of time by any means, but I'll run some tests when a little time becomes available. I'll share the results in case I find something worth mentioning. Thanks.
herecomethej2000
Student Driver
Posts: 22
Joined: Fri Jun 20, 2008 3:40 pm
Contact:

Post by herecomethej2000 »

@ Ronald
That framework I created should be both 32 and 64 bit. It was easy to change the target settings in xcode to do so. Have you tried using xcode? you can create static libraries there as well.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Post by Ronald P. Regensburg »

I do not succeed in building a working SheepShaver for i386 architecture. Not with sdl-static as described above, not with your SDL.framework, and not with the 1.2.13 SDL.framework. I must be doing something wrong or there is a problem compiling for i386 architecture from the current SheepShaver source with XCode 3.2.6 in OSX 10.6.8. Compiling a working native x86_64 application works fine.

In all cases everything proceeds without errors and the result is a SheepShaver application with i386 executable. However in all cases the application does not run, crashes at launch, and in all cases the same error is written in Console:

Code: Select all

24-08-11 17:00:27	[0x0-0x4f94f9].SheepShaver[67142]	SheepShaver V2.3 by Christian Bauer and Mar"c" Hellwig
24-08-11 17:00:27	[0x0-0x4f94f9].SheepShaver[67142]	ERROR: Cannot map Low Memory Globals: Cannot allocate memory.
Have you tried using xcode? you can create static libraries there as well.
I have not tried using XCode to create static libraries. I would not know how to do that and if I succeeded in doing that I may not know how to proceed to use them for compiling SheepShaver.

I have learned a couple of tricks here, only partially knowing what I am actually doing. For using other methods, someone needs to tell me how to do that.
PeterHolbrook
Apple Corer
Posts: 273
Joined: Fri Oct 26, 2007 7:56 am

SOMobjects for Mac OS and 64 bits

Post by PeterHolbrook »

I guess this doesn't happen to the majority of users who have tried running SheepShaver in 64-bit mode, but I've finally come to realize that the "SOMobjects for Mac OS" extension causes conflicts in that mode; not in 32-bit mode, though. I'm inclined to think that my copy of that extension might have become corrupted. Is there an easy way to extract an unmodified copy of that extension from the OS 9.0.4 install CD, or is there a reliable place I can download it from?
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: SOMobjects for Mac OS and 64 bits

Post by Ronald P. Regensburg »

PeterHolbrook wrote:I guess this doesn't happen to the majority of users who have tried running SheepShaver in 64-bit mode, but I've finally come to realize that the "SOMobjects for Mac OS" extension causes conflicts in that mode; not in 32-bit mode, though. I'm inclined to think that my copy of that extension might have become corrupted. Is there an easy way to extract an unmodified copy of that extension from the OS 9.0.4 install CD, or is there a reliable place I can download it from?
SOMobjects™ for Mac OS is a shared library. I would rather expect other software that uses that library to cause the problem. And as the same problem with iCab illustrates, it does not have to be corrupted software, just a, so far, mysterious incompatibility with SheepShaver in 64-bit mode.

If you re-install the system from the 9.0.4 install CD, it should replace all 9.0.4 files with fresh copies. Make a backup copy of the startup volume disk image before you do that.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Post by Ronald P. Regensburg »

There definitely seems to be a problem building for i386 architecture.

I tried to build a i386 plus x86_64 SheepShaver. On my machine OSX 10.6.8 and XCode 3.2.6

Image

Code: Select all

cd SheepShaverBuild/SDL/SDL-1.2-patched

./autogen.sh

./configure --disable-shared --prefix=`pwd`

make CFLAGS="-arch i386 -arch x86_64" LDFLAGS="-arch i386 -arch x86_64"

make install

PATH=`pwd`/bin:$PATH
export PATH

cd ../../SheepShaver
make links

cd src/Unix
./autogen.sh --enable-sdl-static --disable-vosf --enable-sdl-audio --enable-sdl-video

make CFLAGS="-arch i386 -arch x86_64" LDFLAGS="-arch i386 -arch x86_64"

make SheepShaver_app
Everything proceeds fine and SheepShaver "make" proceeds for some time OK until it ends with this error:

Code: Select all

g++ -o dyngen -arch i386 -arch x86_64 	obj/dyngen.dgo obj/cxxdemangle.dgo
ld: warning: in obj/cxxdemangle.dgo, file was built for unsupported file format which is not the architecture being linked (i386)
Undefined symbols for architecture i386:
  "_cxx_demangle", referenced from:
      _get_reloc_expr in dyngen.dgo
      _gen_code in dyngen.dgo
      _gen_code in dyngen.dgo
      _gen_file in dyngen.dgo
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/Yc/YcHovWbq2RW0AE+8ZOZ3A++++TI/-Tmp-//ccj0Yuxd.out (No such file or directory)
make: *** [dyngen] Error 1
I tried it this way (with fresh source):

Code: Select all

cd SheepShaverBuild

export CFLAGS="-arch i386 -arch x86_64"
export LDFLAGS="-arch i386 -arch x86_64"

cd SDL/SDL-1.2-patched

./autogen.sh

./configure --disable-shared --prefix=`pwd`

make

make install

PATH=`pwd`/bin:$PATH
export PATH

cd ../../SheepShaver
make links

cd src/Unix
./autogen.sh --enable-sdl-static --disable-vosf --enable-sdl-audio --enable-sdl-video

make

make SheepShaver_app
And I got exactly the same make error.

I will stop now trying until someone finds the problem and hopefully solves it.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Post by Ronald P. Regensburg »

I could build a 64-bit SheepShaver version that can run full-screen in Lion (see earlier posts in this topic). However, SheepShaver has several issues in 64-bit mode and, unless one needs full-screen mode, running it in 32-bit mode is preferable.

In a last attempt to build a 32-bit i386 version with the SDL 1.2 version that enables full-screen mode in Lion, I installed 10.5 Leopard plus all updates on an external disk and XCode 3.1.4 (the last version for Leopard). Everything seemed to proceed fine but the resulting SheepShaver application crashes on launch in both Leopard and Snow Leopard:

Code: Select all

ERROR: Cannot map Low Memory Globals: Cannot allocate memory.
bjrule
Student Driver
Posts: 18
Joined: Thu May 21, 2009 8:23 pm

Post by bjrule »

Apart from the problems decribed in this thread, will SheepShaver run under the Lion although the SheepShaver GUI application is for PowerPC only?
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Post by Ronald P. Regensburg »

The GUI is PPC only, but it is really outdated. All SheepShaver for MacOSX builds from the past years have preferences built-in, so no GUI is needed for most circumstances. And for when the built-in preferences cannot be accessed, when running on full-screen mode or when SheepShaver keeps crashing on launch, the stand-alone prefs editor replaced the GUI years ago. It will run in Lion as does the 6 November 2010 SheepShaver build (with the exception of full-screen mode).
See the sticky topic here: http://www.emaculation.com/forum/viewtopic.php?t=6703
and read the setup guide here: http://www.emaculation.com/doku.php/she ... os_x_setup
bigjoshua
Space Cadet
Posts: 3
Joined: Thu Oct 20, 2011 3:13 pm

SheepShaver crashing constantly with OS X Lion (10.7.2)

Post by bigjoshua »

1. SheepShaver ver.2.3.20101106 running in 32-bit mode
2. OS: 10.7.2 64-bit extensions and kernel
3. Guest OS: Apple MAC OS 9.0.2
4. ROM rev. 1.6

Full screen mode - SS immediately crashing after start. No messages or diagnostic/crash reports.
Last edited by bigjoshua on Sat Nov 12, 2011 10:40 pm, edited 1 time in total.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Post by Ronald P. Regensburg »

bigjoshua wrote:Full screen mode - SS immediately crashing after start.
The 6 November 2010 build of SheepShaver will not run in full-screen mode in Lion. If you read this topic it should not surprise you, it is the very issue that this topic you are posting in is about. That build should run fine, though, in Lion in window mode. If you really need to run SheepShaver in full-screen mode, see this post (also in this topic) about a test-build that does run in full-screen mode in Lion: http://www.emaculation.com/forum/viewto ... 0085#40085

(I wish people would not post full crash reports without being asked to do so.)
bjrule
Student Driver
Posts: 18
Joined: Thu May 21, 2009 8:23 pm

Post by bjrule »

Ronald P. Regensburg wrote:The GUI is PPC only, but it is really outdated. All SheepShaver for MacOSX builds from the past years have preferences built-in, so no GUI is needed for most circumstances. And for when the built-in preferences cannot be accessed, when running on full-screen mode or when SheepShaver keeps crashing on launch, the stand-alone prefs editor replaced the GUI years ago. It will run in Lion as does the 6 November 2010 SheepShaver build (with the exception of full-screen mode).
See the sticky topic here: http://www.emaculation.com/forum/viewtopic.php?t=6703
and read the setup guide here: http://www.emaculation.com/doku.php/she ... os_x_setup
Thank you very much for this info, that's all I needed.
Elgambitero
Space Cadet
Posts: 4
Joined: Mon Nov 07, 2011 5:21 pm

Re: Status: SheepShaver and Mac OSX Lion

Post by Elgambitero »

I can't boot sheepshaver on lion, it just closes as I finish doing the second click.

I have a valid Mac OS ROM, I used it in previous versions of sheepshaver, but it seems like it doesn't even try to load it. I wondered if the fullscreen mode was on, but once i reach the sheepshaver_prefs file i don't know which is the parameter to change.

I don't know if I'm missing something...

Thanks for your attention, an sorry for my ignorance.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Status: SheepShaver and Mac OSX Lion

Post by Ronald P. Regensburg »

When you cannot access preferences in SheepShaver (in this case because SheepShaver quits or craches at launch), you can use the stand-alone prefs editor to adjust settings. Place it in the same folder with SheepShaver. http://www.emaculation.com/sheepshaver/ ... rPrefs.zip
dwm
Space Cadet
Posts: 2
Joined: Fri Apr 25, 2008 1:01 am

Re: Status: SheepShaver and Mac OSX Lion

Post by dwm »

SheepShaver alive and well on Mac OS X: Lion 10.7.2 hardware in 64-bit mode.

Just reporting all well with SheepShaver "25 October 2009 build", except for full screen. Boots incredibly fast on system with i7 and Radeon 5770.

I haven't used SheepShaver for a couple years, no need, so was very surprised when it booted in Lion without issues.

I have two 27" Asus monitors, which provides more than enough real-estate to work in. I use the screen resolution settings set at 1920 x 1160 and 60Hz, the default of the monitors. I tested the 2 newer version but didn't like the mouse issue and not being able to copy from OS9 to Lion.

I ended up here today because someone in another forum wanted to run a OS9 app that development stopped for years ago. Nice to know guys like you keep possibilities open.

Many thanks.
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Status: SheepShaver and Mac OSX Lion

Post by Cat_7 »

Hi,

I found a problem trying to build in Lion (10.7.2) from the command line with Xcode 4.1 and SDL 1.5 (31-12-2011):

g++ -I../MacOSX/Launcher -I../MacOSX -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -D_REENTRANT -DDATADIR=\"/usr/local/share/SheepShaver\" -g -O2 -I/Users/hsp/cvs/SDL-1.2.15/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -mdynamic-no-pic -fomit-frame-pointer -fno-align-functions -finline-functions -finline-limit=10000 -fno-exceptions -g0 -fno-reorder-blocks -fno-optimize-sibling-calls -c ../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp -o obj/basic-dyngen-ops.o
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp: In function ‘void op_mov_ad_A0_im()’:
../kpx_cpu/src/cpu/jit/basic-dyngen-ops.cpp:79: internal compiler error: in EmitLV_DECL, at llvm-convert.cpp:7475
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://developer.apple.com/bugreporter> for instructions.
make: *** [obj/basic-dyngen-ops.o] Error 1

Following a lead from here:
https://github.com/mxcl/homebrew/pull/6830/files

I tried:
hsps-Hack-Pro:Unix hsp$ ./configure CC="/usr/bin/gcc-4.2" CXX="/usr/bin/g++-4.2" CFLAGS="-O3" --enable-sdl-audio --enable-sdl-video --disable-vosf

which turns up this:
/usr/bin/g++-4.2 -I../MacOSX/Launcher -I../MacOSX -I../kpx_cpu/include -I../kpx_cpu/src -DUSE_JIT -I../include -I. -I../slirp -DHAVE_CONFIG_H -D_REENTRANT -DDATADIR=\"/usr/local/share/SheepShaver\" -g -O2 -I/Users/hsp/cvs/SDL-1.2.15/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -mdynamic-no-pic -c ../kpx_cpu/src/cpu/jit/cxxdemangle.cpp -o obj/cxxdemangle.dgo
/usr/bin/g++-4.2 -o dyngen obj/dyngen.dgo obj/cxxdemangle.dgo
./dyngen -o basic-dyngen-ops.hpp obj/basic-dyngen-ops.o
dyngen: unexpected external symbol _ZL11__op_PARAM2
make: *** [basic-dyngen-ops.hpp] Error 1


Any ideas?

Best,
Cat_7
Myrd
Granny Smith
Posts: 107
Joined: Mon Dec 25, 2006 4:09 am

Re: Status: SheepShaver and Mac OSX Lion

Post by Myrd »

I am not surprised by the first error, since I don't expect llvm to be able to compile this right at this point.

The second error seems to be caused by weird name mangling of op_PARAM2, which dyngen is failing to demangle.

The following change to dyngen.c might work as a work-around (though I've not tested it myself):

Code: Select all

static int is_op_param(const char *sym_name, const char **ptr)
{
	if (!strncmp(sym_name, "_ZL11", 5))
		sym_name += 5;
	return
		strstart(sym_name, "__op_param", ptr) || strstart(sym_name, "_op_param", ptr) ||
		strstart(sym_name, "__op_PARAM", ptr) || strstart(sym_name, "_op_PARAM", ptr);
}
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Status: SheepShaver and Mac OSX Lion

Post by Cat_7 »

Yep! Compiles, but the executable throws this:

SheepShaver V2.3 by Christian Bauer and Mar"c" Hellwig
ERROR: Cannot map first Kernel Data area: Cannot allocate memory.
logout

Best,
Cat_7
Myrd
Granny Smith
Posts: 107
Joined: Mon Dec 25, 2006 4:09 am

Re: Status: SheepShaver and Mac OSX Lion

Post by Myrd »

Can you run this and post the output:

Code: Select all

otool -tv obj/basic-dyngen-ops.o
Myrd
Granny Smith
Posts: 107
Joined: Mon Dec 25, 2006 4:09 am

Re: Status: SheepShaver and Mac OSX Lion

Post by Myrd »

For the runtime memory error, try rebooting your machine. (Shared memory may be allocated but not released by programs - e.g. if SheepShaver crashes - so a reboot may clear any dangling shared memory.)
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Status: SheepShaver and Mac OSX Lion

Post by Cat_7 »

basic-dyngen-ops.o:

hsps-Hack-Pro:obj hsp$ otool -tv basic-dyngen-ops.o
basic-dyngen-ops.o:
(__TEXT,__text) section
__Z15op_mov_ad_A0_imv:
0000000000000000 movq $0x0000000000000000,%r12
000000000000000a ret
__Z15op_mov_ad_A1_imv:
000000000000000b movq $0x0000000000000000,%r13
0000000000000015 ret
__Z15op_mov_ad_A2_imv:
0000000000000016 movq $0x0000000000000000,%r14
0000000000000020 ret
__Z15op_mov_32_T0_imv:
0000000000000021 leal 0x00000000(%rip),%r12d
0000000000000028 ret
__Z15op_mov_32_T0_T1v:
0000000000000029 movl %r13d,%r12d
000000000000002c ret
__Z15op_mov_32_T0_T2v:
000000000000002d movl %r14d,%r12d
0000000000000030 ret
__Z15op_mov_32_T1_imv:
0000000000000031 leal 0x00000000(%rip),%r13d
0000000000000038 ret
__Z15op_mov_32_T1_T0v:
0000000000000039 movl %r12d,%r13d
000000000000003c ret
__Z15op_mov_32_T1_T2v:
000000000000003d movl %r14d,%r13d
0000000000000040 ret
__Z15op_mov_32_T2_imv:
0000000000000041 leal 0x00000000(%rip),%r14d
0000000000000048 ret
__Z15op_mov_32_T2_T1v:
0000000000000049 movl %r13d,%r14d
000000000000004c ret
__Z15op_mov_32_T2_T0v:
000000000000004d movl %r12d,%r14d
0000000000000050 ret
__Z14op_mov_32_T0_0v:
0000000000000051 xorl %r12d,%r12d
0000000000000054 ret
__Z14op_mov_32_T1_0v:
0000000000000055 xorl %r13d,%r13d
0000000000000058 ret
__Z14op_mov_32_T2_0v:
0000000000000059 xorl %r14d,%r14d
000000000000005c ret
__Z15op_add_32_T0_T2v:
000000000000005d leal (%r14,%r12),%r12d
0000000000000061 ret
__Z15op_add_32_T0_T1v:
0000000000000062 leal 0x00(%r13,%r12),%r12d
0000000000000067 ret
__Z15op_add_32_T0_imv:
0000000000000068 leaq 0x00000000(%rip),%rax
000000000000006f addl %eax,%r12d
0000000000000072 ret
__Z14op_add_32_T0_1v:
0000000000000073 incl %r12d
0000000000000076 ret
__Z14op_add_32_T0_2v:
0000000000000077 addl $0x02,%r12d
000000000000007b ret
__Z14op_add_32_T0_4v:
000000000000007c addl $0x04,%r12d
0000000000000080 ret
__Z14op_add_32_T0_8v:
0000000000000081 addl $0x08,%r12d
0000000000000085 ret
__Z15op_sub_32_T0_T2v:
0000000000000086 subl %r14d,%r12d
0000000000000089 ret
__Z15op_sub_32_T0_T1v:
000000000000008a subl %r13d,%r12d
000000000000008d ret
__Z15op_sub_32_T0_imv:
000000000000008e leaq 0x00000000(%rip),%rax
0000000000000095 subl %eax,%r12d
0000000000000098 ret
__Z14op_sub_32_T0_1v:
0000000000000099 decl %r12d
000000000000009c ret
__Z14op_sub_32_T0_2v:
000000000000009d subl $0x02,%r12d
00000000000000a1 ret
__Z14op_sub_32_T0_4v:
00000000000000a2 subl $0x04,%r12d
00000000000000a6 ret
__Z14op_sub_32_T0_8v:
00000000000000a7 subl $0x08,%r12d
00000000000000ab ret
__Z15op_add_32_T1_T2v:
00000000000000ac leal (%r14,%r13),%r13d
00000000000000b0 ret
__Z15op_add_32_T1_T0v:
00000000000000b1 leal (%r12,%r13),%r13d
00000000000000b5 ret
__Z15op_add_32_T1_imv:
00000000000000b6 leaq 0x00000000(%rip),%rax
00000000000000bd addl %eax,%r13d
00000000000000c0 ret
__Z14op_add_32_T1_1v:
00000000000000c1 incl %r13d
00000000000000c4 ret
__Z14op_add_32_T1_2v:
00000000000000c5 addl $0x02,%r13d
00000000000000c9 ret
__Z14op_add_32_T1_4v:
00000000000000ca addl $0x04,%r13d
00000000000000ce ret
__Z14op_add_32_T1_8v:
00000000000000cf addl $0x08,%r13d
00000000000000d3 ret
__Z15op_sub_32_T1_T2v:
00000000000000d4 subl %r14d,%r13d
00000000000000d7 ret
__Z15op_sub_32_T1_T0v:
00000000000000d8 subl %r12d,%r13d
00000000000000db ret
__Z15op_sub_32_T1_imv:
00000000000000dc leaq 0x00000000(%rip),%rax
00000000000000e3 subl %eax,%r13d
00000000000000e6 ret
__Z14op_sub_32_T1_1v:
00000000000000e7 decl %r13d
00000000000000ea ret
__Z14op_sub_32_T1_2v:
00000000000000eb subl $0x02,%r13d
00000000000000ef ret
__Z14op_sub_32_T1_4v:
00000000000000f0 subl $0x04,%r13d
00000000000000f4 ret
__Z14op_sub_32_T1_8v:
00000000000000f5 subl $0x08,%r13d
00000000000000f9 ret
__Z16op_umul_32_T0_T1v:
00000000000000fa imull %r13d,%r12d
00000000000000fe ret
__Z16op_smul_32_T0_T1v:
00000000000000ff imull %r13d,%r12d
0000000000000103 ret
__Z16op_udiv_32_T0_T1v:
0000000000000104 movl %r12d,%eax
0000000000000107 xorl %edx,%edx
0000000000000109 divl %r13d
000000000000010c movl %eax,%r12d
000000000000010f ret
__Z16op_sdiv_32_T0_T1v:
0000000000000110 movl %r12d,%edx
0000000000000113 movl %r12d,%eax
0000000000000116 sarl $0x1f,%edx
0000000000000119 idivl %r13d
000000000000011c movl %eax,%r12d
000000000000011f ret
__Z16op_xchg_32_T0_T1v:
0000000000000120 xchgl %r13d,%r12d
0000000000000123 ret
__Z14op_bswap_16_T0v:
0000000000000124 movl %r12d,%eax
0000000000000127 rolw $0x08,%ax
000000000000012b movzwl %ax,%r12d
000000000000012f ret
__Z14op_bswap_32_T0v:
0000000000000130 bswap %r12d
0000000000000133 ret
__Z12op_neg_32_T0v:
0000000000000134 negl %r12d
0000000000000137 ret
__Z12op_not_32_T0v:
0000000000000138 testl %r12d,%r12d
000000000000013b sete %al
000000000000013e movzbl %al,%r12d
0000000000000142 ret
__Z12op_not_32_T1v:
0000000000000143 testl %r13d,%r13d
0000000000000146 sete %al
0000000000000149 movzbl %al,%r13d
000000000000014d ret
__Z15op_and_32_T0_T1v:
000000000000014e andl %r13d,%r12d
0000000000000151 ret
__Z15op_and_32_T0_imv:
0000000000000152 leaq 0x00000000(%rip),%rax
0000000000000159 andl %eax,%r12d
000000000000015c ret
__Z14op_or_32_T0_T1v:
000000000000015d orl %r13d,%r12d
0000000000000160 ret
__Z14op_or_32_T0_imv:
0000000000000161 leaq 0x00000000(%rip),%rax
0000000000000168 orl %eax,%r12d
000000000000016b ret
__Z15op_xor_32_T0_T1v:
000000000000016c xorl %r13d,%r12d
000000000000016f ret
__Z15op_xor_32_T0_imv:
0000000000000170 leaq 0x00000000(%rip),%rax
0000000000000177 xorl %eax,%r12d
000000000000017a ret
__Z15op_orc_32_T0_T1v:
000000000000017b movl %r13d,%eax
000000000000017e notl %eax
0000000000000180 orl %eax,%r12d
0000000000000183 ret
__Z16op_andc_32_T0_T1v:
0000000000000184 movl %r13d,%eax
0000000000000187 notl %eax
0000000000000189 andl %eax,%r12d
000000000000018c ret
__Z16op_nand_32_T0_T1v:
000000000000018d movl %r13d,%eax
0000000000000190 andl %r12d,%eax
0000000000000193 movl %eax,%r12d
0000000000000196 notl %r12d
0000000000000199 ret
__Z15op_nor_32_T0_T1v:
000000000000019a movl %r13d,%eax
000000000000019d orl %r12d,%eax
00000000000001a0 movl %eax,%r12d
00000000000001a3 notl %r12d
00000000000001a6 ret
__Z15op_eqv_32_T0_T1v:
00000000000001a7 movl %r13d,%eax
00000000000001aa xorl %r12d,%eax
00000000000001ad movl %eax,%r12d
00000000000001b0 notl %r12d
00000000000001b3 ret
__Z15op_lsl_32_T0_T1v:
00000000000001b4 movl %r13d,%ecx
00000000000001b7 shll %cl,%r12d
00000000000001ba ret
__Z15op_lsl_32_T0_imv:
00000000000001bb leaq 0x00000000(%rip),%rcx
00000000000001c2 shll %cl,%r12d
00000000000001c5 ret
__Z15op_lsr_32_T0_T1v:
00000000000001c6 movl %r13d,%ecx
00000000000001c9 shrl %cl,%r12d
00000000000001cc ret
__Z15op_lsr_32_T0_imv:
00000000000001cd leaq 0x00000000(%rip),%rcx
00000000000001d4 shrl %cl,%r12d
00000000000001d7 ret
__Z15op_asr_32_T0_T1v:
00000000000001d8 movl %r13d,%ecx
00000000000001db sarl %cl,%r12d
00000000000001de ret
__Z15op_asr_32_T0_imv:
00000000000001df leaq 0x00000000(%rip),%rcx
00000000000001e6 sarl %cl,%r12d
00000000000001e9 ret
__Z15op_rol_32_T0_T1v:
00000000000001ea movl %r13d,%ecx
00000000000001ed roll %cl,%r12d
00000000000001f0 ret
__Z15op_rol_32_T0_imv:
00000000000001f1 movl %r12d,%eax
00000000000001f4 leaq 0x00000000(%rip),%rsi
00000000000001fb movl $0x00000020,%ecx
0000000000000200 subl %esi,%ecx
0000000000000202 movl %r12d,%edx
0000000000000205 shrl %cl,%edx
0000000000000207 movl %esi,%ecx
0000000000000209 shll %cl,%eax
000000000000020b movl %edx,%r12d
000000000000020e orl %eax,%r12d
0000000000000211 ret
__Z15op_ror_32_T0_T1v:
0000000000000212 movl %r13d,%ecx
0000000000000215 rorl %cl,%r12d
0000000000000218 ret
__Z15op_ror_32_T0_imv:
0000000000000219 pushq %rbx
000000000000021a movl %r12d,%eax
000000000000021d leaq 0x00000000(%rip),%rdx
0000000000000224 movl $0x00000020,%ecx
0000000000000229 subl %edx,%ecx
000000000000022b movl %r12d,%esi
000000000000022e shll %cl,%esi
0000000000000230 movl %edx,%ecx
0000000000000232 shrl %cl,%eax
0000000000000234 movl %esi,%r12d
0000000000000237 orl %eax,%r12d
000000000000023a popq %rbx
000000000000023b ret
__Z14op_se_16_32_T0v:
000000000000023c movswl %sp,%r12d
0000000000000240 ret
__Z14op_se_16_32_T1v:
0000000000000241 movswl %bp,%r13d
0000000000000245 ret
__Z14op_ze_16_32_T0v:
0000000000000246 movzwl %sp,%r12d
000000000000024a ret
__Z13op_se_8_32_T0v:
000000000000024b movsbl %ah,%r12d
000000000000024f ret
__Z13op_ze_8_32_T0v:
0000000000000250 movzbl %ah,%r12d
0000000000000254 ret
__Z19op_load_u32_T0_T1_0v:
0000000000000255 movl %r13d,%eax
0000000000000258 movl (%rax),%eax
000000000000025a movl %eax,%r12d
000000000000025d bswap %r12d
0000000000000260 ret
__Z20op_store_32_T0_T1_imv:
0000000000000261 movl %r12d,%ecx
0000000000000264 bswap %ecx
0000000000000266 movl %r13d,%eax
0000000000000269 leaq 0x00000000(%rip),%rdx
0000000000000270 movl %ecx,(%rax,%rdx)
0000000000000273 ret
__Z19op_load_u16_T0_T1_0v:
0000000000000274 movl %r13d,%eax
0000000000000277 movzwl (%rax),%eax
000000000000027a rolw $0x08,%ax
000000000000027e movzwl %ax,%r12d
0000000000000282 ret
__Z19op_store_16_T0_T1_0v:
0000000000000283 movl %r13d,%edx
0000000000000286 movl %r12d,%eax
0000000000000289 rolw $0x08,%ax
000000000000028d movw %ax,(%rdx)
0000000000000290 ret
__Z18op_load_s8_T0_T1_0v:
0000000000000291 movl %r13d,%eax
0000000000000294 movsbl (%rax),%r12d
0000000000000298 ret
__Z18op_store_8_T0_T1_0v:
0000000000000299 movl %r13d,%eax
000000000000029c movb %r12b,(%rax)
000000000000029f ret
_op_execute:
00000000000002a0 pushq %rbx
00000000000002a1 subq $0x000000a0,%rsp
00000000000002a8 movq %rdi,%rbx
00000000000002ab movq %rbp,0x00000098(%rsp)
00000000000002b3 movq %r12,0x00000090(%rsp)
00000000000002bb movq %r13,0x00000088(%rsp)
00000000000002c3 movq %r14,0x00000080(%rsp)
00000000000002cb movq %rsi,%rbp
00000000000002ce jmp *%rdi
00000000000002d0 call *%rbx
00000000000002d2 movq 0x00000080(%rsp),%rax
00000000000002da movq %rax,%r14
00000000000002dd movq 0x00000088(%rsp),%rax
00000000000002e5 movq %rax,%r13
00000000000002e8 movq 0x00000090(%rsp),%rax
00000000000002f0 movq %rax,%r12
00000000000002f3 movq 0x00000098(%rsp),%rax
00000000000002fb movq %rax,%rbp
00000000000002fe addq $0x000000a0,%rsp
0000000000000305 popq %rbx
0000000000000306 ret
__Z11op_jmp_slowv:
0000000000000307 leaq 0x00000000(%rip),%rax
000000000000030e jmp *%rax
0000000000000310 ret
__Z11op_jmp_fastv:
0000000000000311 jmp 0x00000316
0000000000000316 ret
__Z9op_jmp_A0v:
0000000000000317 jmp *%r12
000000000000031a nopw 0x00(%rax,%rax)
0000000000000320 ret
__ZL14impl_op_invokev:
0000000000000321 subq $0x08,%rsp
op_invoke:
0000000000000325 movq $0x0000000000000000,%rax
000000000000032f call *%rax
0000000000000331 ret
.op_invoke:
0000000000000332 addq $0x08,%rsp
0000000000000336 ret
__ZL17impl_op_invoke_T0v:
0000000000000337 subq $0x08,%rsp
op_invoke_T0:
000000000000033b movq $0x0000000000000000,%rax
0000000000000345 movl %r12d,%edi
0000000000000348 call *%rax
000000000000034a ret
.op_invoke_T0:
000000000000034b addq $0x08,%rsp
000000000000034f ret
__ZL20impl_op_invoke_T0_T1v:
0000000000000350 subq $0x08,%rsp
op_invoke_T0_T1:
0000000000000354 movq $0x0000000000000000,%rax
000000000000035e movl %r13d,%esi
0000000000000361 movl %r12d,%edi
0000000000000364 call *%rax
0000000000000366 ret
.op_invoke_T0_T1:
0000000000000367 addq $0x08,%rsp
000000000000036b ret
__ZL23impl_op_invoke_T0_T1_T2v:
000000000000036c subq $0x08,%rsp
op_invoke_T0_T1_T2:
0000000000000370 movq $0x0000000000000000,%rax
000000000000037a movl %r14d,%edx
000000000000037d movl %r13d,%esi
0000000000000380 movl %r12d,%edi
0000000000000383 call *%rax
0000000000000385 ret
.op_invoke_T0_T1_T2:
0000000000000386 addq $0x08,%rsp
000000000000038a ret
__ZL24impl_op_invoke_T0_ret_T0v:
000000000000038b subq $0x08,%rsp
op_invoke_T0_ret_T0:
000000000000038f movq $0x0000000000000000,%rax
0000000000000399 movl %r12d,%edi
000000000000039c call *%rax
000000000000039e movl %eax,%r12d
00000000000003a1 ret
.op_invoke_T0_ret_T0:
00000000000003a2 addq $0x08,%rsp
00000000000003a6 ret
__ZL17impl_op_invoke_imv:
00000000000003a7 subq $0x08,%rsp
op_invoke_im:
00000000000003ab movq $0x0000000000000000,%rax
00000000000003b5 leal 0x00000000(%rip),%edi
00000000000003bb call *%rax
00000000000003bd ret
.op_invoke_im:
00000000000003be addq $0x08,%rsp
00000000000003c2 ret
__ZL18impl_op_invoke_CPUv:
00000000000003c3 subq $0x08,%rsp
op_invoke_CPU:
00000000000003c7 movq $0x0000000000000000,%rax
00000000000003d1 movq %rbp,%rdi
00000000000003d4 call *%rax
00000000000003d6 ret
.op_invoke_CPU:
00000000000003d7 addq $0x08,%rsp
00000000000003db ret
__ZL21impl_op_invoke_CPU_T0v:
00000000000003dc subq $0x08,%rsp
op_invoke_CPU_T0:
00000000000003e0 movq $0x0000000000000000,%rax
00000000000003ea movl %r12d,%esi
00000000000003ed movq %rbp,%rdi
00000000000003f0 call *%rax
00000000000003f2 ret
.op_invoke_CPU_T0:
00000000000003f3 addq $0x08,%rsp
00000000000003f7 ret
__ZL21impl_op_invoke_CPU_imv:
00000000000003f8 subq $0x08,%rsp
op_invoke_CPU_im:
00000000000003fc movq $0x0000000000000000,%rax
0000000000000406 movq %rbp,%rdi
0000000000000409 leal 0x00000000(%rip),%esi
000000000000040f call *%rax
0000000000000411 ret
.op_invoke_CPU_im:
0000000000000412 addq $0x08,%rsp
0000000000000416 ret
__ZL24impl_op_invoke_CPU_im_imv:
0000000000000417 subq $0x08,%rsp
op_invoke_CPU_im_im:
000000000000041b movq $0x0000000000000000,%rax
0000000000000425 movq %rbp,%rdi
0000000000000428 leal 0x00000000(%rip),%edx
000000000000042e leal 0x00000000(%rip),%esi
0000000000000434 call *%rax
0000000000000436 ret
.op_invoke_CPU_im_im:
0000000000000437 addq $0x08,%rsp
000000000000043b ret
__ZL28impl_op_invoke_CPU_A0_ret_A0v:
000000000000043c subq $0x08,%rsp
op_invoke_CPU_A0_ret_A0:
0000000000000440 movq $0x0000000000000000,%rax
000000000000044a movq %r12,%rsi
000000000000044d movq %rbp,%rdi
0000000000000450 call *%rax
0000000000000452 movq %rax,%r12
0000000000000455 ret
.op_invoke_CPU_A0_ret_A0:
0000000000000456 addq $0x08,%rsp
000000000000045a ret
__ZL21impl_op_invoke_directv:
000000000000045b subq $0x08,%rsp
op_invoke_direct:
000000000000045f callq 0x00000464
0000000000000464 ret
.op_invoke_direct:
0000000000000465 addq $0x08,%rsp
0000000000000469 ret
__ZL24impl_op_invoke_direct_T0v:
000000000000046a subq $0x08,%rsp
op_invoke_direct_T0:
000000000000046e movl %r12d,%edi
0000000000000471 callq 0x00000476
0000000000000476 ret
.op_invoke_direct_T0:
0000000000000477 addq $0x08,%rsp
000000000000047b ret
__ZL27impl_op_invoke_direct_T0_T1v:
000000000000047c subq $0x08,%rsp
op_invoke_direct_T0_T1:
0000000000000480 movl %r13d,%esi
0000000000000483 movl %r12d,%edi
0000000000000486 callq 0x0000048b
000000000000048b ret
.op_invoke_direct_T0_T1:
000000000000048c addq $0x08,%rsp
0000000000000490 ret
__ZL30impl_op_invoke_direct_T0_T1_T2v:
0000000000000491 subq $0x08,%rsp
op_invoke_direct_T0_T1_T2:
0000000000000495 movl %r14d,%edx
0000000000000498 movl %r13d,%esi
000000000000049b movl %r12d,%edi
000000000000049e callq 0x000004a3
00000000000004a3 ret
.op_invoke_direct_T0_T1_T2:
00000000000004a4 addq $0x08,%rsp
00000000000004a8 ret
__ZL31impl_op_invoke_direct_T0_ret_T0v:
00000000000004a9 subq $0x08,%rsp
op_invoke_direct_T0_ret_T0:
00000000000004ad movl %r12d,%edi
00000000000004b0 callq 0x000004b5
00000000000004b5 movl %eax,%r12d
00000000000004b8 ret
.op_invoke_direct_T0_ret_T0:
00000000000004b9 addq $0x08,%rsp
00000000000004bd ret
__ZL24impl_op_invoke_direct_imv:
00000000000004be subq $0x08,%rsp
op_invoke_direct_im:
00000000000004c2 leal 0x00000000(%rip),%edi
00000000000004c8 callq 0x000004cd
00000000000004cd ret
.op_invoke_direct_im:
00000000000004ce addq $0x08,%rsp
00000000000004d2 ret
__ZL25impl_op_invoke_direct_CPUv:
00000000000004d3 subq $0x08,%rsp
op_invoke_direct_CPU:
00000000000004d7 movq %rbp,%rdi
00000000000004da callq 0x000004df
00000000000004df ret
.op_invoke_direct_CPU:
00000000000004e0 addq $0x08,%rsp
00000000000004e4 ret
__ZL28impl_op_invoke_direct_CPU_T0v:
00000000000004e5 subq $0x08,%rsp
op_invoke_direct_CPU_T0:
00000000000004e9 movl %r12d,%esi
00000000000004ec movq %rbp,%rdi
00000000000004ef callq 0x000004f4
00000000000004f4 ret
.op_invoke_direct_CPU_T0:
00000000000004f5 addq $0x08,%rsp
00000000000004f9 ret
__ZL28impl_op_invoke_direct_CPU_imv:
00000000000004fa subq $0x08,%rsp
op_invoke_direct_CPU_im:
00000000000004fe movq %rbp,%rdi
0000000000000501 leal 0x00000000(%rip),%esi
0000000000000507 callq 0x0000050c
000000000000050c ret
.op_invoke_direct_CPU_im:
000000000000050d addq $0x08,%rsp
0000000000000511 ret
__ZL31impl_op_invoke_direct_CPU_im_imv:
0000000000000512 subq $0x08,%rsp
op_invoke_direct_CPU_im_im:
0000000000000516 movq %rbp,%rdi
0000000000000519 leal 0x00000000(%rip),%edx
000000000000051f leal 0x00000000(%rip),%esi
0000000000000525 callq 0x0000052a
000000000000052a ret
.op_invoke_direct_CPU_im_im:
000000000000052b addq $0x08,%rsp
000000000000052f ret
__ZL35impl_op_invoke_direct_CPU_A0_ret_A0v:
0000000000000530 subq $0x08,%rsp
op_invoke_direct_CPU_A0_ret_A0:
0000000000000534 movq %r12,%rsi
0000000000000537 movq %rbp,%rdi
000000000000053a callq 0x0000053f
000000000000053f movq %rax,%r12
0000000000000542 ret
.op_invoke_direct_CPU_A0_ret_A0:
0000000000000543 addq $0x08,%rsp
0000000000000547 ret
__Z18op_load_u8_T0_T1_0v:
0000000000000548 movl %r13d,%eax
000000000000054b movzbl (%rax),%r12d
000000000000054f ret
__Z19op_load_s8_T0_T1_T2v:
0000000000000550 leal (%r14,%r13),%eax
0000000000000554 movsbl (%rax),%r12d
0000000000000558 ret
__Z19op_load_u8_T0_T1_T2v:
0000000000000559 leal (%r14,%r13),%eax
000000000000055d movzbl (%rax),%r12d
0000000000000561 ret
__Z19op_load_s8_T0_T1_imv:
0000000000000562 movl %r13d,%edx
0000000000000565 leaq 0x00000000(%rip),%rax
000000000000056c movsbl (%rdx,%rax),%r12d
0000000000000571 ret
__Z19op_load_u8_T0_T1_imv:
0000000000000572 movl %r13d,%edx
0000000000000575 leaq 0x00000000(%rip),%rax
000000000000057c movzbl (%rdx,%rax),%r12d
0000000000000581 ret
__Z20op_load_s32_T0_T1_T2v:
0000000000000582 leal (%r14,%r13),%eax
0000000000000586 movl (%rax),%eax
0000000000000588 movl %eax,%r12d
000000000000058b bswap %r12d
000000000000058e ret
__Z20op_load_u32_T0_T1_T2v:
000000000000058f leal (%r14,%r13),%eax
0000000000000593 movl (%rax),%eax
0000000000000595 movl %eax,%r12d
0000000000000598 bswap %r12d
000000000000059b ret
__Z20op_load_s32_T0_T1_imv:
000000000000059c movl %r13d,%edx
000000000000059f leaq 0x00000000(%rip),%rax
00000000000005a6 movl (%rdx,%rax),%eax
00000000000005a9 movl %eax,%r12d
00000000000005ac bswap %r12d
00000000000005af ret
__Z20op_load_u32_T0_T1_imv:
00000000000005b0 movl %r13d,%edx
00000000000005b3 leaq 0x00000000(%rip),%rax
00000000000005ba movl (%rdx,%rax),%eax
00000000000005bd movl %eax,%r12d
00000000000005c0 bswap %r12d
00000000000005c3 ret
__Z19op_load_s32_T0_T1_0v:
00000000000005c4 movl %r13d,%eax
00000000000005c7 movl (%rax),%eax
00000000000005c9 movl %eax,%r12d
00000000000005cc bswap %r12d
00000000000005cf ret
__Z20op_load_s16_T0_T1_T2v:
00000000000005d0 leal (%r14,%r13),%eax
00000000000005d4 movzwl (%rax),%eax
00000000000005d7 rolw $0x08,%ax
00000000000005db movswl %ax,%r12d
00000000000005df ret
__Z20op_load_u16_T0_T1_T2v:
00000000000005e0 leal (%r14,%r13),%eax
00000000000005e4 movzwl (%rax),%eax
00000000000005e7 rolw $0x08,%ax
00000000000005eb movzwl %ax,%r12d
00000000000005ef ret
__Z20op_load_s16_T0_T1_imv:
00000000000005f0 movl %r13d,%edx
00000000000005f3 leaq 0x00000000(%rip),%rax
00000000000005fa movzwl (%rdx,%rax),%eax
00000000000005fe rolw $0x08,%ax
0000000000000602 movswl %ax,%r12d
0000000000000606 ret
__Z20op_load_u16_T0_T1_imv:
0000000000000607 movl %r13d,%edx
000000000000060a leaq 0x00000000(%rip),%rax
0000000000000611 movzwl (%rdx,%rax),%eax
0000000000000615 rolw $0x08,%ax
0000000000000619 movzwl %ax,%r12d
000000000000061d ret
__Z19op_load_s16_T0_T1_0v:
000000000000061e movl %r13d,%eax
0000000000000621 movzwl (%rax),%eax
0000000000000624 rolw $0x08,%ax
0000000000000628 movswl %ax,%r12d
000000000000062c ret
__Z19op_store_32_T0_T1_0v:
000000000000062d movl %r12d,%edx
0000000000000630 bswap %edx
0000000000000632 movl %r13d,%eax
0000000000000635 movl %edx,(%rax)
0000000000000637 ret
__Z19op_store_8_T0_T1_T2v:
0000000000000638 leal (%r14,%r13),%eax
000000000000063c movb %r12b,(%rax)
000000000000063f ret
__Z19op_store_8_T0_T1_imv:
0000000000000640 movl %r13d,%edx
0000000000000643 leaq 0x00000000(%rip),%rax
000000000000064a movb %r12b,(%rdx,%rax)
000000000000064e ret
__Z20op_store_32_T0_T1_T2v:
000000000000064f movl %r14d,%edx
0000000000000652 movl %r12d,%ecx
0000000000000655 bswap %ecx
0000000000000657 addl %r13d,%edx
000000000000065a movl %ecx,(%rdx)
000000000000065c ret
__Z20op_store_16_T0_T1_T2v:
000000000000065d leal (%r14,%r13),%edx
0000000000000661 movl %r12d,%eax
0000000000000664 rolw $0x08,%ax
0000000000000668 movw %ax,(%rdx)
000000000000066b ret
__Z20op_store_16_T0_T1_imv:
000000000000066c movl %r13d,%ecx
000000000000066f movl %r12d,%edx
0000000000000672 rolw $0x08,%dx
0000000000000676 leaq 0x00000000(%rip),%rax
000000000000067d movw %dx,(%rcx,%rax)
0000000000000681 ret
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Status: SheepShaver and Mac OSX Lion

Post by Cat_7 »

Hi,

The runtime error doesn't get fixed with a restart.

Best,
Cat_7
Myrd
Granny Smith
Posts: 107
Joined: Mon Dec 25, 2006 4:09 am

Re: Status: SheepShaver and Mac OSX Lion

Post by Myrd »

Myrd wrote:I am not surprised by the first error, since I don't expect llvm to be able to compile this right at this point.

The second error seems to be caused by weird name mangling of op_PARAM2, which dyngen is failing to demangle.

The following change to dyngen.c might work as a work-around (though I've not tested it myself):

Code: Select all

static int is_op_param(const char *sym_name, const char **ptr)
{
	if (!strncmp(sym_name, "_ZL11", 5))
		sym_name += 5;
	return
		strstart(sym_name, "__op_param", ptr) || strstart(sym_name, "_op_param", ptr) ||
		strstart(sym_name, "__op_PARAM", ptr) || strstart(sym_name, "_op_PARAM", ptr);
}
Instead of this, can you try the following:

In dyngen-exec.h, change:

Code: Select all

#if defined(__APPLE__) && defined(__MACH__)
static int __op_PARAM1, __op_PARAM2, __op_PARAM3;
#else
to:

Code: Select all

#if defined(__APPLE__) && defined(__MACH__)
extern "C" {
static int __op_PARAM1, __op_PARAM2, __op_PARAM3;
}
#else
Can you tell me if rebuilding SheepShaver with this change (with the other change reverted) works correctly? If so, I'll make this change in CVS.
User avatar
Cat_7
Expert User
Posts: 6145
Joined: Fri Feb 13, 2004 8:59 am
Location: Sittard, The Netherlands

Re: Status: SheepShaver and Mac OSX Lion

Post by Cat_7 »

Hi,

Your last suggestion brings me back to the first error I reported.
My code in dyngen-exec.h now looks like this:

#define PARAM1 PARAMN(1)
#define PARAM2 PARAMN(2)
#define PARAM3 PARAMN(3)
#else
#if defined(__APPLE__) && defined(__MACH__)
extern "C" {
static int __op_PARAM1, __op_PARAM2, __op_PARAM3;
}
#else
extern int __op_PARAM1, __op_PARAM2, __op_PARAM3;
#endif
#define PARAM1 ((long)(&__op_PARAM1))
#define PARAM2 ((long)(&__op_PARAM2))
#define PARAM3 ((long)(&__op_PARAM3))
#endif
Post Reply