Configuring VBCC to use P96 library?

Caution: Non registered users only see threads and messages in the currently selected language, which is determined by their browser. Please create an account and log in to see all content by default. This is a limitation of the forum software.


Also users that are not logged in can not create new threads. This is a, unfortunately needed, counter measure against spam. Please create an account and log in to start new threads.

Don't Panic. Please wash hands.
  • I'm getting a linker error when compiling P96-aware code. I only get this with VBCC, with Bebbo's GCC cross-platform chain it compiles just fine. I'm kind of tearing my hair out over this (which isn't good, considering the available stock of that commodity). I've tried copying the various includes and whatnot into the VBCC/ndk39/Include/ etc folders; I've tried plopping a p96 folder down in vbcc/p96, and using -I and -L in the vbcc config.


    Code
    1. Error 21: tmp.0.o (CODE+0x68): Reference to undefined symbol _p96GetRTGDataTags.
    2. vlink -bamigahunk -x -Bstatic -Cvbcc -nostdlib -mrel "$VBCC/targets/m68k-amigaos/lib/startup.o" "/var/tmp/tmp.0.o" "/var/tmp/tmp.1.o" "/var/tmp/tmp.2.o" "/var/tmp/tmp.3.o" "/var/tmp/tmp.4.o" "/var/tmp/tmp.5.o" "/var/tmp/tmp.6.o" "/var/tmp/tmp.7.o" "/var/tmp/tmp.8.o" "/var/tmp/tmp.9.o" "/var/tmp/tmp.10.o" "/var/tmp/tmp.11.o" "/var/tmp/tmp.12.o" "/var/tmp/tmp.13.o" "/var/tmp/tmp.14.o" "/var/tmp/tmp.15.o" -lauto -lamiga -L"$VBCC/targets/m68k-amigaos/lib" -L"$VBCC/ndk39/Include/linker_libs" -L"$VBCC/p96/Lib" -lvc -o build_vbcc/wb2k failed
  • Maybe Timm can take a look at this - we also use VBCC for our development. First thing is of course to take a look at the updated developer doc that I have uploaded to the other thread, but if only VBCC fails and GCC doesn't, there may be a bug. First thing that jumps at me is the underscore at the start of the label that may confuse the linker.

  • Bebbo’s Toolchain will create a stub link library for P96 when downloading the SDK. The stubs turn regular library function calls into AmigaOS library calls. It also includes a some linier magic that would not require you to open the library manually.
    https://github.com/bebbo/amiga…60185ef9f4ddcb22f453b71e4


    I don’t know about VBCC but it sounds like your compiler somehow only sees the P96 functions as external symbols and eventually declares them missing during linking. On GCC including <proto/picssso96.h> will create macros (“in lines”) for each function call that will turn into an actual AmigaOS library call at compilation time.

  • p96GetRTGDataTags() seems to be a new function, which does not exist in the Picasso96API.fd file I am using to generate the inline and stub functions for a vbcc release.

    You may want to build the updated header files and linklib yourself, with fd2pragma and the latest FD file.Probably I will get a new P96 SDK for the next release.


    If anybody needs help with vbcc, just write me a mail. I only read the EAB and a1k.org forums from time to time, but will read and reply emails several times a day.