I did a quick compile under linux-hosted and didn't get the problems you mentioned. I got missing symbols for C library which I solved with -static argument. Here is a diff of my changes:
diff -ruN AmiDE_plugins/modules/sasc/makefile AmiDE_plugins_changed/modules/sasc/makefile
--- AmiDE_plugins/modules/sasc/makefile 2021-10-21 01:05:08.000000000 +0200
+++ AmiDE_plugins_changed/modules/sasc/makefile 2021-10-22 19:47:16.696051696 +0200
@@ -7,7 +7,7 @@
#config n flags
CC = gcc
-FLAGS = $(OPTIMIZE) -fomit-frame-pointer -I../amide/modules/api/ -I../amide/modules/api/amide/
+FLAGS = $(OPTIMIZE) -fomit-frame-pointer -I../api/ -I../amide/modules/api/amide/
CFLAGS = $(FLAGS) -DNO_INLINE_STDARG
LFLAGS = $(FLAGS) #-s #-nostartfiles
@@ -15,7 +15,7 @@
sasc.module$(EXT): $(O_FILES)
echo Making $@...
- $(CC) -nostartfiles $(LINK) -o $@ $(O_FILES) -lamiga
+ $(CC) -nostartfiles -static $(LINK) -o $@ $(O_FILES) -lamiga
StartUp$(EXT).o: StartUp.c
echo Making $@...
diff -ruN AmiDE_plugins/modules/sasc/sasc.module.c AmiDE_plugins_changed/modules/sasc/sasc.module.c
--- AmiDE_plugins/modules/sasc/sasc.module.c 2021-10-21 01:03:56.000000000 +0200
+++ AmiDE_plugins_changed/modules/sasc/sasc.module.c 2021-10-22 19:51:55.067595642 +0200
@@ -835,3 +835,13 @@
return (DoSuperMethodA(cl, obj, msg));
}
+
+void * calloc(size_t count, size_t size)
+{
+ AllocVec(count * size, MEMF_ANY | MEMF_CLEAR);
+}
+
+void free(void *ptr)
+{
+ FreeVec(ptr);
+}
my compile with your changes changes
-------
gcc -O2 -fomit-frame-pointer -I../api/ -I../amide/modules/api/amide/ -DNO_INLINE_STDARG -nostartfiles -c -o sasc.module.o sasc.module.c
In file included from sasc.module.c:63:0:
sasc.module.h:96:1: warning: useless storage class specifier in empty declaration [enabled by default]
sasc.module.h:111:1: warning: useless storage class specifier in empty declaration [enabled by default]
sasc.module.c: In function 'MODULE_New':
sasc.module.c:216:5: warning: passing argument 2 of '__inline_Utility_GetTagData' makes integer from pointer without a cast [enabled by default]
/AROS/Development/bin/../../Development/include/inline/utility.h:44:20: note: expected 'IPTR' but argument is of type 'void *'
echo Making StartUp.o...
Making StartUp.o...
gcc -O2 -fomit-frame-pointer -I../api/ -I../amide/modules/api/amide/ -DNO_INLINE_STDARG -nostartfiles -c -o StartUp.o StartUp.c
In file included from StartUp.c:33:0:
sasc.module.h:96:1: warning: useless storage class specifier in empty declaration [enabled by default]
sasc.module.h:111:1: warning: useless storage class specifier in empty declaration [enabled by default]
StartUp.c: In function 'ExtFuncLib':
StartUp.c:270:2: warning: return makes integer from pointer without a cast [enabled by default]
echo Making libinit.o...
Making libinit.o...
gcc -O2 -fomit-frame-pointer -I../api/ -I../amide/modules/api/amide/ -DNO_INLINE_STDARG -nostartfiles -c -o libinit.o libinit.c
In file included from libinit.c:30:0:
sasc.module.h:96:1: warning: useless storage class specifier in empty declaration [enabled by default]
sasc.module.h:111:1: warning: useless storage class specifier in empty declaration [enabled by default]
libinit.c: In function 'L_OpenLibs':
libinit.c:152:21: warning: assignment makes integer from pointer without a cast [enabled by default]
echo Making sasc.module...
Making sasc.module...
gcc -static -O2 -s -nostartfiles -o sasc.module sasc.module.o StartUp.o libinit.o -lamiga
There are undefined symbols in 'sasc.module':
__PROGRAM_ENTRIES__symbol_set_handler_missing
__LIBS__symbol_set_handler_missing
make: *** [sasc.module] Error 1
makefile with new changes
#Simple makefile for plugins/module...
OPTIMIZE := -O2
LINK := $(OPTIMIZE) -s -nostartfiles
O_FILES = sasc.module$(EXT).o StartUp$(EXT).o libinit$(EXT).o
#config n flags
CC = gcc
FLAGS = $(OPTIMIZE) -fomit-frame-pointer -I../api/ -I../amide/modules/api/amide/
CFLAGS = $(FLAGS) -DNO_INLINE_STDARG -nostartfiles
#if above good than rest should go smooth
sasc.module$(EXT): $(O_FILES)
echo Making $@...
$(CC) -static $(LINK) -o $@ $(O_FILES) -lamiga
StartUp$(EXT).o: StartUp.c
echo Making $@...
$(CC) $(CFLAGS) -c -o $@ $^
libinit$(EXT).o: libinit.c
echo Making $@...
$(CC) $(CFLAGS) -c -o $@ $^
test_link:
ar rc test_plugin.a StartUp.o libinit.o sasc.module.o
copytofolder:
echo Copying to modules directory...
copy QUIET CLONE sasc.module TO modules/
echo module copied ok...
clean:
echo Cleaning distribution...
delete *.o*