Status update on i386: 1. ./configure had passed
2. gprof was enabled by default again which lead to Undefined symbols for architecture i386: "__mcleanup", referenced from: _fSmcleanup in libpre_gcl.a(gprof.o) _gprof_cleanup in libpre_gcl.a(gprof.o) ld: symbol(s) not found for architecture i386 May we ban gprof on macOS completley? 3. Unfortunately system's gcc / ld is too old, so old that it doesn't support -no_pie this can be excluded by patch like this: --- configure.in +++ configure.in @@ -341,7 +341,9 @@ case $use in 386-macosx) # assert_arg_to_cflags -Wno-error=implicit-function-declaration add_arg_to_cflags -Wno-incomplete-setjmp-declaration - assert_arg_to_ldflags -Wl,-no_pie + if test "$build_cpu" != "i386" ; then + assert_arg_to_ldflags -Wl,-no_pie + fi if test "$build_cpu" = "x86_64" ; then assert_arg_to_cflags -m64 assert_arg_to_ldflags -m64 anyway, it leads to an error: grep: raw_pre_gcl_map: No such file or directory touch raw_pre_gcl_map /usr/bin/gcc-4.2 -std=gnu99 -Wl,-headerpad_max_install_names -L/opt/local/lib -lMacportsLegacySupport -arch i386 -no-pie -m32 -Wl,-headerpad,56 -o raw_pre_gcl -L. -lpre_gcl `echo -lm -lgmp -lreadline | sed -e 's/-lncurses/ /'` -lc -lgclp ld: absolute addressing (perhaps -mdynamic-no-pic) used in _Llower_case_p from ./libpre_gcl.a(character.o) not allowed in slidable image. Use '-read_only_relocs suppress' to enable text relocs collect2: ld returned 1 exit status make[1]: *** [raw_pre_gcl_map] Error 1 make[1]: Leaving directory `/opt/local/var/macports/build/_Volumes_SharedFolders_Home_src_macports-ports_lang_gcl/gcl-devel/work/33a195d5cec2a7f8f563e11c0f1a3011ea0b30a0/gcl/unixport' make: *** [unixport/saved_pre_gcl] Error 2 4. So, I've decided to ban system's compiler. MacPorts uses clang by default which lead to an issue: # ld: illegal text-relocation to ___stack_chk_guard in /usr/lib/libSystem.dylib from _emsg in ... Somewhere here I feel that ban clang as well right now isn't bad idea :) 5. So, it had compiled suceffuly by GCC-7 which lead to the issue: grep: raw_pre_gcl_map: No such file or directory touch raw_pre_gcl_map /opt/local/bin/gcc-mp-7 -Wl,-headerpad_max_install_names -L/opt/local/lib -lMacportsLegacySupport -arch i386 -no-pie -Wl,-no_pie -m32 -Wl,-headerpad,56 -o raw_pre_gcl -L. -lpre_gcl `echo -lm -lgmp -lreadline | sed -e 's/-lncurses/ /'` -lc -lgclp cp init_raw.lsp foo echo "(unless si::*quit-tags* (in-package \"USER\")(system:save-system \"saved_pre_gcl\"))" >>foo ar x libpre_gcl.a $(ar t libpre_gcl.a |grep ^gcl_) /opt/local/var/macports/build/_Volumes_SharedFolders_Home_src_macports-ports_lang_gcl/gcl-devel/work/33a195d5cec2a7f8f563e11c0f1a3011ea0b30a0/gcl/unixport/raw_pre_gcl /opt/local/var/macports/build/_Volumes_SharedFolders_Home_src_macports-ports_lang_gcl/gcl-devel/work/33a195d5cec2a7f8f563e11c0f1a3011ea0b30a0/gcl/unixport/ -libdir /opt/local/var/macports/build/_Volumes_SharedFolders_Home_src_macports-ports_lang_gcl/gcl-devel/work/33a195d5cec2a7f8f563e11c0f1a3011ea0b30a0/gcl/ < foo /bin/sh: line 1: 25726 Illegal instruction /opt/local/var/macports/build/_Volumes_SharedFolders_Home_src_macports-ports_lang_gcl/gcl-devel/work/33a195d5cec2a7f8f563e11c0f1a3011ea0b30a0/gcl/unixport/raw_pre_gcl /opt/local/var/macports/build/_Volumes_SharedFolders_Home_src_macports-ports_lang_gcl/gcl-devel/work/33a195d5cec2a7f8f563e11c0f1a3011ea0b30a0/gcl/unixport/ -libdir /opt/local/var/macports/build/_Volumes_SharedFolders_Home_src_macports-ports_lang_gcl/gcl-devel/work/33a195d5cec2a7f8f563e11c0f1a3011ea0b30a0/gcl/ < foo make[1]: *** [saved_pre_gcl] Error 132 which probably the same that I've investigated in different thread. -- wbr, Kirill > On 23. Dec 2023, at 16:25, Camm Maguire <c...@maguirefamily.org> wrote: > > I've committed some preliminary support for this. Please note the > register context code is highly non-portable and will take some love to > get right on macosx. This should be an optional feature. These macros > support disassembling code at the point of FPE errors. When all is > ready, you might try > >> (load (compile-file "../lsp/gcl_fpe_test.lsp")) > > Take care, > > "Kirill A. Korinsky" <kir...@korins.ky> writes: > >> i386 >> >> 1. it has missed AC_CHECK_SIZEOF(char,0) in configure.in >> >> 2. it has missed FPE_RLST for the case non x86_64, see config.h and >> 386-macosx.h > > -- > Camm Maguire c...@maguirefamily.org > ========================================================================== > "The earth is but one country, and mankind its citizens." -- Baha'u'llah
signature.asc
Description: Message signed with OpenPGP