The package rpms/bigloo.git has added or updated architecture specific content in its
spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s):
https://src.fedoraproject.org/cgit/rpms/bigloo.git/commit/?id=3947e86f89e....
Change:
-ExcludeArch: ppc64
Thanks.
Full change:
============
commit 3947e86f89eb5ef0da16fd8e18ff20fd82d2ccc6
Author: Jerry James <loganjerry(a)gmail.com>
Date: Thu Aug 17 22:31:20 2017 -0600
Add -endian patch to fix s390x build.
Build for ppc64 as well, since the -endian patch fixed that too.
diff --git a/bigloo-endian.patch b/bigloo-endian.patch
new file mode 100644
index 0000000..951465b
--- /dev/null
+++ b/bigloo-endian.patch
@@ -0,0 +1,303 @@
+--- api/gstreamer/src/Clib/bglgst.c.orig 2017-04-18 01:33:52.000000000 -0600
++++ api/gstreamer/src/Clib/bglgst.c 2017-08-17 20:11:16.869429995 -0600
+@@ -1053,7 +1053,7 @@ bgl_gsttag_value_to_obj( const GstTagLis
+ GDate *date;
+
+ if( gst_tag_list_get_date( list, tag, &date ) )
+- return bgl_make_date( 1, 1, 1,
++ return bgl_make_date( 0, 1, 1, 1,
+ date->day, date->month, date->year,
+ 0, 0, 0 );
+ else
+--- bde/bmem/lib/alloc.c.orig 2017-04-18 01:33:52.000000000 -0600
++++ bde/bmem/lib/alloc.c 2017-08-17 21:40:37.460948521 -0600
+@@ -758,7 +758,7 @@ obj_t ident proto { \
+ WRAPPER( string_to_bstring_len, STRING_TYPE_NUM, (char *s, int l), (s ,l) )
+ WRAPPER( string_to_bstring, STRING_TYPE_NUM, (char *s), (s) )
+ WRAPPER( make_string, STRING_TYPE_NUM, (int l, char c), (l,c) )
+-WRAPPER( make_string_sans_fill, STRING_TYPE_NUM, (int l), (l) )
++WRAPPER( make_string_sans_fill, STRING_TYPE_NUM, (long l), (l) )
+ WRAPPER( string_append, STRING_TYPE_NUM, (void *s1, void *s2), (s1, s2) )
+ WRAPPER( string_append_3, STRING_TYPE_NUM, (void *s1, void *s2, void *s3), (s1, s2, s3)
)
+ WRAPPER( c_substring, STRING_TYPE_NUM, (void *s, int l1, int l2), (s, l1, l2) )
+@@ -812,7 +812,7 @@ WRAPPER( bgl_host, HOSTENT_TYPE_NUM, (ob
+ /* date */
+ WRAPPER( bgl_seconds_to_date, DATE_TYPE_NUM, (long s), (s) )
+ WRAPPER( bgl_nanoseconds_to_date, DATE_TYPE_NUM, (long s), (s) )
+-WRAPPER( bgl_make_date, DATE_TYPE_NUM, (int s, int m, int hr, int mday, int mon, int
year, long tz, bool_t istz, int isdst), (s, m, hr, mday, mon, year, tz, istz, isdst) )
++WRAPPER( bgl_make_date, DATE_TYPE_NUM, (BGL_LONGLONG_T ns, int s, int m, int hr, int
mday, int mon, int year, long tz, bool_t istz, int isdst), (ns, s, m, hr, mday, mon, year,
tz, istz, isdst) )
+ WRAPPER( bgl_seconds_format, STRING_TYPE_NUM, (long s, obj_t f), (s, f) )
+
+ /* dynamic environment */
+--- bde/bmem/lib/bmem.h.orig 2017-04-18 01:33:52.000000000 -0600
++++ bde/bmem/lib/bmem.h 2017-08-17 20:10:11.444600428 -0600
+@@ -97,7 +97,7 @@ extern void (*____bgl_init_objects)();
+ extern void *(*____string_to_bstring)( char * );
+ extern void *(*____string_to_bstring_len)( char *, int );
+ extern void *(*____make_string)( int, char );
+-extern void *(*____make_string_sans_fill)( int );
++extern void *(*____make_string_sans_fill)( long );
+ extern void *(*____string_append)( void *, void * );
+ extern void *(*____string_append_3)( void *, void *, void * );
+ extern void *(*____c_substring)( void *, int, int );
+@@ -153,7 +153,7 @@ extern void *(*____bgl_host )( void * );
+
+ extern void *(*____bgl_seconds_to_date )( long );
+ extern void *(*____bgl_nanoseconds_to_date )( long );
+-extern void *(*____bgl_make_date )( int, int, int, int, int, int, long, int, int );
++extern void *(*____bgl_make_date )( BGL_LONGLONG_T, int, int, int, int, int, int, long,
bool_t, int );
+ extern void *(*____bgl_seconds_format )( long, void * );
+
+ extern void *(*____scheduler_start)( void * );
+--- bde/bmem/lib/init.c.orig 2017-04-18 01:33:52.000000000 -0600
++++ bde/bmem/lib/init.c 2017-08-17 20:09:43.116674223 -0600
+@@ -63,7 +63,7 @@ void *(*____make_bllong)( BGL_LONGLONG_T
+ void *(*____string_to_bstring)( char * ) = 0;
+ void *(*____string_to_bstring_len)( char *, int ) = 0;
+ void *(*____make_string)( int, char ) = 0;
+-void *(*____make_string_sans_fill)( int ) = 0;
++void *(*____make_string_sans_fill)( long ) = 0;
+ void *(*____string_append)( void *, void * ) = 0;
+ void *(*____string_append_3)( void *, void *, void * ) = 0;
+ void *(*____c_substring)( void *, int, int ) = 0;
+@@ -138,7 +138,7 @@ void *bgl_socket_accept_symbol, *bgl_soc
+ /* date */
+ void *(*____bgl_seconds_to_date )( long );
+ void *(*____bgl_nanoseconds_to_date )( long );
+-void *(*____bgl_make_date )( int, int, int, int, int, int, long, bool_t, int );
++void *(*____bgl_make_date )( BGL_LONGLONG_T, int, int, int, int, int, int, long, bool_t,
int );
+ void *(*____bgl_seconds_format )( long, void * );
+
+ /* classes */
+@@ -421,7 +421,7 @@ bmem_init_inner() {
+ /* date */
+ ____bgl_seconds_to_date = (void *(*)( long ))get_function( hdl,
"bgl_seconds_to_date" );
+ ____bgl_nanoseconds_to_date = (void *(*)( long ))get_function( hdl,
"bgl_nanoseconds_to_date" );
+- ____bgl_make_date = (void *(*)( int, int, int, int, int, int, long, bool_t, int
))get_function( hdl, "bgl_make_date" );
++ ____bgl_make_date = (void *(*)( BGL_LONGLONG_T, int, int, int, int, int, int, long,
bool_t, int ))get_function( hdl, "bgl_make_date" );
+ ____bgl_seconds_format = (void *(*)( long, void * ))get_function( hdl,
"bgl_seconds_format" );
+
+ /* class */
+--- runtime/Clib/callcc.c.orig 2017-04-18 01:33:52.000000000 -0600
++++ runtime/Clib/callcc.c 2017-08-16 20:17:27.973583422 -0600
+@@ -24,7 +24,7 @@ extern int flush_regs_in_stack();
+ /*---------------------------------------------------------------------*/
+ extern long glob_dummy;
+
+-extern obj_t make_fx_procedure();
++extern obj_t make_fx_procedure( obj_t (*)(), int, int );
+ extern obj_t c_constant_string_to_string( char * );
+
+ static obj_t callcc_restore_stack();
+--- runtime/Clib/cbinary.c.orig 2017-04-18 01:33:52.000000000 -0600
++++ runtime/Clib/cbinary.c 2017-08-16 20:22:27.612760838 -0600
+@@ -50,8 +50,8 @@
+ extern obj_t obj_to_string( obj_t, obj_t );
+ extern obj_t string_to_obj( obj_t, obj_t, obj_t );
+ extern obj_t c_constant_string_to_string( char * );
+-extern obj_t make_string_sans_fill( int );
+-extern obj_t bgl_string_shrink();
++extern obj_t make_string_sans_fill( long );
++extern obj_t bgl_string_shrink(obj_t, long);
+
+ /*---------------------------------------------------------------------*/
+ /* obj_t */
+--- runtime/Clib/ccontrol.c.orig 2017-04-18 01:33:52.000000000 -0600
++++ runtime/Clib/ccontrol.c 2017-08-17 18:00:48.466680487 -0600
+@@ -13,7 +13,7 @@
+ /*---------------------------------------------------------------------*/
+ /* External definitions. */
+ /*---------------------------------------------------------------------*/
+-extern obj_t make_string_sans_fill( int );
++extern obj_t make_string_sans_fill( long );
+
+ /*---------------------------------------------------------------------*/
+ /* obj_t */
+--- runtime/Clib/cports.c.orig 2017-04-18 07:58:03.442793433 -0600
++++ runtime/Clib/cports.c 2017-08-17 18:00:21.020753088 -0600
+@@ -211,7 +211,7 @@ BGL_RUNTIME_DEF long default_io_bufsiz;
+ /*---------------------------------------------------------------------*/
+ BGL_RUNTIME_DECL obj_t bgl_make_input_port( obj_t, FILE *, obj_t, obj_t );
+ extern obj_t make_string( int, unsigned char );
+-extern obj_t make_string_sans_fill( int );
++extern obj_t make_string_sans_fill( long );
+
+ /*---------------------------------------------------------------------*/
+ /* Prototypes */
+--- runtime/Clib/cprocess.c.orig 2017-04-18 01:33:52.000000000 -0600
++++ runtime/Clib/cprocess.c 2017-08-16 19:48:22.018342783 -0600
+@@ -58,7 +58,7 @@ extern long bgl_list_length( obj_t );
+ extern char *bgl_string_to_gc_cstring( obj_t );
+ extern obj_t string_to_bstring( char * );
+ extern ssize_t bgl_syswrite( obj_t, char *, size_t );
+-extern obj_t make_string_sans_fill( int );
++extern obj_t make_string_sans_fill( long );
+
+ /*---------------------------------------------------------------------*/
+ /* Prototypes */
+--- runtime/Clib/crgc.c.orig 2017-04-18 01:33:52.000000000 -0600
++++ runtime/Clib/crgc.c 2017-08-16 19:47:29.602478903 -0600
+@@ -52,7 +52,7 @@
+ extern obj_t bigloo_case_sensitive;
+ extern obj_t bgl_string_to_keyword_len( char *, long );
+ extern obj_t bgl_string_to_symbol_len( char *, long );
+-extern obj_t make_string_sans_fill( int );
++extern obj_t make_string_sans_fill( long );
+ extern obj_t string_to_bstring_len( char *, int );
+ extern int bgl_debug();
+ extern obj_t bgl_escape_C_string( unsigned char *, long, long );
+--- runtime/Clib/csocket.c.orig 2017-04-18 01:33:52.000000000 -0600
++++ runtime/Clib/csocket.c 2017-08-16 19:47:05.555541352 -0600
+@@ -151,7 +151,7 @@ extern bool_t bigloo_strcmp( obj_t o1, o
+ extern bool_t bgl_dns_enable_cache();
+ extern long bgl_dns_cache_validity_timeout();
+ extern ssize_t bgl_syswrite( obj_t, char *, size_t );
+-extern obj_t make_string_sans_fill( int );
++extern obj_t make_string_sans_fill( long );
+
+ #ifndef _BGL_WIN32_VER
+ extern int dup( int );
+--- runtime/Clib/cstring.c.orig 2017-04-18 01:33:52.000000000 -0600
++++ runtime/Clib/cstring.c 2017-08-16 19:15:09.183034824 -0600
+@@ -98,7 +98,7 @@ make_string( int len, unsigned char c )
+ /*---------------------------------------------------------------------*/
+ BGL_RUNTIME_DEF
+ obj_t
+-make_string_sans_fill( int len ) {
++make_string_sans_fill( long len ) {
+ obj_t string = GC_MALLOC_ATOMIC( STRING_SIZE + len );
+
+ #if( !defined( TAG_STRING ) )
+--- runtime/Ieee/port.scm.orig 2017-04-18 01:33:52.000000000 -0600
++++ runtime/Ieee/port.scm 2017-08-17 17:56:18.284355211 -0600
+@@ -117,7 +117,7 @@
+ "BGL_INPUT_PORT_LENGTH_SET")
+ (macro c-input-port-last-token-position::elong (::input-port)
+ "INPUT_PORT_TOKENPOS")
+- (macro c-input-port-bufsiz::int (::input-port)
++ (macro c-input-port-bufsiz::long (::input-port)
+ "BGL_INPUT_PORT_BUFSIZ")
+ (macro c-closed-input-port?::bool (::obj)
+ "INPUT_PORT_CLOSEP")
+@@ -130,7 +130,7 @@
+
+ ($close-output-port::obj (::output-port) "bgl_close_output_port")
+ (c-get-output-string::bstring (::output-port)"get_output_string")
+- (c-default-io-bufsiz::int "default_io_bufsiz")
++ (c-default-io-bufsiz::long "default_io_bufsiz")
+ (c-reset-eof::bool (::obj) "reset_eof")
+ (macro c-flush-output-port::obj (::output-port)
+ "bgl_flush_output_port")
+@@ -272,7 +272,7 @@
+ "bgl_input_port_seek")
+ (method static c-set-output-port-position!::obj (::output-port ::long)
+ "bgl_output_port_seek")
+- (method static c-input-port-bufsiz::int (::input-port)
++ (method static c-input-port-bufsiz::long (::input-port)
+ "bgl_input_port_bufsiz")
+
+ (method static c-closed-input-port?::bool (::input-port)
+--- runtime/Include/bigloo.h.orig 2017-04-18 01:33:52.000000000 -0600
++++ runtime/Include/bigloo.h 2017-08-16 19:20:31.534244922 -0600
+@@ -2613,7 +2613,7 @@ BGL_RUNTIME_DECL obj_t bgl_display_char(
+ BGL_RUNTIME_DECL obj_t bgl_flush_output_port( obj_t );
+ BGL_RUNTIME_DECL obj_t bgl_write( obj_t, unsigned char *, size_t );
+
+-BGL_RUNTIME_DECL obj_t bgl_make_date();
++BGL_RUNTIME_DECL obj_t bgl_make_date( BGL_LONGLONG_T, int, int, int, int, int, int,
long, bool_t, int );
+
+ BGL_RUNTIME_DECL obj_t bgl_make_condvar( obj_t );
+ BGL_RUNTIME_DECL obj_t bgl_make_mutex( obj_t );
+@@ -2640,7 +2640,7 @@ BGL_RUNTIME_DECL obj_t bgl_make_class( o
+ obj_t, obj_t, obj_t, obj_t, obj_t,
+ long, obj_t );
+
+-BGL_RUNTIME_DECL obj_t bgl_getgroups();
++BGL_RUNTIME_DECL obj_t bgl_getgroups( void );
+
+ #if !HAVE_MMAP
+ BGL_RUNTIME_DECL unsigned char bgl_mmap_nommap_ref( obj_t, long );
+@@ -2668,7 +2668,7 @@ BGL_RUNTIME_DECL obj_t bgl_make_server_s
+ BGL_RUNTIME_DECL obj_t bgl_socket_accept( obj_t, bool_t, obj_t, obj_t );
+ BGL_RUNTIME_DECL long bgl_socket_accept_many( obj_t, bool_t, obj_t, obj_t, obj_t );
+
+-BGL_RUNTIME_DECL obj_t bgl_gethostname();
++BGL_RUNTIME_DECL obj_t bgl_gethostname( void );
+ BGL_RUNTIME_DECL obj_t bgl_socket_hostname( obj_t );
+ BGL_RUNTIME_DECL obj_t bgl_datagram_socket_hostname( obj_t );
+ BGL_RUNTIME_DECL obj_t bgl_getsockopt( obj_t, obj_t );
+@@ -2684,7 +2684,7 @@ BGL_RUNTIME_DECL obj_t bgl_regcomp( obj_
+ BGL_RUNTIME_DECL obj_t bgl_regfree( obj_t );
+ BGL_RUNTIME_DECL obj_t bgl_regmatch( obj_t, char *, bool_t, int, int );
+
+-BGL_RUNTIME_DECL void bgl_restore_signal_handlers();
++BGL_RUNTIME_DECL void bgl_restore_signal_handlers( void );
+ extern void bps_bassign(obj_t *field, obj_t value, obj_t obj);
+ extern void bps_bmassign(obj_t *field, obj_t value);
+
+--- runtime/Include/bigloo_string.h.orig 2017-04-18 01:33:52.000000000 -0600
++++ runtime/Include/bigloo_string.h 2017-08-16 19:13:56.990231034 -0600
+@@ -24,7 +24,7 @@ extern "C" {
+ /*---------------------------------------------------------------------*/
+ /* extern */
+ /*---------------------------------------------------------------------*/
+-BGL_RUNTIME_DECL obj_t make_string_sans_fill();
++BGL_RUNTIME_DECL obj_t make_string_sans_fill( long );
+ BGL_RUNTIME_DECL obj_t string_to_bstring( char * );
+ BGL_RUNTIME_DECL obj_t string_to_bstring_len( char *, int );
+ BGL_RUNTIME_DECL obj_t close_init_string();
+--- runtime/objs/obj_s/Ieee/input.c.orig 2017-04-18 01:34:28.000000000 -0600
++++ runtime/objs/obj_s/Ieee/input.c 2017-08-17 17:55:53.445404901 -0600
+@@ -189,7 +189,7 @@ extern int rgc_buffer_unget_char(obj_t,
+ static obj_t BGl_list4817z00zz__r4_input_6_10_2z00 = BUNSPEC;
+ static obj_t BGl_z62portzd2ze3stringzd2listz81zz__r4_input_6_10_2z00(obj_t, obj_t);
+ BGL_EXPORTED_DECL obj_t BGl_readzd2charszd2zz__r4_input_6_10_2z00(obj_t, obj_t);
+-extern int default_io_bufsiz;
++extern long default_io_bufsiz;
+ BGL_EXPORTED_DECL obj_t BGl_readzd2charsz12zc0zz__r4_input_6_10_2z00(obj_t, obj_t,
obj_t);
+ extern obj_t BGl_bigloozd2typezd2errorz00zz__errorz00(obj_t, obj_t, obj_t);
+ static obj_t BGl_z62filezd2ze3stringz53zz__r4_input_6_10_2z00(obj_t, obj_t);
+--- runtime/objs/obj_s/Ieee/port.c.orig 2017-04-18 01:34:27.000000000 -0600
++++ runtime/objs/obj_s/Ieee/port.c 2017-08-17 17:56:04.311383514 -0600
+@@ -341,7 +341,7 @@ static obj_t BGl_z62inputzd2portzd2fillz
+ static obj_t BGl_z62outputzd2stringzd2portzf3z91zz__r4_ports_6_10_1z00(obj_t, obj_t);
+ static obj_t BGl_z62withzd2outputzd2tozd2stringzb0zz__r4_ports_6_10_1z00(obj_t, obj_t);
+ static obj_t BGl_z62currentzd2outputzd2portz62zz__r4_ports_6_10_1z00(obj_t);
+-extern int default_io_bufsiz;
++extern long default_io_bufsiz;
+ BGL_EXPORTED_DECL obj_t BGl_openzd2inputzd2czd2stringzd2zz__r4_ports_6_10_1z00(char *);
+ static obj_t BGl_z62setzd2inputzd2portzd2positionz12za2zz__r4_ports_6_10_1z00(obj_t,
obj_t, obj_t);
+ BGL_EXPORTED_DECL obj_t BGl_openzd2outputzd2procedurez00zz__r4_ports_6_10_1z00(obj_t,
obj_t, obj_t, obj_t);
+--- runtime/objs/obj_u/Ieee/input.c.orig 2017-04-18 01:34:17.000000000 -0600
++++ runtime/objs/obj_u/Ieee/input.c 2017-08-17 17:55:17.648475358 -0600
+@@ -183,7 +183,7 @@ extern "C"
+ obj_t);
+ BGL_EXPORTED_DECL obj_t BGl_readzd2charszd2zz__r4_input_6_10_2z00(obj_t,
+ obj_t);
+- extern int default_io_bufsiz;
++ extern long default_io_bufsiz;
+ BGL_EXPORTED_DECL obj_t BGl_readzd2charsz12zc0zz__r4_input_6_10_2z00(obj_t,
+ obj_t, obj_t);
+ extern obj_t BGl_bigloozd2typezd2errorz00zz__errorz00(obj_t, obj_t, obj_t);
+--- runtime/objs/obj_u/Ieee/port.c.orig 2017-04-18 01:34:16.000000000 -0600
++++ runtime/objs/obj_u/Ieee/port.c 2017-08-17 17:55:34.920441363 -0600
+@@ -557,7 +557,7 @@ extern "C"
+ static obj_t
+ BGl_z62withzd2outputzd2tozd2stringzb0zz__r4_ports_6_10_1z00(obj_t, obj_t);
+ static obj_t BGl_keyword2396z00zz__r4_ports_6_10_1z00 = BUNSPEC;
+- extern int default_io_bufsiz;
++ extern long default_io_bufsiz;
+ BGL_EXPORTED_DECL obj_t
+ BGl_openzd2outputzd2procedurez00zz__r4_ports_6_10_1z00(obj_t, obj_t, obj_t,
+ obj_t);
+--- runtime/objs/obj_u/Unsafe/gunzip.c.orig 2017-04-18 01:34:10.000000000 -0600
++++ runtime/objs/obj_u/Unsafe/gunzip.c 2017-08-17 17:54:54.949520035 -0600
+@@ -214,7 +214,7 @@ extern "C"
+ obj_t, obj_t, long, obj_t, long, obj_t, obj_t, long, obj_t, obj_t, obj_t,
+ obj_t, obj_t);
+ extern obj_t BGl_readzd2charszd2zz__r4_input_6_10_2z00(obj_t, obj_t);
+- extern int default_io_bufsiz;
++ extern long default_io_bufsiz;
+ extern obj_t BGl_readzd2charsz12zc0zz__r4_input_6_10_2z00(obj_t, obj_t,
+ obj_t);
+ extern bool_t BGl_za7erozf3z54zz__r4_numbers_6_5z00(obj_t);
diff --git a/bigloo.spec b/bigloo.spec
index b11d376..e1c38b9 100644
--- a/bigloo.spec
+++ b/bigloo.spec
@@ -32,6 +32,8 @@ Patch0: %{name}-emacs.patch
Patch1: %{name}-stat64.patch
# Sent upstream 3 Feb 2017: fix format specifiers
Patch2: %{name}-format.patch
+# Sent upstream 17 Aug 2017: fix code that assumes little endian arches
+Patch3: %{name}-endian.patch
BuildRequires: emacs
BuildRequires: xemacs
@@ -75,7 +77,6 @@ Requires: libuv-devel%{?_isa}
Requires(post): info
Requires(postun): info
-ExcludeArch: ppc64
%description
@@ -109,6 +110,7 @@ environment.
%patch0
%patch1
%patch2
+%patch3
# encoding fixes
for f in README examples/Socket/socket.scm manuals/bigloo*.html \
@@ -316,6 +318,10 @@ make test
%changelog
+* Thu Aug 17 2017 Jerry James <loganjerry(a)gmail.com> - 4.3a-3
+- Add -endian patch to fix s390x build
+- Build for ppc64 as well, since the -endian patch fixed that too
+
* Wed Aug 02 2017 Fedora Release Engineering <releng(a)fedoraproject.org> - 4.3a-3
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild