Bug #7307 ยป alloca.diff
| ChangeLog (working copy) | ||
|---|---|---|
|
Thu Nov 8 14:50:03 2012 Akinori MUSHA <knu@iDaemons.org>
|
||
|
* include/ruby/ruby.h (alloca), eval_intern.h, gc.c: Make alloca
|
||
|
universally work by placing the ultimate ifdef's in ruby/ruby.h.
|
||
|
Gcc hides its builtin alloca() when -ansi is given, and build
|
||
|
thus fails on platforms that lack their own alloca()
|
||
|
implementation in libc, such as OpenBSD and some ports of
|
||
|
NetBSD.
|
||
|
* addr2line.c (alloca): Place the ultimate ifdef's for alloca.
|
||
|
Thu Nov 8 11:32:11 2012 Akinori MUSHA <knu@iDaemons.org>
|
||
|
* configure.in (--with-opt-dir): Avoid nesting of double quotes
|
||
| addr2line.c (working copy) | ||
|---|---|---|
|
#include <sys/stat.h>
|
||
|
#include <unistd.h>
|
||
|
#if defined(HAVE_ALLOCA_H)
|
||
|
#include <alloca.h>
|
||
|
#endif
|
||
|
/* Make alloca work the best possible way. */
|
||
|
#ifdef __GNUC__
|
||
|
# ifndef atarist
|
||
|
# ifndef alloca
|
||
|
# define alloca __builtin_alloca
|
||
|
# endif
|
||
|
# endif /* atarist */
|
||
|
#else
|
||
|
# ifdef HAVE_ALLOCA_H
|
||
|
# include <alloca.h>
|
||
|
# else
|
||
|
# ifdef _AIX
|
||
|
#pragma alloca
|
||
|
# else
|
||
|
# ifndef alloca /* predefined by HP cc +Olibcalls */
|
||
|
void *alloca();
|
||
|
# endif
|
||
|
# endif /* AIX */
|
||
|
# endif /* HAVE_ALLOCA_H */
|
||
|
#endif /* __GNUC__ */
|
||
|
#ifdef HAVE_DL_ITERATE_PHDR
|
||
|
# ifndef _GNU_SOURCE
|
||
| eval_intern.h (working copy) | ||
|---|---|---|
|
#include <crt_externs.h>
|
||
|
#endif
|
||
|
/* Make alloca work the best possible way. */
|
||
|
#ifdef __GNUC__
|
||
|
# ifndef atarist
|
||
|
# ifndef alloca
|
||
|
# define alloca __builtin_alloca
|
||
|
# endif
|
||
|
# endif /* atarist */
|
||
|
#else
|
||
|
# ifdef HAVE_ALLOCA_H
|
||
|
# include <alloca.h>
|
||
|
# else
|
||
|
# ifdef _AIX
|
||
|
#pragma alloca
|
||
|
# else
|
||
|
# ifndef alloca /* predefined by HP cc +Olibcalls */
|
||
|
void *alloca();
|
||
|
# endif
|
||
|
# endif /* AIX */
|
||
|
# endif /* HAVE_ALLOCA_H */
|
||
|
#endif /* __GNUC__ */
|
||
|
#ifndef HAVE_STRING_H
|
||
|
char *strrchr(const char *, const char);
|
||
|
#endif
|
||
| gc.c (working copy) | ||
|---|---|---|
|
#define rb_setjmp(env) RUBY_SETJMP(env)
|
||
|
#define rb_jmp_buf rb_jmpbuf_t
|
||
|
/* Make alloca work the best possible way. */
|
||
|
#ifdef __GNUC__
|
||
|
# ifndef atarist
|
||
|
# ifndef alloca
|
||
|
# define alloca __builtin_alloca
|
||
|
# endif
|
||
|
# endif /* atarist */
|
||
|
#else
|
||
|
# ifdef HAVE_ALLOCA_H
|
||
|
# include <alloca.h>
|
||
|
# else
|
||
|
# ifdef _AIX
|
||
|
#pragma alloca
|
||
|
# else
|
||
|
# ifndef alloca /* predefined by HP cc +Olibcalls */
|
||
|
void *alloca ();
|
||
|
# endif
|
||
|
# endif /* AIX */
|
||
|
# endif /* HAVE_ALLOCA_H */
|
||
|
#endif /* __GNUC__ */
|
||
|
#ifndef GC_MALLOC_LIMIT
|
||
|
#define GC_MALLOC_LIMIT 8000000
|
||
|
#endif
|
||
| include/ruby/ruby.h (working copy) | ||
|---|---|---|
|
#pragma GCC visibility push(default)
|
||
|
#endif
|
||
|
#if defined(HAVE_ALLOCA_H)
|
||
|
#include <alloca.h>
|
||
|
/* Make alloca work the best possible way. */
|
||
|
#ifdef __GNUC__
|
||
|
# ifndef atarist
|
||
|
# ifndef alloca
|
||
|
# define alloca __builtin_alloca
|
||
|
# endif
|
||
|
# endif /* atarist */
|
||
|
#else
|
||
|
# ifdef HAVE_ALLOCA_H
|
||
|
# include <alloca.h>
|
||
|
# else
|
||
|
# ifdef _AIX
|
||
|
#pragma alloca
|
||
|
# endif
|
||
|
#endif
|
||
|
# else
|
||
|
# ifndef alloca /* predefined by HP cc +Olibcalls */
|
||
|
void *alloca();
|
||
|
# endif
|
||
|
# endif /* AIX */
|
||
|
# endif /* HAVE_ALLOCA_H */
|
||
|
#endif /* __GNUC__ */
|
||
|
#if defined HAVE_UINTPTR_T && 0
|
||
|
typedef uintptr_t VALUE;
|
||