* configure.in (aix): enable shared by default.

* configure.in (aix): for 64bit-mode AIX.  [ruby-dev:31401]
  + use CC for LDSHARED if non-gcc,
  + moved -G option from *LDFLAGS to LDSHARED,
  + set -brtl only in XLDFLAGS.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13062 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2007-08-16 07:46:11 +00:00
parent 478e984e93
commit 29ab4251f7
4 changed files with 47 additions and 35 deletions

View File

@ -1,3 +1,12 @@
Thu Aug 16 16:46:07 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in (aix): enable shared by default.
* configure.in (aix): for 64bit-mode AIX. [ruby-dev:31401]
+ use CC for LDSHARED if non-gcc,
+ moved -G option from *LDFLAGS to LDSHARED,
+ set -brtl only in XLDFLAGS.
Thu Aug 16 13:06:08 2007 Tanaka Akira <akr@fsij.org> Thu Aug 16 13:06:08 2007 Tanaka Akira <akr@fsij.org>
* bignum.c (big_lshift): make shift offset long type. * bignum.c (big_lshift): make shift offset long type.
@ -98,6 +107,7 @@ Tue Aug 14 19:51:20 2007 Koichi Sasada <ko1@atdot.net>
Tue Aug 14 00:04:27 2007 Kouhei Sutou <kou@cozmixng.org> Tue Aug 14 00:04:27 2007 Kouhei Sutou <kou@cozmixng.org>
* lib/rss/rss.rb: 0.1.8 -> 0.1.9. * lib/rss/rss.rb: 0.1.8 -> 0.1.9.
* test/rss/test_version.rb: followed the above change. * test/rss/test_version.rb: followed the above change.
* lib/rss/parser.rb: fixed a bug that handles unintended elements. * lib/rss/parser.rb: fixed a bug that handles unintended elements.

View File

@ -1042,11 +1042,11 @@ if test "$with_dln_a_out" != yes; then
aix*) if test "$GCC" = yes; then aix*) if test "$GCC" = yes; then
: ${LDSHARED='$(CC) -shared'} : ${LDSHARED='$(CC) -shared'}
else else
: ${LDSHARED='/usr/ccs/bin/ld'} : ${LDSHARED='$(CC)'}
fi fi
DLDFLAGS="${linker_flag}-G"' -eInit_$(TARGET)' LDSHARED="$LDSHARED ${linker_flag}-G"
LDFLAGS="${LDFLAGS} ${linker_flag}-brtl" DLDFLAGS='-eInit_$(TARGET)'
XLDFLAGS="${linker_flag}-bE:ruby.imp" XLDFLAGS="${linker_flag}-bE:ruby.imp ${linker_flag}-brtl"
: ${ARCHFILE="ruby.imp"} : ${ARCHFILE="ruby.imp"}
TRY_LINK='$(CC) $(LDFLAGS) -oconftest $(INCFLAGS) -I$(hdrdir) $(CPPFLAGS)' TRY_LINK='$(CC) $(LDFLAGS) -oconftest $(INCFLAGS) -I$(hdrdir) $(CPPFLAGS)'
TRY_LINK="$TRY_LINK"' $(CFLAGS) $(src) $(LIBPATH) $(LOCAL_LIBS) $(LIBS)' TRY_LINK="$TRY_LINK"' $(CFLAGS) $(src) $(LIBPATH) $(LOCAL_LIBS) $(LIBS)'
@ -1359,7 +1359,7 @@ if test "$enable_shared" = 'yes'; then
LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).sl.$(MAJOR).$(MINOR) lib$(RUBY_SO_NAME).sl' LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).sl.$(MAJOR).$(MINOR) lib$(RUBY_SO_NAME).sl'
;; ;;
aix*) aix*)
LIBRUBY_DLDFLAGS="${linker_flag}-G ${linker_flag}-bnoentry $XLDFLAGS" LIBRUBY_DLDFLAGS="${linker_flag}-bnoentry $XLDFLAGS"
LIBRUBYARG_SHARED='-L${libdir} -l${RUBY_SO_NAME}' LIBRUBYARG_SHARED='-L${libdir} -l${RUBY_SO_NAME}'
SOLIBS='-lm -lc' SOLIBS='-lm -lc'
;; ;;

View File

@ -1,9 +1,9 @@
/* vim: set cin et sw=4 ts=4: */ /* vim: set cin et sw=4 ts=4: */
#include <string.h>
#include "ruby/ruby.h" #include "ruby/ruby.h"
#include "ruby/st.h" #include "ruby/st.h"
#include "unicode.h" #include "unicode.h"
#include <string.h>
#include <math.h> #include <math.h>
#define check_max_nesting(state, depth) do { \ #define check_max_nesting(state, depth) do { \

6
vm.c
View File

@ -237,11 +237,13 @@ vm_make_env_each(rb_thread_t *th, rb_control_frame_t *cfp,
for (i = 0; i <= local_size; i++) { for (i = 0; i <= local_size; i++) {
env->env[i] = envptr[-local_size + i]; env->env[i] = envptr[-local_size + i];
// dp(env->env[i]); #if 0
dp(env->env[i]);
if (RUBY_VM_NORMAL_ISEQ_P(cfp->iseq)) { if (RUBY_VM_NORMAL_ISEQ_P(cfp->iseq)) {
/* clear value stack for GC */ /* clear value stack for GC */
// envptr[-local_size + i] = 0; envptr[-local_size + i] = 0;
} }
#endif
} }
*envptr = envval; /* GC mark */ *envptr = envval; /* GC mark */