Skip to Content.
Sympa Menu

sm-commit - Re: [SM-Commit] GIT changes to master grimoire by Eric Sandall (fc254645f79c836a344f9febc8de59064b76ae62)

sm-commit AT lists.ibiblio.org

Subject: Source Mage code commit list

List archive

Chronological Thread  
  • From: Ismael Luceno <ismael AT iodev.co.uk>
  • To: Eric Sandall <sandalle AT sourcemage.org>
  • Cc: sm-commit AT lists.ibiblio.org
  • Subject: Re: [SM-Commit] GIT changes to master grimoire by Eric Sandall (fc254645f79c836a344f9febc8de59064b76ae62)
  • Date: Fri, 9 Aug 2019 09:42:18 +0200

On 09/Aug/2019 08:40, Eric Sandall wrote:
<...>
> commit f7273edcebeb2b67e23a9750123601be28ac0803
> Author: Eric Sandall <sandalle AT sourcemage.org>
> Commit: Eric Sandall <sandalle AT sourcemage.org>
>
> perl: I don't know what folks are doing with musl, but do NOT
> break non-musl installs please.
>
> Disable gccversion hack, breaks non-musl builds. Find a compatible
> way to do it. :)
> Causes this segfault during compilation of perl:
> cc -c -DPERL_CORE -fwrapv -fpcc-struct-return -pipe
> -fstack-protector-strong -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
> -D_FORTIFY_SOURCE=2 -march=core2 -fPIC -DPIC -pipe -DPIC -fPIC -O2 -fPIC
> -Wall -Werror=declaration-after-statement -Werror=pointer-arith -Wextra
> -Wc++-compat -Wwrite-strings op.c
> In file included from perl.h:5359,
> from miniperlmain.c:57:
> miniperlmain.c: In function ‘main’:
> miniperlmain.c:139:29: warning: cast between incompatible function
> types from ‘void (*)(int)’ to ‘void (*)(int, siginfo_t *, void *)’ {aka
> ‘void (*)(int, struct <anonymous> *, void *)’} [-Wcast-function-type]
> 139 | rsignal(PL_sig_num[i], (Sighandler_t) SIG_DFL);
> | ^
> embed.h:643:44: note: in definition of macro ‘rsignal’
> 643 | #define rsignal(a,b) Perl_rsignal(aTHX_ a,b)
> | ^
> cc -fstack-protector-strong -L/usr/local/lib -o miniperl \
> opmini.o perlmini.o gv.o toke.o perly.o pad.o regcomp.o dump.o
> util.o mg.o reentr.o mro_core.o keywords.o hv.o av.o run.o pp_hot.o sv.o
> pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o
> universal.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o
> pp_pack.o pp_sort.o caretx.o dquote.o time64.o miniperlmain.o -lpthread
> -lnsl -ldl -lm -lcrypt -lutil -lc
> LD_LIBRARY_PATH=/usr/src/perl-5.30.0 ./miniperl -w -Ilib
> -Idist/Exporter/lib -MExporter -e '<?>' || sh -c 'echo >&2 Failed to build
> miniperl. Please run make minitest; exit 1'
> Attempt to free unreferenced scalar: SV 0x55a9dfd3a140.
> /bin/sh: line 1: 3655 Segmentation fault
> LD_LIBRARY_PATH=/usr/src/perl-5.30.0 ./miniperl -w -Ilib
> -Idist/Exporter/lib -MExporter -e '<?>'
> Failed to build miniperl. Please run make minitest
> make: *** [makefile:363: lib/buildcustomize.pl] Error 1
<...>

The fix had nothing to do with musl, the GCC version check was giving
the wrong result on all systems.

The sed script should have been removed with the update to Perl 5.30.

The GCC check was "fixed" in 5.30, but sadly it will break again with
each GCC release. We might want to do something more permanent about it.

BTW, PRE_BUILD is broken now ;-).




Archive powered by MHonArc 2.6.24.

Top of Page