diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Makefile.in | 2 | ||||
-rw-r--r-- | common.mk | 2 | ||||
-rw-r--r-- | configure.in | 4 | ||||
-rwxr-xr-x | win32/mkexports.rb | 2 |
5 files changed, 11 insertions, 4 deletions
@@ -1,3 +1,8 @@ +Sat Oct 10 18:19:03 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * configure.in, Makefile.in (LIBRUBY_SO), common.mk (ruby.imp), + win32/mkexports.rb (each_export): exclude _threadptr_ functions. + Sat Oct 10 17:55:57 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> * eval.c (rb_threadptr_errinfo): renamed. diff --git a/Makefile.in b/Makefile.in index 883d9ad489..5ba6f07520 100644 --- a/Makefile.in +++ b/Makefile.in @@ -155,7 +155,7 @@ $(LIBRUBY_A): $(LIBRUBY_SO): @-$(PRE_LIBRUBY_UPDATE) $(LDSHARED) $(DLDFLAGS) $(OBJS) $(DLDOBJS) $(SOLIBS) $(OUTFLAG)$@ - -$(OBJCOPY) -w -L '@EXPORT_PREFIX@Init_*' $@ + -$(OBJCOPY) -w -L '@EXPORT_PREFIX@Init_*' -L '@EXPORT_PREFIX@*_threadptr_*' $@ @-$(MINIRUBY) -e 'ARGV.each{|link| File.delete link if File.exist? link; \ File.symlink "$(LIBRUBY_SO)", link}' \ $(LIBRUBY_ALIASES) || true @@ -171,7 +171,7 @@ $(STATIC_RUBY)$(EXEEXT): $(MAINOBJ) $(DLDOBJS) $(EXTOBJS) $(LIBRUBY_A) ruby.imp: $(EXPORTOBJS) @$(NM) -Pgp $(EXPORTOBJS) | \ - awk 'BEGIN{print "#!"}; $$2~/^[BDT]$$/&&$$1!~/^(Init_|\.)/{print $$1}' | \ + awk 'BEGIN{print "#!"}; $$2~/^[BDT]$$/&&$$1!~/^(Init_|.*_threadptr_|\.)/{print $$1}' | \ sort -u -o $@ install: install-$(INSTALLDOC) diff --git a/configure.in b/configure.in index 151970d22b..22b056a300 100644 --- a/configure.in +++ b/configure.in @@ -2089,7 +2089,9 @@ if test "$enable_shared" = 'yes'; then LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS "'-install_name '${libprefix}'/$(LIBRUBY_SO)' LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS "'-current_version $(MAJOR).$(MINOR).$(TEENY)' LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS "'-compatibility_version $(ruby_version)' - LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS "'-Wl,-unexported_symbol,_Init_* $(XLDFLAGS)' + LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS "'-Wl,-unexported_symbol,_Init_*' + LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS "'-Wl,-unexported_symbol,*_threadptr_*' + LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS "' $(XLDFLAGS)' LIBRUBY_SO='lib$(RUBY_SO_NAME).dylib' LIBRUBY_ALIASES='lib$(RUBY_BASE_NAME).$(MAJOR).$(MINOR).dylib lib$(RUBY_INSTALL_NAME).dylib' ;; diff --git a/win32/mkexports.rb b/win32/mkexports.rb index 36c04d8e4d..6ef20eab69 100755 --- a/win32/mkexports.rb +++ b/win32/mkexports.rb @@ -144,7 +144,7 @@ class Exports::Cygwin < Exports def each_export(objs) objdump(objs) do |l| next if /@.*@/ =~ l - yield $2, !$1 if /\s(?:(T)|[[:upper:]])\s_((?!Init_|DllMain@).*)$/ =~ l + yield $2, !$1 if /\s(?:(T)|[[:upper:]])\s_((?!Init_|.*_threadptr_|DllMain@).*)$/ =~ l end end end |