30 September 2017, 14:51 | #21 | |
Registered User
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,545
|
Quote:
-L gives path to lib folder only (LDFLAGS), remove that too. ppc-amigaos-g++ -warpup sdltest2.cpp libSDL-wos.a -o sdltest801.elf since ppc-amigaos-g++ is also the linker, it 1st build sdltest2.o, searching for unresolved things and then uses libSDL-wos.a to fillin what is missing in sdltest2.o. with the wrong order, it may ignore all from libSDL-wos.a, so functions are missing when it goes to sdltest2.o so the link libs must be placed always at the end of the link object chain. it's easier when you have a working makefile: Code:
LD = ppc-amigaos-g++ LDOPTS = -warpos OBJECTS = sdltest2.o LIBS = libSDL-wos.a $(LD) $(LDOPTS) $(OBJECTS) -o sdltest801.elf $(LIBS) #2) not sure about correct path, but is there anything usefull in: ppc-gcc-2.95.3-base/ppc-amigaos/lib/ ? with the 68k toolchain i have something like this, for example: /opt/m68k-amigaos/m68k-amigaos/libnix/lib/libamiga.a which could be linked in with -lamiga . maybe automaticaly invoced by -noixemul or such options. dunno exactly the mechanism. Last edited by emufan; 30 September 2017 at 15:17. |
|
30 September 2017, 15:14 | #22 | |
Registered User
Join Date: Dec 2015
Location: USA
Posts: 2,915
|
Quote:
I'll try making a makefile. ppc-amigaos/lib has: sdlppc.lib 248692 ----rwed 16-Sep-17 16:38:38 libSDL_wos.a 328396 ----rw-d Yesterday 19:07:47 end.o 874 ----rwed 18-Sep-16 20:26:41 libc.a 241952 ----rwed 18-Sep-16 20:26:41 libcwos.a 249608 ----rwed 18-Sep-16 20:26:41 libm.a 37510 ----rwed 18-Sep-16 20:26:41 libppcamiga.a 21378 ----rwed 18-Sep-16 20:26:41 startup.o 3336 ----rwed 18-Sep-16 20:26:41 startupwos.o 3140 ----rwed 18-Sep-16 20:26:41 libiberty.a 123492 ----rw-d 18-Sep-16 20:26:42 libstdc++.a.2.10.0 853292 ----rw-d 18-Sep-16 20:26:42 ldscripts Dir ----rwed 21-Sep-16 06:48:50 libdllppc.a 11084 ----rw-d 23-Sep-16 18:50:58 Last edited by grelbfarlk; 30 September 2017 at 15:31. |
|
30 September 2017, 15:25 | #23 |
Registered User
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,545
|
read this from 2003:
Code:
I compiled some static unix libraries for the PPC processor but the programs compiled with these libraries won't be changed to WarpOS format with the Elf2exe util. ... Error: Undefined Symbol: PPCCallOS ... does it mean you have to convert the *.o with Elf2exe to make it a finished build? #1) you can try to find for example the PPCCallOS: nm -l libppcamiga.a | grep PPCCallOS if it's included try add to LDFLAGS -lppcamiga to make it even more weird: while reading i found WarpUP mentioned. is this the same as WarpOS ?! Last edited by emufan; 30 September 2017 at 15:42. |
30 September 2017, 15:37 | #24 | |
Registered User
Join Date: Dec 2015
Location: USA
Posts: 2,915
|
Quote:
I'm pretty sure it did run it on it, elf2exe2 on a different file that was run on it gives the same output: 8.Ram Disk:> elf2exe2 gameppc.dll gameppc.exe Error: Wrong magic number in ELF-header ! Error: Error processing Elffile ! 8.Ram Disk:> elf2exe2 libSDL_wos.a libSDL_wos.lib Error: Wrong magic number in ELF-header ! Error: Error processing Elffile ! The different naming between WarpUP and WarpOS screws me up all the time. PPCCallOS isn't in libppcamiga.a Last edited by grelbfarlk; 30 September 2017 at 15:50. |
|
30 September 2017, 15:45 | #25 | |
Registered User
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,545
|
Quote:
#1) StormC4 is still being sold and supported product. too bad. they also offer the gnu source code of StormC4 i just zoned. Last edited by emufan; 30 September 2017 at 15:51. |
|
30 September 2017, 15:56 | #26 | |
Registered User
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,545
|
Quote:
there must be something what provides this function, and all the others you have to link with. #1) those .a are some sort of "special" archive. which hold those *.o objects files of a project. each of those *.o , or .wo files holds a fucntion, can be extracted, manipulated with objdump. eg: objdump.exe -f libSDL_wos.a #2) objdump.exe -a libSDL_wos.a | grep -i flip --> no result, same for init *hmmm* others are listed: Code:
$ objdump.exe -a libSDL_wos.a | grep -i cgx SDL_cgxvideo.wo: file format elf32-big rw-r--r-- 65534/65534 17192 Sep 29 00:06 2017 SDL_cgxvideo.wo SDL_cgxaccel.wo: file format elf32-big rw-r--r-- 65534/65534 3684 Sep 29 00:06 2017 SDL_cgxaccel.wo SDL_cgxgl_wrapper.wo: file format elf32-big rw-r--r-- 65534/65534 612 Sep 29 00:06 2017 SDL_cgxgl_wrapper.wo Code:
$ objdump.exe -s libSDL_wos.a | grep -i flip $ objdump.exe -s libSDL_wos.a | grep -i cgx SDL_cgxvideo.wo: file format elf32-big 0080 43475800 696e7475 6974696f 6e2e6c69 CGX.intuition.li 0160 74656420 43475820 64697370 6c617900 ted CGX display. SDL_cgxmodes.wo: file format elf32-big SDL_cgximage.wo: file format elf32-big SDL_cgxgl.wo: file format elf32-big SDL_cgxwm.wo: file format elf32-big SDL_cgxyuv.wo: file format elf32-big SDL_cgxaccel.wo: file format elf32-big SDL_cgxgl_wrapper.wo: file format elf32-big is there a SDL_Flip.wo in the objects or src folder? Last edited by emufan; 30 September 2017 at 16:10. |
|
30 September 2017, 15:58 | #27 | |
Registered User
Join Date: Dec 2015
Location: USA
Posts: 2,915
|
Quote:
Thinking maybe I botched something in compiling the orignal lib here's the output of the make: Code:
9.Gorkbench:ADE/SDL-AmigaSrc> make libSDL_wos.a -B ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_error.wo -c SDL_error.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_fatal.wo -c SDL_fatal.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_RLEaccel.wo -c SDL_RLEaccel.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_blit.wo -c SDL_blit.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_blit_0.wo -c SDL_blit_0.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_blit_1.wo -c SDL_blit_1.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_blit_A.wo -c SDL_blit_A.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_blit_N.wo -c SDL_blit_N.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_bmp.wo -c SDL_bmp.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_cursor.wo -c SDL_cursor.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_pixels.wo -c SDL_pixels.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_surface.wo -c SDL_surface.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_stretch.wo -c SDL_stretch.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_yuv.wo -c SDL_yuv.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_yuv_sw.wo -c SDL_yuv_sw.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_yuv_mmx.wo -c SDL_yuv_mmx.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_video.wo -c SDL_video.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_audio.wo -c SDL_audio.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_audiocvt.wo -c SDL_audiocvt.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_audiomem.wo -c SDL_audiomem.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_mixer.wo -c SDL_mixer.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_wave.wo -c SDL_wave.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_ahiaudio.wo -c SDL_ahiaudio.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_systimer.wo -c SDL_systimer.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_timer.wo -c SDL_timer.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_joystick.wo -c SDL_joystick.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_sysjoystick.wo -c SDL_sysjoystick.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_cdrom.wo -c SDL_cdrom.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_syscdrom.wo -c SDL_syscdrom.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_quit.wo -c SDL_quit.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_active.wo -c SDL_active.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_keyboard.wo -c SDL_keyboard.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_mouse.wo -c SDL_mouse.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_resize.wo -c SDL_resize.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_rwops.wo -c SDL_rwops.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_endian.wo -c SDL_endian.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL.wo -c SDL.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_events.wo -c SDL_events.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_sysmutex.wo -c SDL_sysmutex.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_syssem.wo -c SDL_syssem.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_systhread.wo -c SDL_systhread.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_thread.wo -c SDL_thread.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_syscond.wo -c SDL_syscond.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_cgxvideo.wo -c SDL_cgxvideo.c SDL_cgxvideo.c: In function `CGX_CreateDevice': SDL_cgxvideo.c:251: warning: assignment from incompatible pointer type SDL_cgxvideo.c: In function `CGX_VideoInit': SDL_cgxvideo.c:595: warning: passing arg 5 of `GetDisplayInfoData' makes integer from pointer without a cast SDL_cgxvideo.c: In function `CGX_CreateWindow': SDL_cgxvideo.c:738: warning: passing arg 5 of `GetDisplayInfoData' makes integer from pointer without a cast ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_cgxmodes.wo -c SDL_cgxmodes.c SDL_cgxmodes.c: In function `CGX_GetVideoModes': SDL_cgxmodes.c:133: warning: passing arg 5 of `GetDisplayInfoData' makes integer from pointer without a cast ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_cgximage.wo -c SDL_cgximage.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_amigaevents.wo -c SDL_amigaevents.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_amigamouse.wo -c SDL_amigamouse.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_cgxgl.wo -c SDL_cgxgl.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_cgxwm.wo -c SDL_cgxwm.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_cgxyuv.wo -c SDL_cgxyuv.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_cgxaccel.wo -c SDL_cgxaccel.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_cgxgl_wrapper.wo -c SDL_cgxgl_wrapper.c ppc-amigaos-gcc -warpup -O2 -fomit-frame-pointer -mcpu=750 -mmultiple -DENABLE_CYBERGRAPHICS -DENABLE_AHI -DNO_SIGNAL_H -DWARPOS -DNO_AMIGADEBUG -o SDL_gamma.wo -c SDL_gamma.c rm -f lib/libSDL_wos.a ppc-amigaos-ar cru libSDL_wos.a SDL_error.wo SDL_fatal.wo SDL_RLEaccel.wo SDL_blit.wo SDL_blit_0.wo SDL_blit_1.wo SDL_blit_A.wo SDL_blit_N.wo SDL_bmp.wo SDL_cursor.wo SDL_pixels.wo SDL_surface.wo SDL_stretch.wo SDL_yuv.wo SDL_yuv_sw.wo SDL_yuv_mmx.wo SDL_video.wo SDL_audio.wo SDL_audiocvt.wo SDL_audiomem.wo SDL_mixer.wo SDL_wave.wo SDL_ahiaudio.wo SDL_systimer.wo SDL_timer.wo SDL_joystick.wo SDL_sysjoystick.wo SDL_cdrom.wo SDL_syscdrom.wo SDL_quit.wo SDL_active.wo SDL_keyboard.wo SDL_mouse.wo SDL_resize.wo SDL_rwops.wo SDL_endian.wo SDL.wo SDL_events.wo SDL_sysmutex.wo SDL_syssem.wo SDL_systhread.wo SDL_thread.wo SDL_syscond.wo SDL_cgxvideo.wo SDL_cgxmodes.wo SDL_cgximage.wo SDL_amigaevents.wo SDL_amigamouse.wo SDL_cgxgl.wo SDL_cgxwm.wo SDL_cgxyuv.wo SDL_cgxaccel.wo SDL_cgxgl_wrapper.wo SDL_gamma.wo ppc-amigaos-ranlib libSDL_wos.a |
|
30 September 2017, 16:12 | #28 | |
Registered User
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,545
|
Quote:
or it's a function in one of those .wo ? *i'm confused* #2) Flip is in SDL_Video.wo: Code:
$ ar -x libSDL_wos.a // produces *.wo $ grep Flip *.wo Binary file SDL_cgximage.wo matches Binary file SDL_cgxvideo.wo matches Binary file SDL_video.wo matches Code:
ppc-amigaos-g++ -warpup sdltest2.cpp SDL_video.wo SDL_cgxvideo.wo \ SDL_cgximage.wo -o sdltest801.elf Last edited by emufan; 30 September 2017 at 16:37. |
|
30 September 2017, 16:13 | #29 |
Registered User
Join Date: Apr 2013
Location: Mallorca
Posts: 758
|
elf2exe2/warpcollect is not needed if using latest gcc stuff.
Do a simple intuition window open/close mini program. Start with the 68k version, then warpos. Show the assembly output (-S) -o whatever.asm. See the uglyness I have some of those done in some place. A simple "hello word!" works, an intuition warpos program got in a loop waiting. I compiled the minigl lib+demos, but only got a grey screen. If someone could figure out how to redo the whole gcc/g++ binaries for warpos with latest includes something could be done. By the way, it is possible to use the output gcc object files to work with vbcc vasm/vlink.? Maybe some serious editing of the raw text assembly could be later used for a proper bin. |
30 September 2017, 16:38 | #30 | |
Registered User
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,545
|
Quote:
Code:
cd stormc4_gnu_sources/gcc/src CC="ppc-amigaos-gcc" CFLAGS="-warpup" ./configure ... Last edited by emufan; 30 September 2017 at 16:47. |
|
30 September 2017, 16:40 | #31 | |
Registered User
Join Date: Dec 2015
Location: USA
Posts: 2,915
|
Quote:
SDL_cgximage.wo -o sdltest801.elf Gives me: Code:
Error: Undefined Symbol: CGX_LeaveFullScreen Error: Undefined Symbol: ChangeScreenBuffer Error: Undefined Symbol: CGX_GL_Quit Error: Undefined Symbol: SDL_LowerBlit Error: Undefined Symbol: SDL_ResetKeyboard Error: Undefined Symbol: SDL_GetRelativeMouseState Error: Undefined Symbol: SDL_SetCursor Error: Undefined Symbol: OpenScreenTags Error: Undefined Symbol: ChangeWindowBox Error: Undefined Symbol: SDL_PrivateResize Error: Undefined Symbol: SDL_LoadBMP_RW Error: Undefined Symbol: SDL_Quit Error: Undefined Symbol: SDL_RWFromFile Error: Undefined Symbol: SDL_MapRGB Error: Undefined Symbol: SDL_ConvertSurface Error: Undefined Symbol: SDL_CursorPaletteChanged Error: Undefined Symbol: amiga_WarpWMCursor Error: Undefined Symbol: FreeScreenBuffer Error: Undefined Symbol: SDL_StartEventLoop Error: Undefined Symbol: SDL_PrivateMouseMotion Error: Undefined Symbol: SDL_EventThreadID Error: Undefined Symbol: SDL_Delay Error: Undefined Symbol: SDL_CreateRGBSurface Error: Undefined Symbol: OpenWindowTags Error: Undefined Symbol: UnlockPubScreen Error: Undefined Symbol: ReleasePen Error: Undefined Symbol: SDL_Lock_EventThread Error: Undefined Symbol: amiga_InitOSKeymap Error: Undefined Symbol: SDL_UpperBlit Error: Undefined Symbol: SDL_StopEventLoop Error: Undefined Symbol: CGX_GL_Update Error: Undefined Symbol: SDL_Error Error: Undefined Symbol: CGX_FreeVideoModes Error: Undefined Symbol: DeleteMsgPort Error: Undefined Symbol: SDL_cursorlock Error: Undefined Symbol: AllocMem Error: Undefined Symbol: SDL_AllocFormat Error: Undefined Symbol: SDL_FormatChanged Error: Undefined Symbol: GetMsg Error: Undefined Symbol: CloseWindow Error: Undefined Symbol: CreateMsgPort Error: Undefined Symbol: SDL_Unlock_EventThread Error: Undefined Symbol: LockPubScreen Error: Undefined Symbol: Wait Error: Undefined Symbol: PPCCallOS Error: Undefined Symbol: amiga_CheckMouseMode Error: Undefined Symbol: amiga_FreeWMCursor Error: Undefined Symbol: amiga_ShowWMCursor Error: Undefined Symbol: CGX_ListModes Error: Undefined Symbol: CGX_GL_Init Error: Undefined Symbol: CGX_GetVideoModes Error: Undefined Symbol: CGX_GetWMInfo Error: Undefined Symbol: CGX_SetIcon Error: Undefined Symbol: SDL_CursorQuit Error: Undefined Symbol: AllocScreenBuffer Error: Undefined Symbol: SDL_cursorstate Error: Undefined Symbol: SDL_Init Error: Undefined Symbol: SDL_CursorInit Error: Undefined Symbol: SDL_ThreadID Error: Undefined Symbol: SDL_FillRect Error: Undefined Symbol: SDL_FreeSurface Error: Undefined Symbol: SDL_PrivateAppActive Error: Undefined Symbol: SDL_InvalidateMap Error: Undefined Symbol: SDL_CalculatePitch Error: Undefined Symbol: CGX_EnterFullScreen Error: Undefined Symbol: AllocBitMap Error: Undefined Symbol: OpenLibrary Error: Undefined Symbol: CGX_SetHWColorKey Error: Undefined Symbol: CGX_SetCaption Error: Undefined Symbol: GetVPModeID Error: Undefined Symbol: WindowLimits Error: Undefined Symbol: SDL_EraseCursor Error: Undefined Symbol: SDL_SetClipRect Error: Undefined Symbol: FreeBitMap Error: Undefined Symbol: CloseScreen Error: Undefined Symbol: SDL_mutexV Error: Undefined Symbol: SDL_mutexP Error: Undefined Symbol: SDL_SetError Error: Undefined Symbol: FindDisplayInfo Error: Undefined Symbol: SDL_ReallocFormat Error: Undefined Symbol: SDL_DrawCursor Error: Undefined Symbol: LoadRGB32 Error: Undefined Symbol: SDL_DitherColors Error: Undefined Symbol: InitRastPort Error: Undefined Symbol: FreeMem Error: Undefined Symbol: SDL_ResetMouse Error: Undefined Symbol: SDL_ResetCursor Error: Undefined Symbol: GetDisplayInfoData Error: Undefined Symbol: amiga_PumpEvents Error: Undefined Symbol: ObtainBestPenA Error: Undefined Symbol: amiga_CreateWMCursor Error: Undefined Symbol: CGX_FillHWRect Error: Undefined Symbol: CloseLibrary Error: Undefined Symbol: SDL_FreeFormat Error: Undefined Symbol: SDL_ApplyGamma Error: Undefined Symbol: CGX_CheckHWBlit Error: Error processing Elffile ! Code:
/* Include SDL functions and datatypes */ #include <SDL-Amigasrc/SDL.h> #include <exec/exec.h> #include <intuition/intuition.h> #include <graphics/gfx.h> #include <cybergraphx/cybergraphics.h> #include <powerpc/powerpc_protos.h> int main( int argc, char* args[] ) { //The images SDL_Surface* hello = NULL; SDL_Surface* screen = NULL; /* /Start SDL */ SDL_Init( SDL_INIT_VIDEO ); /* Set up screen */ screen = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE ); /* Load image */ hello = SDL_LoadBMP( "hello.bmp" ); /* Apply image to screen */ SDL_BlitSurface( hello, NULL, screen, NULL ); /* Update Screen */ SDL_Flip( screen ); /* Pause */ SDL_Delay( 2000 ); /* Free the loaded image */ SDL_FreeSurface( hello ); /* Quit SDL */ SDL_Quit(); return 0; } |
|
30 September 2017, 16:59 | #32 | |
Registered User
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,545
|
Quote:
not sure if it does work this way: put all *.wo from SDl build in same folder: or move sdltest2.cpp into the sdl_src directory and cd to that folder which holds the *.wo files: Code:
ppc-amigaos-g++ -warpup sdltest2.cpp *.wo -o sdltest801.elf Last edited by emufan; 30 September 2017 at 17:06. |
|
30 September 2017, 17:08 | #33 | |
Registered User
Join Date: Dec 2015
Location: USA
Posts: 2,915
|
Quote:
I would think that it's not possible to use this lib.a with VBCC since it's a different compiler and that but Hedeon laughed at my thrashing around and said he'd do the VBCC version. |
|
30 September 2017, 17:12 | #34 | |
Registered User
Join Date: Dec 2015
Location: USA
Posts: 2,915
|
Quote:
Here's the whole -v output that shows warpcollect is trying to use all the .wo . Code:
8.Gorkbench:ADE/SDL-AmigaSrc> ppc-amigaos-g++ -warpup sdltest2.cpp *.wo -lSDL_wos -lgcc -lc -lm -lamiga -v -o sdltest801.elf Reading specs from /gg/lib/gcc-lib/ppc-amigaos/2.95.3/specs gcc version 2.95.3 20010315 (release) /gg/lib/gcc-lib/ppc-amigaos/2.95.3/cpp0 -lang-c++ -v -D__GNUC__=2 -D__GNUG__=2 -D__GNUC_MINOR__=95 -D__cplusplus -DPPC -Damiga -Damigaos -DMCH_AMIGA -DAMIGA -D__PPC__ -D__amiga__ -D__amigaos__ -D__MCH_AMIGA__ -D__AMIGA__ -D__PPC -D__amiga -D__amigaos -D__MCH_AMIGA -D__AMIGA -Asystem(amigaos) -Acpu(powerpc) -Amachine(powerpc) -D__EXCEPTIONS -D__CHAR_UNSIGNED__ -I/ade/os-includeppc -D__PPC__ -D_CALL_SYSV -D_BIG_ENDIAN -Amachine(bigendian) -D_ARCH_PPC -DWARPUP sdltest2.cpp /t/ccPSpUhk.ii GNU CPP version 2.95.3 20010315 (release) (PowerPC System V.4) #include "..." search starts here: #include <...> search starts here: /ade/os-includeppc /gg/lib/gcc-lib/ppc-amigaos/2.95.3/../../../../include/g++-3 /gg/lib/gcc-lib/ppc-amigaos/2.95.3/include /gg/lib/gcc-lib/ppc-amigaos/2.95.3/../../../../ppc-amigaos/include End of search list. The following default directories have been omitted from the search path: /gg/lib/gcc-lib/ppc-amigaos/2.95.3/../../../../ppc-amigaos/sys-include End of omitted list. /gg/ppc-amigaos/bin/cc1plus /t/ccPSpUhk.ii -quiet -dumpbase sdltest2.cc -version -o /t/ccOFkFMh.s GNU C++ version 2.95.3 20010315 (release) (ppc-amigaos) compiled by GNU C version 2.95.3 20010315 (release). /gg/ppc-amigaos/bin/as -u -V -Qy -o /t/cc14D6Yl.o /t/ccOFkFMh.s GNU assembler version 2.9.1 (ppc-amigaos), using BFD version 2.9.1 /gg/lib/gcc-lib/ppc-amigaos/2.95.3/warpcollect -r -V -Qy -o sdltest801.elf /gg/ppc-amigaos/lib/startupwos.o -L/gg/lib/gcc-lib/ppc-amigaos/2.95.3 -L/gg/ppc-amigaos/lib -L/gg/lib -L/gg/lib -L/gg/lib /t/cc14D6Yl.o SDL.wo SDL_active.wo SDL_ahiaudio.wo SDL_amigaevents.wo SDL_amigamouse.wo SDL_audio.wo SDL_audiocvt.wo SDL_audiomem.wo SDL_blit.wo SDL_blit_0.wo SDL_blit_1.wo SDL_blit_A.wo SDL_blit_N.wo SDL_bmp.wo SDL_cdrom.wo SDL_cgxaccel.wo SDL_cgxgl.wo SDL_cgxgl_wrapper.wo SDL_cgximage.wo SDL_cgxmodes.wo SDL_cgxvideo.wo SDL_cgxwm.wo SDL_cgxyuv.wo SDL_cursor.wo SDL_endian.wo SDL_error.wo SDL_events.wo SDL_fatal.wo SDL_gamma.wo SDL_joystick.wo SDL_keyboard.wo SDL_mixer.wo SDL_mouse.wo SDL_pixels.wo SDL_quit.wo SDL_resize.wo SDL_RLEaccel.wo SDL_rwops.wo SDL_stretch.wo SDL_surface.wo SDL_syscdrom.wo SDL_syscond.wo SDL_sysjoystick.wo SDL_sysmutex.wo SDL_syssem.wo SDL_systhread.wo SDL_systimer.wo SDL_thread.wo SDL_timer.wo SDL_video.wo SDL_wave.wo SDL_yuv.wo SDL_yuv_mmx.wo SDL_yuv_sw.wo -lSDL_wos -lgcc -lamiga -lstdc++ -lm -lc -lgcc -lcwos /gg/ppc-amigaos/lib/end.o GNU ld version 2.9.1 (with BFD 2.9.1) Supported emulations: elf32ppc Error: Undefined Symbol: ChangeScreenBuffer Error: Undefined Symbol: PPCClose Error: Undefined Symbol: BltMaskBitMapRastPort Error: Undefined Symbol: PPCAllocVecPooled Error: Undefined Symbol: OpenScreenTags Error: Undefined Symbol: ChangeWindowBox Error: Undefined Symbol: CreateIORequest Error: Undefined Symbol: WaitTOF Error: Undefined Symbol: AllocVec Error: Undefined Symbol: FreeScreenBuffer Error: Undefined Symbol: PPCSeek Error: Undefined Symbol: PPCCreatePool Error: Undefined Symbol: ClearPointer Error: Undefined Symbol: SetPointer Error: Undefined Symbol: OpenWindowTags Error: Undefined Symbol: UnlockPubScreen Error: Undefined Symbol: ReleasePen Error: Undefined Symbol: PPCRead Error: Undefined Symbol: CheckIO Error: Undefined Symbol: DeleteMsgPort Error: Undefined Symbol: PPCRemove Error: Undefined Symbol: BltBitMap Error: Undefined Symbol: AllocMem Error: Undefined Symbol: AbortIO Error: Undefined Symbol: PPCDeletePool Error: Undefined Symbol: GetMsg Error: Undefined Symbol: BltBitMapRastPort Error: Undefined Symbol: SetWindowTitles Error: Undefined Symbol: CloseWindow Error: Undefined Symbol: CreateMsgPort Error: Undefined Symbol: GetSysTimePPC Error: Undefined Symbol: PPCAllocVec Error: Undefined Symbol: LockPubScreen Error: Undefined Symbol: Wait Error: Undefined Symbol: PPCOpen Error: Undefined Symbol: PPCFreeVec Error: Undefined Symbol: PPCCallOS Error: Undefined Symbol: CloseDevice Error: Undefined Symbol: AllocScreenBuffer Error: Undefined Symbol: DeleteIORequest Error: Undefined Symbol: NextDisplayInfo Error: Undefined Symbol: AllocBitMap Error: Undefined Symbol: OpenLibrary Error: Undefined Symbol: PPCSetSignal Error: Undefined Symbol: GetVPModeID Error: Undefined Symbol: SendIO Error: Undefined Symbol: Delay Error: Undefined Symbol: WindowLimits Error: Undefined Symbol: FreeBitMap Error: Undefined Symbol: ReadJoyPort Error: Undefined Symbol: PPCAddHead Error: Undefined Symbol: FreeVec Error: Undefined Symbol: CloseScreen Error: Undefined Symbol: FindDisplayInfo Error: Undefined Symbol: WaitIO Error: Undefined Symbol: LoadRGB32 Error: Undefined Symbol: InitRastPort Error: Undefined Symbol: FreeMem Error: Undefined Symbol: ReplyMsg Error: Undefined Symbol: PPCFreeVecPooled Error: Undefined Symbol: GetDisplayInfoData Error: Undefined Symbol: ObtainBestPenA Error: Undefined Symbol: PPCGetTaskAttr Error: Undefined Symbol: PPCWrite Error: Undefined Symbol: RawKeyConvert Error: Undefined Symbol: OpenDevice Error: Undefined Symbol: CloseLibrary Error: Error processing Elffile ! Last edited by grelbfarlk; 30 September 2017 at 17:43. |
|
30 September 2017, 17:42 | #35 | ||
Registered User
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,545
|
storm3 dont use gcc. I tried to build some c++ lightwave stuff with that,
but that did not work. was terrible, IIRC ... I dont want to remember #1) some intuition examples - source code - you can find here: Amiga C Tutorial - Programming AmigaOS in C - Opening a Window #2) Quote:
now the same with the other missing functions it seems "/gg/lib/gcc-lib/ppc-amigaos/2.95.3/warpcollect" is doing the linking stuff, which has problem with the libSDL_wos.a file format it seems. since it does find the missing function in the .wo files *hmmm* Quote:
they have to get extracted and added with the *.wo "method" I know this is ridiculous, there must be something else, to prevent using warpcollect. #3) what is the "latest gcc stuff", what are you referring to? Last edited by emufan; 30 September 2017 at 18:10. |
||
30 September 2017, 18:29 | #36 |
Registered User
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,545
|
ppc-gcc-2.95.3-base.lha /ppc-gcc-2.95.3-base/lib/gcc-lib/ppc-amigaos/2.95.3/specs:
Code:
*linker: %{warpup:warpcollect} %{!warpup:/ade/ppc-amigaos/bin/ld} something does call warpcollect, not exactly sure if its using the spec file. #1) you may try to build the object file only with "-c" option: Code:
ppc-amigaos-g++ -c -warpup sdltest2.cpp *.wo -o sdltest801.elf or (?!) ppc-amigaos-g++ -c -warpup sdltest2.cpp Code:
ppc-amigaos-ld /gg/ppc-amigaos/lib/startupwos.o sdltest2.o *.wo -lgcc \ -lamiga -lstdc++ -lm -lc -lgcc -lcwos /gg/ppc-amigaos/lib/end.o -o sdltest801.elf or (!?) /ade/ppc-amigaos/bin/ld /gg/ppc-amigaos/lib/startupwos.o sdltest2.o *.wo -lgcc \ -lamiga -lstdc++ -lm -lc -lgcc -lcwos /gg/ppc-amigaos/lib/end.o -o sdltest801.elf or (!?) /gg/ppc-amigaos/bin/ld /gg/ppc-amigaos/lib/startupwos.o sdltest2.o *.wo -lgcc \ -lamiga -lstdc++ -lm -lc -lgcc -lcwos /gg/ppc-amigaos/lib/end.o -o sdltest801.elf Last edited by emufan; 30 September 2017 at 18:51. |
30 September 2017, 18:56 | #37 | ||||
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,500
|
Sorry. Still didn't read the whole thread, but some more of it.
Quote:
Quote:
Neither can you run it on a DLL (ELF shared object), which also has a different ID in its ELF header. But you also don't want to do that, as both make no sense at all. Quote:
Quote:
I don't know what the -warpup option does, which I saw in some posts. Hopefully it switches to PowerOpen-ABI? Then your only remaining problem would be linking and generating a hunk-format executable. Your llisting of ppc-amigaos/lib seems to include everything needed. Also the startup codes. startup.o is probably the 68k startup? Theoretically it should be possible to link a WarpOS executable with vlink using your ELF objects (it can also convert leading underscores on the fly). But when this is really a WarpOS compiler then you should be able to compile a simple WarpOS program, without too much warpcollects and elf2exes... |
||||
30 September 2017, 19:01 | #38 | ||
Registered User
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,545
|
dev/gcc/ppc-gcc-2.95.3-base.lha:
Code:
Launch with "ppc-amigaos-gcc -warpup" for WarpOS and with "ppc-amigaos-gcc" for PowerUP. Quote:
Quote:
--> since it would provide g++ aswell, it does make sense do you think it will build with vbcc and target warpup/warpos? Last edited by emufan; 30 September 2017 at 19:13. |
||
30 September 2017, 19:21 | #39 | |||
Natteravn
Join Date: Nov 2009
Location: Herford / Germany
Posts: 2,500
|
Quote:
Quote:
Quote:
|
|||
30 September 2017, 20:28 | #40 |
Registered User
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,545
|
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Sdl-1.2.15 | Marlon_ | Coders. C/C++ | 40 | 13 March 2018 14:43 |
UAE for WarpOS 0.8.12 | grelbfarlk | request.Apps | 0 | 23 November 2016 01:14 |
WarpOS Programming Help? | esc | support.Other | 8 | 21 October 2015 10:37 |
WinUAE w/SDL | mangamuscle | request.UAE Wishlist | 8 | 31 January 2007 11:41 |
What do you know about Amiga SDL? | Tolismlf | Amiga scene | 6 | 15 November 2004 18:54 |
|
|