From 4d53704a7ed802432b85bb4500ba3e40005d0ab3 Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 10 Oct 2009 09:19:05 +0000 Subject: * configure.in, Makefile.in (LIBRUBY_SO), common.mk (ruby.imp), win32/mkexports.rb (each_export): exclude _threadptr_ functions. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@25284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ Makefile.in | 2 +- common.mk | 2 +- configure.in | 4 +++- win32/mkexports.rb | 2 +- 5 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index cc9b814cc..c5a9f8af6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Sat Oct 10 18:19:03 2009 Nobuyoshi Nakada + + * 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 * eval.c (rb_threadptr_errinfo): renamed. diff --git a/Makefile.in b/Makefile.in index 883d9ad48..5ba6f0752 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 diff --git a/common.mk b/common.mk index d077ad1c2..c8e535d46 100644 --- a/common.mk +++ b/common.mk @@ -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 151970d22..22b056a30 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 36c04d8e4..6ef20eab6 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 -- cgit