pkgsrc lang/perl5 doesn't build on master with gcc44 and stack protector

Jan Lentfer Jan.Lentfer at web.de
Sat Mar 12 09:12:50 PST 2011


pkgsrc-current's lang/perl5 does not build on master with gcc44.

This seems to be due to enabling the stack protector in gcc44.

cc -o generate_uudmap -Wl,-R/usr/pkg/lib -pthread -Wl,-E 
-fstack-protector generate_uudmap.o -lm -lcrypt -lpthread -lrt
. /generate_uudmap uudmap.h bitcount.h
`sh  cflags "optimize='-O2  -pthread  -I/usr/include'" globals.o` -DPIC 
-fPIC globals.c
          CCCMD =  cc -DPERL_CORE -c -O2 -pthread -I/usr/include 
-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe 
-fstack-protector -I/usr/local/include  -std=c89 -O2  -pthread 
-I/usr/include -Wall -ansi -W -Wextra -Wdeclaration-after-statement 
-Wendif-labels -Wc++-compat
`sh  cflags "optimize='-O2  -pthread  -I/usr/include'" perlio.o` -DPIC 
-fPIC perlio.c
          CCCMD =  cc -DPERL_CORE -c -O2 -pthread -I/usr/include 
-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe 
-fstack-protector -I/usr/local/include  -std=c89 -O2  -pthread 
-I/usr/include -Wall -ansi -W -Wextra -Wdeclaration-after-statement 
-Wendif-labels -Wc++-compat
`sh  cflags "optimize='-O2  -pthread  -I/usr/include'" perlapi.o` -DPIC 
-fPIC perlapi.c
          CCCMD =  cc -DPERL_CORE -c -O2 -pthread -I/usr/include 
-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe 
-fstack-protector -I/usr/local/include  -std=c89 -O2  -pthread 
-I/usr/include -Wall -ansi -W -Wextra -Wdeclaration-after-statement 
-Wendif-labels -Wc++-compat
`sh  cflags "optimize='-O2  -pthread  -I/usr/include'" numeric.o` -DPIC 
-fPIC numeric.c
          CCCMD =  cc -DPERL_CORE -c -O2 -pthread -I/usr/include 
-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe 
-fstack-protector -I/usr/local/include  -std=c89 -O2  -pthread 
-I/usr/include -Wall -ansi -W -Wextra -Wdeclaration-after-statement 
-Wendif-labels -Wc++-compat
`sh  cflags "optimize='-O2  -pthread  -I/usr/include'" mathoms.o` -DPIC 
-fPIC mathoms.c
          CCCMD =  cc -DPERL_CORE -c -O2 -pthread -I/usr/include 
-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe 
-fstack-protector -I/usr/local/include  -std=c89 -O2  -pthread 
-I/usr/include -Wall -ansi -W -Wextra -Wdeclaration-after-statement 
-Wendif-labels -Wc++-compat
`sh  cflags "optimize='-O2  -pthread  -I/usr/include'" locale.o` -DPIC 
-fPIC locale.c
          CCCMD =  cc -DPERL_CORE -c -O2 -pthread -I/usr/include 
-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe 
-fstack-protector -I/usr/local/include  -std=c89 -O2  -pthread 
-I/usr/include -Wall -ansi -W -Wextra -Wdeclaration-after-statement 
-Wendif-labels -Wc++-compat
`sh  cflags "optimize='-O2  -pthread  -I/usr/include'" pp_pack.o` -DPIC 
-fPIC pp_pack.c
          CCCMD =  cc -DPERL_CORE -c -O2 -pthread -I/usr/include 
-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe 
-fstack-protector -I/usr/local/include  -std=c89 -O2  -pthread 
-I/usr/include -Wall -ansi -W -Wextra -Wdeclaration-after-statement 
-Wendif-labels -Wc++-compat
pp_pack.c: In function 'S_unpack_rec':
pp_pack.c:1561: warning: 'str' may be used uninitialized in this function
pp_pack.c:1228: warning: 'sv' may be used uninitialized in this function
`sh  cflags "optimize='-O2  -pthread  -I/usr/include'" pp_sort.o` -DPIC 
-fPIC pp_sort.c
          CCCMD =  cc -DPERL_CORE -c -O2 -pthread -I/usr/include 
-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe 
-fstack-protector -I/usr/local/include  -std=c89 -O2  -pthread 
-I/usr/include -Wall -ansi -W -Wextra -Wdeclaration-after-statement 
-Wendif-labels -Wc++-compat
`sh  cflags "optimize='-O2  -pthread  -I/usr/include'" opmini.o` -DPIC 
-fPIC -DPERL_EXTERNAL_GLOB opmini.c
          CCCMD =  cc -DPERL_CORE -c -O2 -pthread -I/usr/include 
-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe 
-fstack-protector -I/usr/local/include  -std=c89 -O2  -pthread 
-I/usr/include -Wall -ansi -W -Wextra -Wdeclaration-after-statement 
-Wendif-labels -Wc++-compat
`sh  cflags "optimize='-O2  -pthread  -I/usr/include'" perlmini.o` -DPIC 
-fPIC -DPERL_IS_MINIPERL perlmini.c
          CCCMD =  cc -DPERL_CORE -c -O2 -pthread -I/usr/include 
-DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe 
-fstack-protector -I/usr/local/include  -std=c89 -O2  -pthread 
-I/usr/include -Wall -ansi -W -Wextra -Wdeclaration-after-statement 
-Wendif-labels -Wc++-compat
LD_LIBRARY_PATH=/usr/pkgsrc/lang/perl5/work/perl-5.12.2 cc 
-Wl,-R/usr/pkg/lib -pthread -Wl,-E -fstack-protector -o miniperl    gv.o 
toke.o perly.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro.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    miniperlmain.o 
opmini.o perlmini.o -lm -lcrypt -lpthread -lrt
gv.o: In function `Perl_gv_fetchfile_flags':
gv.c:(.text+0x265b): undefined reference to `__stack_chk_fail_local'
gv.o: In function `.L438':
gv.c:(.text+0x4401): undefined reference to `__stack_chk_fail_local'
gv.o: In function `Perl_gv_stashpvn':
gv.c:(.text+0x4a28): undefined reference to `__stack_chk_fail_local'
toke.o: In function `Perl_scan_vstring':
toke.c:(.text+0x407): undefined reference to `__stack_chk_fail_local'
toke.o: In function `S_feature_is_enabled':
toke.c:(.text+0x1f2f): undefined reference to `__stack_chk_fail_local'
toke.o:toke.c:(.text+0x84e6): more undefined references to 
`__stack_chk_fail_local' follow
/usr/libexec/binutils217/elf/ld: miniperl: hidden symbol 
`__stack_chk_fail_local' isn't defined
/usr/libexec/binutils217/elf/ld: final link failed: Nonrepresentable 
section on output
*** Error code 1

Stop.
bmake: stopped in /usr/pkgsrc/lang/perl5/work/perl-5.12.2
*** Error code 1
Stop.
bmake: stopped in /usr/pkgsrc/lang/perl5
*** Error code 1
Stop.
bmake: stopped in /usr/pkgsrc/lang/perl5
df386devel#







More information about the Bugs mailing list