On Wed, Dec 25 2019, Jeremy Evans <jer...@openbsd.org> wrote:
> Ruby 2.7.0 was released today.  Release announcement is at
> https://www.ruby-lang.org/en/news/2019/12/25/ruby-2-7-0-released/
>
> Some highlights:
>
> * Pattern matching
> * Improvements to irb (multiline, syntax highlighting)
> * Compacting garbage collector
> * Separation of keyword and positional arguments
> * Numbered parameters
>
> Tested on amd64, for about 9 months starting with the first preview
> release. OK to import?

This fails on sparc64, log attached.  It *seems* that the configure
tests are picky because of APIWARN and libgmp.  And indeed the build
fails similarly on amd64 with USE_LLD=No (only ld.bfd warns about unsafe
functions, ld.lld does not).

--8<--
configure:18665: checking for function name string predefined identifier
configure:18696: cc -std=gnu99 -o conftest -O2 -pipe -Wall -Wextra 
-Wdeprecated-declarations -Wimplicit-function-declaration -Wimplicit-int 
-Wpointer-arith -Wwrite-strings -Wmissing-noreturn -Wno-cast-function-type 
-Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers 
-Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality 
-Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter 
-Wno-unused-value -Wunused-variable -DOPENSSL_NO_STATIC_ENGINE 
-I/usr/local/include -L/usr/local/lib -fstack-protector-strong conftest.c -lgmp 
-lm  >&5
/usr/local/lib/libgmp.so.10.0: warning: vsprintf() is often misused, please use 
vsnprintf()
configure:18696: $? = 0
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define __EXTENSIONS__ 1
| #define _ALL_SOURCE 1
| #define _GNU_SOURCE 1
| #define _POSIX_PTHREAD_SEMANTICS 1
| #define _TANDEM_SOURCE 1
| #define RUBY_SYMBOL_EXPORT_BEGIN _Pragma("GCC visibility push(default)")
| #define RUBY_SYMBOL_EXPORT_END _Pragma("GCC visibility pop")
| #define HAVE_STMT_AND_DECL_IN_EXPR 1
| #define HAVE_DIRENT_H 1
| #define HAVE__BOOL 1
| #define HAVE_STDBOOL_H 1
| #define HAVE_SYS_WAIT_H 1
| #define HAVE_A_OUT_H 1
| #define HAVE_GRP_H 1
| #define HAVE_FCNTL_H 1
| #define HAVE_FLOAT_H 1
| #define HAVE_IEEEFP_H 1
| #define HAVE_LANGINFO_H 1
| #define HAVE_LIMITS_H 1
| #define HAVE_LOCALE_H 1
| #define HAVE_PWD_H 1
| #define HAVE_SYS_FCNTL_H 1
| #define HAVE_SYS_FILE_H 1
| #define HAVE_SYS_IOCTL_H 1
| #define HAVE_SYS_PARAM_H 1
| #define HAVE_SYS_RESOURCE_H 1
| #define HAVE_SYS_SELECT_H 1
| #define HAVE_SYS_SOCKET_H 1
| #define HAVE_SYS_SYSCALL_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_SYS_TIMES_H 1
| #define HAVE_SYS_UIO_H 1
| #define HAVE_TIME_H 1
| #define HAVE_UTIME_H 1
| #define HAVE_GMP_H 1
| #define HAVE_LIBGMP 1
| #define WORDS_BIGENDIAN 1
| #define HAVE_TYPEOF 1
| #define restrict __restrict__
| #define HAVE_LONG_LONG 1
| #define HAVE_OFF_T 1
| #define SIZEOF_INT 4
| #define SIZEOF_SHORT 2
| #define SIZEOF_LONG 8
| #define SIZEOF_LONG_LONG 8
| #define SIZEOF___INT64 0
| #define SIZEOF___INT128 0
| #define SIZEOF_OFF_T 8
| #define SIZEOF_VOIDP 8
| #define SIZEOF_FLOAT 4
| #define SIZEOF_DOUBLE 8
| #define SIZEOF_TIME_T 8
| #define SIZEOF_CLOCK_T 8
| #define PACKED_STRUCT(x) x __attribute__((packed))
| #define USE_UNALIGNED_MEMBER_ACCESS 1
| #define PRI_LL_PREFIX "ll"
| #define HAVE_PID_T 1
| #define rb_pid_t pid_t
| #define SIGNEDNESS_OF_PID_T -1
| #define PIDT2NUM(v) INT2NUM(v)
| #define NUM2PIDT(v) NUM2INT(v)
| #define PRI_PIDT_PREFIX PRI_INT_PREFIX
| #define HAVE_UID_T 1
| #define rb_uid_t uid_t
| #define SIGNEDNESS_OF_UID_T +1
| #define UIDT2NUM(v) UINT2NUM(v)
| #define NUM2UIDT(v) NUM2UINT(v)
| #define PRI_UIDT_PREFIX PRI_INT_PREFIX
| #define HAVE_GID_T 1
| #define rb_gid_t gid_t
| #define SIGNEDNESS_OF_GID_T +1
| #define GIDT2NUM(v) UINT2NUM(v)
| #define NUM2GIDT(v) NUM2UINT(v)
| #define PRI_GIDT_PREFIX PRI_INT_PREFIX
| #define HAVE_TIME_T 1
| #define rb_time_t time_t
| #define SIGNEDNESS_OF_TIME_T -1
| #define TIMET2NUM(v) LL2NUM(v)
| #define NUM2TIMET(v) NUM2LL(v)
| #define PRI_TIMET_PREFIX PRI_LL_PREFIX
| #define HAVE_DEV_T 1
| #define rb_dev_t dev_t
| #define SIGNEDNESS_OF_DEV_T -1
| #define DEVT2NUM(v) INT2NUM(v)
| #define NUM2DEVT(v) NUM2INT(v)
| #define PRI_DEVT_PREFIX PRI_INT_PREFIX
| #define HAVE_MODE_T 1
| #define rb_mode_t mode_t
| #define SIGNEDNESS_OF_MODE_T +1
| #define MODET2NUM(v) UINT2NUM(v)
| #define NUM2MODET(v) NUM2UINT(v)
| #define PRI_MODET_PREFIX PRI_INT_PREFIX
| #define HAVE_RLIM_T 1
| #define rb_rlim_t rlim_t
| #define SIGNEDNESS_OF_RLIM_T +1
| #define RLIM2NUM(v) ULL2NUM(v)
| #define NUM2RLIM(v) NUM2ULL(v)
| #define PRI_RLIM_PREFIX PRI_LL_PREFIX
| #define HAVE_OFF_T 1
| #define rb_off_t off_t
| #define SIGNEDNESS_OF_OFF_T -1
| #define OFFT2NUM(v) LL2NUM(v)
| #define NUM2OFFT(v) NUM2LL(v)
| #define PRI_OFFT_PREFIX PRI_LL_PREFIX
| #define HAVE_CLOCKID_T 1
| #define rb_clockid_t clockid_t
| #define SIGNEDNESS_OF_CLOCKID_T -1
| #define CLOCKID2NUM(v) INT2NUM(v)
| #define NUM2CLOCKID(v) NUM2INT(v)
| #define PRI_CLOCKID_PREFIX PRI_INT_PREFIX
| #define HAVE_PROTOTYPES 1
| #define TOKEN_PASTE(x,y) x##y
| #define STRINGIZE(expr) STRINGIZE0(expr)
| #define HAVE_STDARG_PROTOTYPES 1
| #define HAVE_VA_ARGS_MACRO 1
| #define RUBY_ALIGNAS(x) __attribute__((__aligned__(x)))
| #define RUBY_ALIGNOF __alignof
| #define CONSTFUNC(x) __attribute__ ((__const__)) x
| #define PUREFUNC(x) __attribute__ ((__pure__)) x
| #define NORETURN(x) __attribute__ ((__noreturn__)) x
| #define DEPRECATED(x) __attribute__ ((__deprecated__)) x
| #define DEPRECATED_TYPE(mesg,x) __attribute__ ((__deprecated__ mesg)) x
| #define NOINLINE(x) __attribute__ ((__noinline__)) x
| #define ALWAYS_INLINE(x) __attribute__ ((__always_inline__)) x
| #define WARN_UNUSED_RESULT(x) __attribute__ ((__warn_unused_result__)) x
| #define MAYBE_UNUSED(x) __attribute__ ((__unused__)) x
| #define WEAK(x) __attribute__ ((__weak__)) x
| #define HAVE_FUNC_WEAK 1
| #define HAVE_ATTRIBUTE_FUNCTION_ALIAS 1
| #define RUBY_ALIAS_FUNCTION_TYPE(type, prot, name, args) type prot 
__attribute__((alias(#name)));
| #define RUBY_ALIAS_FUNCTION_VOID(prot, name, args) 
RUBY_ALIAS_FUNCTION_TYPE(void, prot, name, args)
| #define HAVE_GCC_SYNC_BUILTINS 1
| #define RUBY_FUNC_EXPORTED __attribute__ ((__visibility__("default"))) extern
| #define RUBY_FUNC_NONNULL(n,x) __attribute__ ((__nonnull__(n))) x
| /* end confdefs.h.  */
| #include <stdio.h>
| int
| main ()
| {
| puts(__func__);
|   ;
|   return 0;
| }
configure:18696: cc -std=gnu99 -o conftest -O2 -pipe -Wall -Wextra 
-Wdeprecated-declarations -Wimplicit-function-declaration -Wimplicit-int 
-Wpointer-arith -Wwrite-strings -Wmissing-noreturn -Wno-cast-function-type 
-Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers 
-Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality 
-Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter 
-Wno-unused-value -Wunused-variable -DOPENSSL_NO_STATIC_ENGINE 
-I/usr/local/include -L/usr/local/lib -fstack-protector-strong conftest.c -lgmp 
-lm  >&5
/usr/local/lib/libgmp.so.10.0: warning: vsprintf() is often misused, please use 
vsnprintf()
configure:18696: $? = 0
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define __EXTENSIONS__ 1
| #define _ALL_SOURCE 1
| #define _GNU_SOURCE 1
| #define _POSIX_PTHREAD_SEMANTICS 1
| #define _TANDEM_SOURCE 1
| #define RUBY_SYMBOL_EXPORT_BEGIN _Pragma("GCC visibility push(default)")
| #define RUBY_SYMBOL_EXPORT_END _Pragma("GCC visibility pop")
| #define HAVE_STMT_AND_DECL_IN_EXPR 1
| #define HAVE_DIRENT_H 1
| #define HAVE__BOOL 1
| #define HAVE_STDBOOL_H 1
| #define HAVE_SYS_WAIT_H 1
| #define HAVE_A_OUT_H 1
| #define HAVE_GRP_H 1
| #define HAVE_FCNTL_H 1
| #define HAVE_FLOAT_H 1
| #define HAVE_IEEEFP_H 1
| #define HAVE_LANGINFO_H 1
| #define HAVE_LIMITS_H 1
| #define HAVE_LOCALE_H 1
| #define HAVE_PWD_H 1
| #define HAVE_SYS_FCNTL_H 1
| #define HAVE_SYS_FILE_H 1
| #define HAVE_SYS_IOCTL_H 1
| #define HAVE_SYS_PARAM_H 1
| #define HAVE_SYS_RESOURCE_H 1
| #define HAVE_SYS_SELECT_H 1
| #define HAVE_SYS_SOCKET_H 1
| #define HAVE_SYS_SYSCALL_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_SYS_TIMES_H 1
| #define HAVE_SYS_UIO_H 1
| #define HAVE_TIME_H 1
| #define HAVE_UTIME_H 1
| #define HAVE_GMP_H 1
| #define HAVE_LIBGMP 1
| #define WORDS_BIGENDIAN 1
| #define HAVE_TYPEOF 1
| #define restrict __restrict__
| #define HAVE_LONG_LONG 1
| #define HAVE_OFF_T 1
| #define SIZEOF_INT 4
| #define SIZEOF_SHORT 2
| #define SIZEOF_LONG 8
| #define SIZEOF_LONG_LONG 8
| #define SIZEOF___INT64 0
| #define SIZEOF___INT128 0
| #define SIZEOF_OFF_T 8
| #define SIZEOF_VOIDP 8
| #define SIZEOF_FLOAT 4
| #define SIZEOF_DOUBLE 8
| #define SIZEOF_TIME_T 8
| #define SIZEOF_CLOCK_T 8
| #define PACKED_STRUCT(x) x __attribute__((packed))
| #define USE_UNALIGNED_MEMBER_ACCESS 1
| #define PRI_LL_PREFIX "ll"
| #define HAVE_PID_T 1
| #define rb_pid_t pid_t
| #define SIGNEDNESS_OF_PID_T -1
| #define PIDT2NUM(v) INT2NUM(v)
| #define NUM2PIDT(v) NUM2INT(v)
| #define PRI_PIDT_PREFIX PRI_INT_PREFIX
| #define HAVE_UID_T 1
| #define rb_uid_t uid_t
| #define SIGNEDNESS_OF_UID_T +1
| #define UIDT2NUM(v) UINT2NUM(v)
| #define NUM2UIDT(v) NUM2UINT(v)
| #define PRI_UIDT_PREFIX PRI_INT_PREFIX
| #define HAVE_GID_T 1
| #define rb_gid_t gid_t
| #define SIGNEDNESS_OF_GID_T +1
| #define GIDT2NUM(v) UINT2NUM(v)
| #define NUM2GIDT(v) NUM2UINT(v)
| #define PRI_GIDT_PREFIX PRI_INT_PREFIX
| #define HAVE_TIME_T 1
| #define rb_time_t time_t
| #define SIGNEDNESS_OF_TIME_T -1
| #define TIMET2NUM(v) LL2NUM(v)
| #define NUM2TIMET(v) NUM2LL(v)
| #define PRI_TIMET_PREFIX PRI_LL_PREFIX
| #define HAVE_DEV_T 1
| #define rb_dev_t dev_t
| #define SIGNEDNESS_OF_DEV_T -1
| #define DEVT2NUM(v) INT2NUM(v)
| #define NUM2DEVT(v) NUM2INT(v)
| #define PRI_DEVT_PREFIX PRI_INT_PREFIX
| #define HAVE_MODE_T 1
| #define rb_mode_t mode_t
| #define SIGNEDNESS_OF_MODE_T +1
| #define MODET2NUM(v) UINT2NUM(v)
| #define NUM2MODET(v) NUM2UINT(v)
| #define PRI_MODET_PREFIX PRI_INT_PREFIX
| #define HAVE_RLIM_T 1
| #define rb_rlim_t rlim_t
| #define SIGNEDNESS_OF_RLIM_T +1
| #define RLIM2NUM(v) ULL2NUM(v)
| #define NUM2RLIM(v) NUM2ULL(v)
| #define PRI_RLIM_PREFIX PRI_LL_PREFIX
| #define HAVE_OFF_T 1
| #define rb_off_t off_t
| #define SIGNEDNESS_OF_OFF_T -1
| #define OFFT2NUM(v) LL2NUM(v)
| #define NUM2OFFT(v) NUM2LL(v)
| #define PRI_OFFT_PREFIX PRI_LL_PREFIX
| #define HAVE_CLOCKID_T 1
| #define rb_clockid_t clockid_t
| #define SIGNEDNESS_OF_CLOCKID_T -1
| #define CLOCKID2NUM(v) INT2NUM(v)
| #define NUM2CLOCKID(v) NUM2INT(v)
| #define PRI_CLOCKID_PREFIX PRI_INT_PREFIX
| #define HAVE_PROTOTYPES 1
| #define TOKEN_PASTE(x,y) x##y
| #define STRINGIZE(expr) STRINGIZE0(expr)
| #define HAVE_STDARG_PROTOTYPES 1
| #define HAVE_VA_ARGS_MACRO 1
| #define RUBY_ALIGNAS(x) __attribute__((__aligned__(x)))
| #define RUBY_ALIGNOF __alignof
| #define CONSTFUNC(x) __attribute__ ((__const__)) x
| #define PUREFUNC(x) __attribute__ ((__pure__)) x
| #define NORETURN(x) __attribute__ ((__noreturn__)) x
| #define DEPRECATED(x) __attribute__ ((__deprecated__)) x
| #define DEPRECATED_TYPE(mesg,x) __attribute__ ((__deprecated__ mesg)) x
| #define NOINLINE(x) __attribute__ ((__noinline__)) x
| #define ALWAYS_INLINE(x) __attribute__ ((__always_inline__)) x
| #define WARN_UNUSED_RESULT(x) __attribute__ ((__warn_unused_result__)) x
| #define MAYBE_UNUSED(x) __attribute__ ((__unused__)) x
| #define WEAK(x) __attribute__ ((__weak__)) x
| #define HAVE_FUNC_WEAK 1
| #define HAVE_ATTRIBUTE_FUNCTION_ALIAS 1
| #define RUBY_ALIAS_FUNCTION_TYPE(type, prot, name, args) type prot 
__attribute__((alias(#name)));
| #define RUBY_ALIAS_FUNCTION_VOID(prot, name, args) 
RUBY_ALIAS_FUNCTION_TYPE(void, prot, name, args)
| #define HAVE_GCC_SYNC_BUILTINS 1
| #define RUBY_FUNC_EXPORTED __attribute__ ((__visibility__("default"))) extern
| #define RUBY_FUNC_NONNULL(n,x) __attribute__ ((__nonnull__(n))) x
| /* end confdefs.h.  */
| #include <stdio.h>
| int
| main ()
| {
| puts(__FUNCTION__);
|   ;
|   return 0;
| }
configure:18717: result: no
-->8--

Attachment: ruby27-sparc64.log.gz
Description: Binary data

-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE

Reply via email to