Sorry, I've missed the local root: 01ed2e0b2f540031171d2258ddccb951735827e7

--
wbr, Kirill

> On 23. Dec 2023, at 19:52, Kirill A. Korinsky <kir...@korins.ky> wrote:
> 
> This build was made with local root
> 
> It contains patches in addition to posix_spawn which allows to build it on 
> macOS 13 arm64 under rosetta:
> 
> --- unixport/makefile
> +++ unixport/makefile
> @@ -68,7 +68,7 @@ $(LSPDIR)/auto_new.lsp: $(LSPDIR)/auto.lsp
>               echo "(AUTOLOAD 'init-readline '|readline|)" >>$@
> 
>  libboot.so: ../o/boot.o
> -     $(CC) -shared -Wl,-undefined -Wl,dynamic_lookup $< -o $@
> +     $(CC) $(CFLAGS) -shared -Wl,-undefined -Wl,dynamic_lookup $< -o $@
> 
>  init_raw.lsp: init_raw.lsp.in
> 
> @@ -84,7 +84,7 @@ boot.h: boot.ini
>       rm $*.c
> 
>  $(DPP):      ../bin/dpp.c
> -     ${CC} ${DEFS} -o $@ $<
> +     ${CC} ${CFLAGS} ${DEFS} -o $@ $<
> 
>  new_init.c: ${INI_FILES}
>       echo '#include "make-init.h"' > $@
> 
> Can you consider to add it to the upstream?
> 
> Thus, additionaly I've added patch below to catch the real place where it 
> crashes:
> 
> --- o/main.c
> +++ o/main.c
> @@ -665,10 +665,10 @@ main(int argc, char **argv, char **envp) {
>  /* catch certain signals */
>  void install_segmentation_catcher(void)
>  {
> -  unblock_signals(SIGSEGV,SIGSEGV);
> -  unblock_signals(SIGBUS,SIGBUS);
> -  (void) gcl_signal(SIGSEGV,segmentation_catcher);
> -  (void) gcl_signal(SIGBUS,segmentation_catcher);
> +/*   unblock_signals(SIGSEGV,SIGSEGV); */
> +/*   unblock_signals(SIGBUS,SIGBUS); */
> +/*   (void) gcl_signal(SIGSEGV,segmentation_catcher); */
> +/*   (void) gcl_signal(SIGBUS,segmentation_catcher); */
>  }
> 
>  void
> 
> 
> --
> wbr, Kirill
> 
>> On 23. Dec 2023, at 19:24, Camm Maguire <c...@maguirefamily.org 
>> <mailto:c...@maguirefamily.org>> wrote:
>> 
>> Just checking my understanding : 'gcl-devel' crashes in a different
>> place, and both of these are only with the posix_spawn patch, right?
>> 
>> Take care,
>> 
>> "Kirill A. Korinsky" <kir...@korins.ky <mailto:kir...@korins.ky>> writes:
>> 
>>> I did a bit more wired things. I add to each line inside siLheap_report a 
>>> printf like this:
>>> 
>>> static void
>>> FFN(siLheap_report)(void) {
>>> 
>>>  int i;
>>> 
>>>  check_arg(0);
>>>  printf("1\n");fflush(stdout);
>>> 
>>>  vs_check_push(make_fixnum(sizeof(fixnum)*CHAR_SIZE));
>>>  printf("2\n");fflush(stdout);
>>>  vs_push(make_fixnum(PAGESIZE));
>>>  printf("3\n");fflush(stdout);
>>>  vs_push(make_fixnum((ufixnum)data_start));
>>>  printf("4\n");fflush(stdout);
>>>  vs_push(make_fixnum((ufixnum)data_start+(real_maxpage<<PAGEWIDTH)));
>>>  printf("5\n");fflush(stdout);
>>>  vs_push(make_fixnum(0));/*SHARED_LIB_HEAP_CEILING*/
>>>  printf("6\n");fflush(stdout);
>>>  i=sizeof(fixnum)*CHAR_SIZE-2;
>>>  printf("7\n");fflush(stdout);
>>>  i=1<<i;
>>>  printf("8\n");fflush(stdout);
>>>  vs_push(make_fixnum(((unsigned long)cs_base+i-1)&-i));
>>>  printf("9\n");fflush(stdout);
>>>  vs_push(make_fixnum(labs(cs_base-cs_org)));
>>>  printf("10\n");fflush(stdout);
>>>  vs_push(make_fixnum((CSTACK_DIRECTION+1)>>1));
>>>  printf("11\n");fflush(stdout);
>>>  vs_push(make_fixnum(CSTACK_ALIGNMENT));
>>>  printf("12\n");fflush(stdout);
>>>  vs_push(make_fixnum(labs(cs_limit-cs_org)));/*CSSIZE*/
>>>  printf("13\n");fflush(stdout);
>>>  vs_push(make_fixnum(phys_pages));
>>> ...
>>> 
>>> and it fails at the end like this.
>>> 
>>> SYSTEM>(init-system)
>>> loading 
>>> /opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_s.lsp
>>> loading 
>>> /opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_sf.lsp
>>> loading 
>>> /opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_rm.lsp
>>> loading 
>>> /opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_dl.lsp
>>> loading 
>>> /opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_fle.lsp
>>> loading 
>>> /opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_defmacro.lsp
>>> loading 
>>> /opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_hash.lsp
>>> loading 
>>> /opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_evalmacros.lsp
>>> loading 
>>> /opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_module.lsp
>>> loading 
>>> /opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_predlib.lsp
>>> 1
>>> 2
>>> 3
>>> 4
>>> 5
>>> 6
>>> 7
>>> 8
>>> zsh: illegal hardware instruction  ./raw_pre_gcl
>>> catap@Kirills-mini-m1 unixport %
>>> 
>>> So, it seems clear which line triggers an issue O:-)
>>> 
>>> Thus, I've changed the problem line to
>>> 
>>>  printf("8\n");fflush(stdout);
>>>  make_fixnum(((unsigned long)cs_base+i-1)&-i);
>>>  printf("9\n");fflush(stdout);
>>> 
>>> and it crashes the same way.
>> 
>> --
>> Camm Maguire                                     c...@maguirefamily.org 
>> <mailto:c...@maguirefamily.org>
>> ==========================================================================
>> "The earth is but one country, and mankind its citizens."  --  Baha'u'llah
> 

Attachment: signature.asc
Description: Message signed with OpenPGP

Reply via email to