Bug #5676
closedminiruby linking error: undefined reference to ___stack_chk_guard
Description
I get what I think is a linking error when linking miniruby.
Below is a (shortened) copy of the output I get. This is on
a clean checkout of trunk (using Ruby 1.8.7 as baseruby).
duerst@jougashima /cygdrive/c/Data/ruby-public
$ make
CC = gcc
LD = ld
LDSHARED = gcc -shared -s
CFLAGS = -O3 -g -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Werror=pointer-arith -Werror=write-strings -Werror=declaration-after-statement -Werror=implicit-function-declaration
XCFLAGS = -include ruby/config.h -include ruby/missing.h -D_FORTIFY_SOURCE=2 -fstack-protector -DRUBY_EXPORT
CPPFLAGS = -I. -I.ext/include/i386-cygwin -I./include -I.
DLDFLAGS = -Wl,--enable-auto-image-base,--enable-auto-import -Wl,--out-implib=libruby191.dll.a cygruby191.def -Xlinker --no-undefined
SOLIBS = cygruby191.res.o -lpthread -lrt -ldl -lcrypt
linking miniruby.exe
dmyencoding.o: In function set_encoding_const': /cygdrive/c/Data/ruby-public/encoding.c:1473: undefined reference to
___stack_chk_guard'
/cygdrive/c/Data/ruby-public/encoding.c:1520: undefined reference to ___stack_chk_guard' /cygdrive/c/Data/ruby-public/encoding.c:1520: undefined reference to
___stack_chk_fail'
bignum.o: In function rb_str_to_inum': /cygdrive/c/Data/ruby-public/bignum.c:763: undefined reference to
___stack_chk_guard'
/cygdrive/c/Data/ruby-public/bignum.c:790: undefined reference to ___stack_chk_guard' /cygdrive/c/Data/ruby-public/bignum.c:790: undefined reference to
___stack_chk_fail'
dir.o: In function dir_read': /cygdrive/c/Data/ruby-public/dir.c:569: undefined reference to
___stack_chk_guard'
/cygdrive/c/Data/ruby-public/dir.c:586: undefined reference to ___stack_chk_guard' /cygdrive/c/Data/ruby-public/dir.c:586: undefined reference to
___stack_chk_fail'
[... many more like these ...]
vm_dump.o: In function control_frame_dump': /cygdrive/c/Data/ruby-public/vm_dump.c:27: undefined reference to
___stack_chk_guard'
/cygdrive/c/Data/ruby-public/vm_dump.c:148: undefined reference to ___stack_chk_guard' /cygdrive/c/Data/ruby-public/vm_dump.c:148: undefined reference to
___stack_chk_fail'
cont.o: In function cont_restore_0': /cygdrive/c/Data/ruby-public/cont.c:733: undefined reference to
___stack_chk_guard'
unicode.o: In function onigenc_unicode_property_name_to_ctype': /cygdrive/c/Data/ruby-public/./enc/unicode.c:2087: undefined reference to
___stack_chk_guard'
/cygdrive/c/Data/ruby-public/./enc/unicode.c:2114: undefined reference to ___stack_chk_guard' /cygdrive/c/Data/ruby-public/./enc/unicode.c:2114: undefined reference to
___stack_chk_fail'
collect2: ld returned 1 exit status
make: *** [miniruby.exe] Error 1
duerst@jougashima /cygdrive/c/Data/ruby-public
$