One of the changes in the port will be that the library will be dynamically linked rather than statically linked to ensure __attribute__((constructor)) works as intended. Because dynamic linking brings over all the symbols the library exports (while static linking only links symbols that are actually used), this change caught a couple of bugs in the library wherein functions were called, but were never defined. (Enabling warnings also would have caught this though compiling SPL with warnings produces quite a lot of output which may be worth investigating in the future).
In any case, the undefined functions are:
mapSymbolTable called in newCommandIterator in cmdscan.c on line 167
freeSymbolTable called in freeCommandScanner in cmdscan.c on line 84
ignoreSpaces called in newCommandScanner in cmdscan.c on line 77
One of the changes in the port will be that the library will be dynamically linked rather than statically linked to ensure
__attribute__((constructor))works as intended. Because dynamic linking brings over all the symbols the library exports (while static linking only links symbols that are actually used), this change caught a couple of bugs in the library wherein functions were called, but were never defined. (Enabling warnings also would have caught this though compiling SPL with warnings produces quite a lot of output which may be worth investigating in the future).In any case, the undefined functions are:
mapSymbolTablecalled innewCommandIteratorincmdscan.con line 167freeSymbolTablecalled infreeCommandScannerincmdscan.con line 84ignoreSpacescalled innewCommandScannerincmdscan.con line 77