Skip to content

Commit

Permalink
* common.mk, configure.in, defines.h, eval.c, gc.c, main.c,
Browse files Browse the repository at this point in the history
  numeric.c, ruby.h, ia64.s: backport IA64 HP-UX support.


git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_8@10827 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
akr committed Sep 1, 2006
1 parent 4d9869f commit f8e87ab
Show file tree
Hide file tree
Showing 9 changed files with 264 additions and 145 deletions.
5 changes: 5 additions & 0 deletions ChangeLog
@@ -1,3 +1,8 @@
Sat Sep 2 03:36:22 2006 Tanaka Akira <akr@fsij.org>

* common.mk, configure.in, defines.h, eval.c, gc.c, main.c,
numeric.c, ruby.h, ia64.s: backport IA64 HP-UX support.

Fri Sep 1 13:52:57 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp> Fri Sep 1 13:52:57 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>


* ext/tk/lib/tk/font.rb: TkFont#current_configinfo() doesn't work * ext/tk/lib/tk/font.rb: TkFont#current_configinfo() doesn't work
Expand Down
1 change: 1 addition & 0 deletions common.mk
Expand Up @@ -189,6 +189,7 @@ nt.$(OBJEXT): {$(VPATH)}nt.c
x68.$(OBJEXT): {$(VPATH)}x68.c x68.$(OBJEXT): {$(VPATH)}x68.c
os2.$(OBJEXT): {$(VPATH)}os2.c os2.$(OBJEXT): {$(VPATH)}os2.c
dl_os2.$(OBJEXT): {$(VPATH)}dl_os2.c dl_os2.$(OBJEXT): {$(VPATH)}dl_os2.c
ia64.$(OBJEXT): ia64.s


# when I use -I., there is confliction at "OpenFile" # when I use -I., there is confliction at "OpenFile"
# so, set . into environment varible "include" # so, set . into environment varible "include"
Expand Down
61 changes: 51 additions & 10 deletions configure.in
Expand Up @@ -286,16 +286,42 @@ if test "$rb_cv_stdarg" = yes; then
AC_DEFINE(HAVE_STDARG_PROTOTYPES) AC_DEFINE(HAVE_STDARG_PROTOTYPES)
fi fi


AC_CACHE_CHECK([for noreturn], rb_cv_noreturn, AC_DEFUN([RUBY_FUNC_ATTRIBUTE], [dnl
[rb_cv_noreturn=x m4_ifval([$2], dnl
for mac in "x __attribute__ ((noreturn))" "__declspec(noreturn) x" x; do [AS_VAR_PUSHDEF([attrib],[$2])], dnl
[AS_VAR_PUSHDEF([attrib],[FUNC_]AS_TR_CPP($1))] dnl
)dnl
m4_ifval([$3], dnl
[AS_VAR_PUSHDEF([rbcv],[$3])], dnl
[AS_VAR_PUSHDEF([rbcv],[rb_cv_func_][$1])]dnl
)dnl
AC_CACHE_CHECK(for [$1] function attribute, rbcv,
[rbcv=x
if test "${ac_c_werror_flag+set}"; then
rb_c_werror_flag="$ac_c_werror_flag"
else
unset rb_c_werror_flag
fi
ac_c_werror_flag=yes
for mac in "__attribute__ (($1)) x" "x __attribute__ (($1))" "__declspec($1) x" x; do
AC_TRY_COMPILE( AC_TRY_COMPILE(
[#define NORETURN(x) $mac [#define ]attrib[(x) $mac
NORETURN(void exit(int x));], ]attrib[(void conftest_attribute_check(void));], [],
[], [rbcv="$mac"; break])
[rb_cv_noreturn="$mac"; break]) done
done]) if test "${rb_c_werror_flag+set}"; then
AC_DEFINE_UNQUOTED([NORETURN(x)], $rb_cv_noreturn) ac_c_werror_flag="$rb_c_werror_flag"
else
unset ac_c_werror_flag
fi
])
AC_DEFINE_UNQUOTED(attrib[(x)], $rbcv)
AS_VAR_POPDEF([attrib])
AS_VAR_POPDEF([rbcv])
])

RUBY_FUNC_ATTRIBUTE(noreturn, NORETURN)
RUBY_FUNC_ATTRIBUTE(noinline, NOINLINE)


AC_CACHE_CHECK([for RUBY_EXTERN], rb_cv_ruby_extern, AC_CACHE_CHECK([for RUBY_EXTERN], rb_cv_ruby_extern,
[rb_cv_ruby_extern=no [rb_cv_ruby_extern=no
Expand Down Expand Up @@ -595,6 +621,21 @@ AC_C_CHAR_UNSIGNED
AC_C_INLINE AC_C_INLINE
AC_C_VOLATILE AC_C_VOLATILE


if test x"$target_cpu" = xia64; then
AC_LIBOBJ([ia64])
AC_CACHE_CHECK(for __libc_ia64_register_backing_store_base,
rb_cv___libc_ia64_register_backing_store_base,
[rb_cv___libc_ia64_register_backing_store_base=no
AC_TRY_LINK(
[extern unsigned long __libc_ia64_register_backing_store_base;],
[unsigned long p = __libc_ia64_register_backing_store_base;
printf("%ld\n", p);],
[rb_cv___libc_ia64_register_backing_store_base=yes])])
if test $rb_cv___libc_ia64_register_backing_store_base = yes; then
AC_DEFINE(HAVE___LIBC_IA64_REGISTER_BACKING_STORE_BASE)
fi
fi

AC_CACHE_CHECK(whether right shift preserve sign bit, rb_cv_rshift_sign, AC_CACHE_CHECK(whether right shift preserve sign bit, rb_cv_rshift_sign,
[AC_TRY_RUN([ [AC_TRY_RUN([
int int
Expand Down Expand Up @@ -827,7 +868,7 @@ if test x"$enable_pthread" = xyes; then
fi fi
fi fi
if test x"$ac_cv_header_ucontext_h" = xyes; then if test x"$ac_cv_header_ucontext_h" = xyes; then
if test x"$target_cpu" = xia64 -o x"$rb_with_pthread" = xyes; then if x"$rb_with_pthread" = xyes; then
AC_CHECK_FUNCS(getcontext setcontext) AC_CHECK_FUNCS(getcontext setcontext)
fi fi
fi fi
Expand Down
11 changes: 4 additions & 7 deletions defines.h
Expand Up @@ -221,13 +221,10 @@ flush_register_windows(void)
; ;
} }
# define FLUSH_REGISTER_WINDOWS flush_register_windows() # define FLUSH_REGISTER_WINDOWS flush_register_windows()
#elif defined(__ia64__) #elif defined(__ia64)
void flush_register_windows(void) void *rb_ia64_bsp(void);
# if defined(__GNUC__) && (( __GNUC__ == 3 && __GNUC_MINOR__ > 0 ) || __GNUC__ > 3) void rb_ia64_flushrs(void);
__attribute__ ((noinline)) # define FLUSH_REGISTER_WINDOWS rb_ia64_flushrs()
# endif
;
# define FLUSH_REGISTER_WINDOWS flush_register_windows()
#else #else
# define FLUSH_REGISTER_WINDOWS ((void)0) # define FLUSH_REGISTER_WINDOWS ((void)0)
#endif #endif
Expand Down

0 comments on commit f8e87ab

Please sign in to comment.