summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-10-10 09:19:05 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-10-10 09:19:05 +0000
commit66150a89a69ed16953d40af8383206f339dcd5ac (patch)
treec5c4bdc9a41edee10e99414032ae587c8c8b3d4f
parent478d3535efa17927f872549d3a5affcbc668e585 (diff)
* configure.in, Makefile.in (LIBRUBY_SO), common.mk (ruby.imp),
win32/mkexports.rb (each_export): exclude _threadptr_ functions. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25284 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--Makefile.in2
-rw-r--r--common.mk2
-rw-r--r--configure.in4
-rwxr-xr-xwin32/mkexports.rb2
5 files changed, 11 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index cc9b814ccc..c5a9f8af65 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/common.mk b/common.mk
index d077ad1c2d..c8e535d461 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 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