ffi 1.17.1 → 1.17.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/CHANGELOG.md +33 -0
  4. data/Gemfile +8 -3
  5. data/README.md +1 -0
  6. data/Rakefile +7 -4
  7. data/Steepfile +8 -0
  8. data/ext/ffi_c/DynamicLibrary.c +1 -1
  9. data/ext/ffi_c/Function.c +2 -0
  10. data/ext/ffi_c/MethodHandle.c +4 -2
  11. data/ext/ffi_c/libffi/.ci/Containerfile.ppc64le +12 -0
  12. data/ext/ffi_c/libffi/.ci/build.sh +38 -33
  13. data/ext/ffi_c/libffi/.ci/install.sh +46 -50
  14. data/ext/ffi_c/libffi/.ci/site.exp +6 -0
  15. data/ext/ffi_c/libffi/.gail-labels +44 -0
  16. data/ext/ffi_c/libffi/.github/workflows/build.yml +212 -333
  17. data/ext/ffi_c/libffi/.github/workflows/emscripten.yml +101 -58
  18. data/ext/ffi_c/libffi/.github/workflows/label-new-issue.yaml +15 -0
  19. data/ext/ffi_c/libffi/.github/workflows/tarball.yml +55 -0
  20. data/ext/ffi_c/libffi/LICENSE +1 -1
  21. data/ext/ffi_c/libffi/Makefile.am +20 -15
  22. data/ext/ffi_c/libffi/Makefile.in +41 -54
  23. data/ext/ffi_c/libffi/README.md +40 -4
  24. data/ext/ffi_c/libffi/acinclude.m4 +6 -0
  25. data/ext/ffi_c/libffi/config.guess +80 -22
  26. data/ext/ffi_c/libffi/config.sub +161 -80
  27. data/ext/ffi_c/libffi/configure +1058 -1372
  28. data/ext/ffi_c/libffi/configure.ac +28 -14
  29. data/ext/ffi_c/libffi/configure.host +6 -6
  30. data/ext/ffi_c/libffi/doc/Makefile.in +4 -0
  31. data/ext/ffi_c/libffi/doc/libffi.texi +27 -4
  32. data/ext/ffi_c/libffi/doc/version.texi +4 -4
  33. data/ext/ffi_c/libffi/fficonfig.h.in +9 -9
  34. data/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +1 -28
  35. data/ext/ffi_c/libffi/include/Makefile.in +4 -0
  36. data/ext/ffi_c/libffi/include/ffi.h.in +19 -1
  37. data/ext/ffi_c/libffi/include/ffi_cfi.h +2 -0
  38. data/ext/ffi_c/libffi/include/ffi_common.h +17 -0
  39. data/ext/ffi_c/libffi/libffi.map.in +13 -1
  40. data/ext/ffi_c/libffi/libtool-version +1 -1
  41. data/ext/ffi_c/libffi/m4/asmcfi.m4 +28 -11
  42. data/ext/ffi_c/libffi/m4/ax_check_compile_flag.m4 +13 -3
  43. data/ext/ffi_c/libffi/man/Makefile.in +4 -0
  44. data/ext/ffi_c/libffi/src/aarch64/ffi.c +7 -4
  45. data/ext/ffi_c/libffi/src/aarch64/ffitarget.h +2 -2
  46. data/ext/ffi_c/libffi/src/aarch64/internal.h +63 -17
  47. data/ext/ffi_c/libffi/src/aarch64/sysv.S +22 -12
  48. data/ext/ffi_c/libffi/src/arc/arcompact.S +2 -2
  49. data/ext/ffi_c/libffi/src/arc/ffi.c +6 -2
  50. data/ext/ffi_c/libffi/src/arm/sysv.S +1 -1
  51. data/ext/ffi_c/libffi/src/closures.c +3 -3
  52. data/ext/ffi_c/libffi/src/dlmalloc.c +1 -0
  53. data/ext/ffi_c/libffi/src/mips/ffitarget.h +2 -4
  54. data/ext/ffi_c/libffi/src/mips/n32.S +4 -0
  55. data/ext/ffi_c/libffi/src/mips/o32.S +4 -0
  56. data/ext/ffi_c/libffi/src/or1k/ffi.c +2 -2
  57. data/ext/ffi_c/libffi/src/pa/linux.S +4 -0
  58. data/ext/ffi_c/libffi/src/powerpc/ffi.c +19 -0
  59. data/ext/ffi_c/libffi/src/powerpc/ffi_linux64.c +26 -19
  60. data/ext/ffi_c/libffi/src/powerpc/ffi_sysv.c +26 -16
  61. data/ext/ffi_c/libffi/src/powerpc/internal.h +10 -0
  62. data/ext/ffi_c/libffi/src/powerpc/linux64_closure.S +47 -0
  63. data/ext/ffi_c/libffi/src/powerpc/ppc_closure.S +24 -0
  64. data/ext/ffi_c/libffi/src/prep_cif.c +1 -4
  65. data/ext/ffi_c/libffi/src/riscv/ffi.c +39 -16
  66. data/ext/ffi_c/libffi/src/riscv/internal.h +7 -0
  67. data/ext/ffi_c/libffi/src/riscv/sysv.S +24 -0
  68. data/ext/ffi_c/libffi/src/s390/ffi.c +28 -1
  69. data/ext/ffi_c/libffi/src/s390/internal.h +11 -0
  70. data/ext/ffi_c/libffi/src/s390/sysv.S +38 -0
  71. data/ext/ffi_c/libffi/src/sparc/ffi.c +16 -0
  72. data/ext/ffi_c/libffi/src/tramp.c +6 -1
  73. data/ext/ffi_c/libffi/src/types.c +23 -1
  74. data/ext/ffi_c/libffi/src/{wasm32 → wasm}/ffi.c +166 -315
  75. data/ext/ffi_c/libffi/src/{wasm32 → wasm}/ffitarget.h +17 -0
  76. data/ext/ffi_c/libffi/src/x86/ffi.c +4 -1
  77. data/ext/ffi_c/libffi/src/x86/ffi64.c +4 -1
  78. data/ext/ffi_c/libffi/src/x86/ffitarget.h +0 -3
  79. data/ext/ffi_c/libffi/src/x86/sysv.S +1 -3
  80. data/ext/ffi_c/libffi/src/x86/sysv_intel.S +1 -3
  81. data/ext/ffi_c/libffi/testsuite/Makefile.am +6 -4
  82. data/ext/ffi_c/libffi/testsuite/Makefile.in +10 -4
  83. data/ext/ffi_c/libffi/testsuite/emscripten/build-tests.sh +4 -24
  84. data/ext/ffi_c/libffi/testsuite/emscripten/build.sh +10 -27
  85. data/ext/ffi_c/libffi/testsuite/emscripten/node-tests.sh +6 -31
  86. data/ext/ffi_c/libffi/testsuite/lib/libffi.exp +269 -256
  87. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/testcases.c +1 -1
  88. data/ext/ffi_c/libffi/testsuite/libffi.call/callback.c +2 -2
  89. data/ext/ffi_c/libffi/testsuite/libffi.call/callback2.c +2 -2
  90. data/ext/ffi_c/libffi/testsuite/libffi.call/callback3.c +2 -2
  91. data/ext/ffi_c/libffi/testsuite/libffi.call/callback4.c +2 -2
  92. data/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +3 -0
  93. data/ext/ffi_c/libffi/testsuite/libffi.call/longjmp.c +60 -0
  94. data/ext/ffi_c/libffi/testsuite/libffi.call/overread.c +54 -0
  95. data/ext/ffi_c/libffi/testsuite/libffi.call/struct_int_float.c +88 -0
  96. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct2.c +1 -0
  97. data/ext/ffi_c/libffi/testsuite/libffi.call/va_struct3.c +1 -0
  98. data/ext/ffi_c/libffi/testsuite/libffi.call/x32.c +31 -0
  99. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_dbls_struct.c +1 -1
  100. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_sshortchar.c +1 -1
  101. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_multi_ushortchar.c +1 -1
  102. data/ext/ffi_c/libffi/testsuite/libffi.closures/huge_struct.c +1 -2
  103. data/ext/ffi_c/libffi/testsuite/libffi.closures/unwindtest.cc +2 -0
  104. data/ext/ffi_c/libffi/testsuite/libffi.closures/unwindtest_ffi_call.cc +2 -0
  105. data/ext/ffi_c/libffi/testsuite/libffi.complex/complex_int.c +1 -1
  106. data/ext/ffi_c/libffi/testsuite/libffi.threads/ffitest.h +1 -0
  107. data/ext/ffi_c/libffi/testsuite/libffi.threads/threads.exp +50 -0
  108. data/ext/ffi_c/libffi/testsuite/libffi.threads/tsan.c +74 -0
  109. data/ext/ffi_c/libffi.mk +5 -0
  110. data/ffi.gemspec +4 -5
  111. data/lib/ffi/autopointer.rb +6 -0
  112. data/lib/ffi/compat.rb +11 -0
  113. data/lib/ffi/function.rb +23 -0
  114. data/lib/ffi/library.rb +19 -3
  115. data/lib/ffi/struct_by_reference.rb +1 -1
  116. data/lib/ffi/version.rb +1 -1
  117. data/samples/hello_ractor.rb +9 -1
  118. data/samples/qsort_ractor.rb +9 -1
  119. data/sig/ffi/auto_pointer.rbs +1 -1
  120. data/sig/ffi/errno.rbs +8 -0
  121. data/sig/ffi/platform.rbs +49 -0
  122. data/sig/ffi/struct.rbs +2 -2
  123. data/sig/ffi/struct_by_reference.rbs +1 -1
  124. data/sig/ffi.rbs +4 -1
  125. data.tar.gz.sig +0 -0
  126. metadata +37 -83
  127. metadata.gz.sig +0 -0
  128. data/ext/ffi_c/libffi/.appveyor/site.exp +0 -16
  129. data/ext/ffi_c/libffi/.appveyor.yml +0 -84
  130. data/ext/ffi_c/libffi/.circleci/config.yml +0 -156
  131. data/ext/ffi_c/libffi/src/nios2/ffi.c +0 -304
  132. data/ext/ffi_c/libffi/src/nios2/ffitarget.h +0 -52
  133. data/ext/ffi_c/libffi/src/nios2/sysv.S +0 -136
  134. data/lib/ffi/tools/types_generator.rb +0 -137
  135. data/rakelib/ffi_gem_helper.rb +0 -65
  136. /data/ext/ffi_c/libffi/{.appveyor → .ci}/unix-noexec.exp +0 -0
@@ -221,7 +221,6 @@ am__depfiles_remade = src/$(DEPDIR)/closures.Plo \
221
221
  src/microblaze/$(DEPDIR)/sysv.Plo src/mips/$(DEPDIR)/ffi.Plo \
222
222
  src/mips/$(DEPDIR)/n32.Plo src/mips/$(DEPDIR)/o32.Plo \
223
223
  src/moxie/$(DEPDIR)/eabi.Plo src/moxie/$(DEPDIR)/ffi.Plo \
224
- src/nios2/$(DEPDIR)/ffi.Plo src/nios2/$(DEPDIR)/sysv.Plo \
225
224
  src/or1k/$(DEPDIR)/ffi.Plo src/or1k/$(DEPDIR)/sysv.Plo \
226
225
  src/pa/$(DEPDIR)/ffi.Plo src/pa/$(DEPDIR)/hpux32.Plo \
227
226
  src/pa/$(DEPDIR)/hpux64.Plo src/pa/$(DEPDIR)/linux.Plo \
@@ -244,7 +243,7 @@ am__depfiles_remade = src/$(DEPDIR)/closures.Plo \
244
243
  src/sparc/$(DEPDIR)/ffi64.Plo src/sparc/$(DEPDIR)/v8.Plo \
245
244
  src/sparc/$(DEPDIR)/v9.Plo src/tile/$(DEPDIR)/ffi.Plo \
246
245
  src/tile/$(DEPDIR)/tile.Plo src/vax/$(DEPDIR)/elfbsd.Plo \
247
- src/vax/$(DEPDIR)/ffi.Plo src/wasm32/$(DEPDIR)/ffi.Plo \
246
+ src/vax/$(DEPDIR)/ffi.Plo src/wasm/$(DEPDIR)/ffi.Plo \
248
247
  src/x86/$(DEPDIR)/ffi.Plo src/x86/$(DEPDIR)/ffi64.Plo \
249
248
  src/x86/$(DEPDIR)/ffiw64.Plo src/x86/$(DEPDIR)/sysv.Plo \
250
249
  src/x86/$(DEPDIR)/sysv_intel.Plo src/x86/$(DEPDIR)/unix64.Plo \
@@ -412,6 +411,8 @@ EGREP = @EGREP@
412
411
  ETAGS = @ETAGS@
413
412
  EXEEXT = @EXEEXT@
414
413
  FFI_EXEC_TRAMPOLINE_TABLE = @FFI_EXEC_TRAMPOLINE_TABLE@
414
+ FFI_VERSION_NUMBER = @FFI_VERSION_NUMBER@
415
+ FFI_VERSION_STRING = @FFI_VERSION_STRING@
415
416
  FGREP = @FGREP@
416
417
  FILECMD = @FILECMD@
417
418
  GREP = @GREP@
@@ -462,6 +463,7 @@ TARGET = @TARGET@
462
463
  TARGETDIR = @TARGETDIR@
463
464
  TARGET_OBJ = @TARGET_OBJ@
464
465
  VERSION = @VERSION@
466
+ WASM64_MEMORY64 = @WASM64_MEMORY64@
465
467
  abs_builddir = @abs_builddir@
466
468
  abs_srcdir = @abs_srcdir@
467
469
  abs_top_builddir = @abs_top_builddir@
@@ -470,6 +472,7 @@ ac_ct_AR = @ac_ct_AR@
470
472
  ac_ct_CC = @ac_ct_CC@
471
473
  ac_ct_CXX = @ac_ct_CXX@
472
474
  ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
475
+ ac_ct_READELF = @ac_ct_READELF@
473
476
  am__include = @am__include@
474
477
  am__leading_dot = @am__leading_dot@
475
478
  am__quote = @am__quote@
@@ -528,15 +531,15 @@ top_srcdir = @top_srcdir@
528
531
  AUTOMAKE_OPTIONS = foreign subdir-objects
529
532
  ACLOCAL_AMFLAGS = -I m4
530
533
  SUBDIRS = include testsuite man $(am__append_1)
531
- EXTRA_DIST = LICENSE ChangeLog.old \
532
- m4/libtool.m4 m4/lt~obsolete.m4 \
533
- m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 \
534
- m4/ltversion.m4 src/debug.c msvcc.sh \
535
- generate-darwin-source-and-headers.py \
536
- libffi.xcodeproj/project.pbxproj \
537
- src/powerpc/t-aix \
538
- libtool-ldflags libtool-version configure.host README.md \
539
- libffi.map.in LICENSE-BUILDTOOLS msvc_build make_sunver.pl
534
+ EXTRA_DIST = LICENSE ChangeLog.old \
535
+ m4/libtool.m4 m4/lt~obsolete.m4 \
536
+ m4/ltoptions.m4 m4/ltsugar.m4 m4/ltversion.m4 \
537
+ m4/ltversion.m4 src/debug.c msvcc.sh \
538
+ generate-darwin-source-and-headers.py \
539
+ libffi.xcodeproj/project.pbxproj \
540
+ src/powerpc/t-aix \
541
+ libtool-ldflags libtool-version configure.host README.md \
542
+ libffi.map.in LICENSE-BUILDTOOLS msvc_build make_sunver.pl
540
543
 
541
544
 
542
545
  # local.exp is generated by configure
@@ -560,14 +563,15 @@ noinst_HEADERS = src/aarch64/ffitarget.h src/aarch64/internal.h \
560
563
  src/m32r/ffitarget.h src/m68k/ffitarget.h \
561
564
  src/m88k/ffitarget.h src/metag/ffitarget.h \
562
565
  src/microblaze/ffitarget.h src/mips/ffitarget.h \
563
- src/moxie/ffitarget.h src/nios2/ffitarget.h \
566
+ src/moxie/ffitarget.h \
564
567
  src/or1k/ffitarget.h src/pa/ffitarget.h \
565
568
  src/powerpc/ffitarget.h src/powerpc/asm.h \
566
- src/powerpc/ffi_powerpc.h src/riscv/ffitarget.h \
569
+ src/powerpc/ffi_powerpc.h src/powerpc/internal.h \
570
+ src/riscv/ffitarget.h src/riscv/internal.h \
567
571
  src/s390/ffitarget.h src/s390/internal.h src/sh/ffitarget.h \
568
572
  src/sh64/ffitarget.h src/sparc/ffitarget.h \
569
573
  src/sparc/internal.h src/tile/ffitarget.h src/vax/ffitarget.h \
570
- src/wasm32/ffitarget.h \
574
+ src/wasm/ffitarget.h \
571
575
  src/x86/ffitarget.h src/x86/internal.h src/x86/internal64.h \
572
576
  src/x86/asmnames.h src/xtensa/ffitarget.h src/dlmalloc.c \
573
577
  src/kvx/ffitarget.h src/kvx/asm.h \
@@ -585,7 +589,7 @@ EXTRA_libffi_la_SOURCES = src/aarch64/ffi.c src/aarch64/sysv.S \
585
589
  src/metag/ffi.c src/metag/sysv.S src/microblaze/ffi.c \
586
590
  src/microblaze/sysv.S src/mips/ffi.c src/mips/o32.S \
587
591
  src/mips/n32.S src/moxie/ffi.c src/moxie/eabi.S \
588
- src/nios2/ffi.c src/nios2/sysv.S src/or1k/ffi.c \
592
+ src/or1k/ffi.c \
589
593
  src/or1k/sysv.S src/pa/ffi.c src/pa/linux.S src/pa/hpux32.S \
590
594
  src/pa/hpux64.S src/powerpc/ffi.c src/powerpc/ffi_sysv.c \
591
595
  src/powerpc/ffi_linux64.c src/powerpc/sysv.S \
@@ -598,7 +602,7 @@ EXTRA_libffi_la_SOURCES = src/aarch64/ffi.c src/aarch64/sysv.S \
598
602
  src/sh64/sysv.S src/sparc/ffi.c src/sparc/ffi64.c \
599
603
  src/sparc/v8.S src/sparc/v9.S src/tile/ffi.c src/tile/tile.S \
600
604
  src/vax/ffi.c src/vax/elfbsd.S src/x86/ffi.c src/x86/sysv.S \
601
- src/wasm32/ffi.c \
605
+ src/wasm/ffi.c \
602
606
  src/x86/ffiw64.c src/x86/win64.S src/x86/ffi64.c \
603
607
  src/x86/unix64.S src/x86/sysv_intel.S src/x86/win64_intel.S \
604
608
  src/xtensa/ffi.c src/xtensa/sysv.S src/kvx/ffi.c \
@@ -622,7 +626,7 @@ libffi_version_info = -version-info `grep -v '^\#' $(srcdir)/libtool-version`
622
626
  libffi_la_LDFLAGS = -no-undefined $(libffi_version_info) $(libffi_version_script) $(LTLDFLAGS) $(AM_LTLDFLAGS)
623
627
  libffi_la_DEPENDENCIES = $(libffi_la_LIBADD) $(libffi_version_dep)
624
628
  AM_CPPFLAGS = -I. -I$(top_srcdir)/include -Iinclude -I$(top_srcdir)/src
625
- AM_CCASFLAGS = $(AM_CPPFLAGS)
629
+ AM_CCASFLAGS = '$(AM_CPPFLAGS)'
626
630
  all: fficonfig.h
627
631
  $(MAKE) $(AM_MAKEFLAGS) all-recursive
628
632
 
@@ -913,16 +917,6 @@ src/moxie/ffi.lo: src/moxie/$(am__dirstamp) \
913
917
  src/moxie/$(DEPDIR)/$(am__dirstamp)
914
918
  src/moxie/eabi.lo: src/moxie/$(am__dirstamp) \
915
919
  src/moxie/$(DEPDIR)/$(am__dirstamp)
916
- src/nios2/$(am__dirstamp):
917
- @$(MKDIR_P) src/nios2
918
- @: > src/nios2/$(am__dirstamp)
919
- src/nios2/$(DEPDIR)/$(am__dirstamp):
920
- @$(MKDIR_P) src/nios2/$(DEPDIR)
921
- @: > src/nios2/$(DEPDIR)/$(am__dirstamp)
922
- src/nios2/ffi.lo: src/nios2/$(am__dirstamp) \
923
- src/nios2/$(DEPDIR)/$(am__dirstamp)
924
- src/nios2/sysv.lo: src/nios2/$(am__dirstamp) \
925
- src/nios2/$(DEPDIR)/$(am__dirstamp)
926
920
  src/or1k/$(am__dirstamp):
927
921
  @$(MKDIR_P) src/or1k
928
922
  @: > src/or1k/$(am__dirstamp)
@@ -1059,14 +1053,14 @@ src/x86/ffi.lo: src/x86/$(am__dirstamp) \
1059
1053
  src/x86/$(DEPDIR)/$(am__dirstamp)
1060
1054
  src/x86/sysv.lo: src/x86/$(am__dirstamp) \
1061
1055
  src/x86/$(DEPDIR)/$(am__dirstamp)
1062
- src/wasm32/$(am__dirstamp):
1063
- @$(MKDIR_P) src/wasm32
1064
- @: > src/wasm32/$(am__dirstamp)
1065
- src/wasm32/$(DEPDIR)/$(am__dirstamp):
1066
- @$(MKDIR_P) src/wasm32/$(DEPDIR)
1067
- @: > src/wasm32/$(DEPDIR)/$(am__dirstamp)
1068
- src/wasm32/ffi.lo: src/wasm32/$(am__dirstamp) \
1069
- src/wasm32/$(DEPDIR)/$(am__dirstamp)
1056
+ src/wasm/$(am__dirstamp):
1057
+ @$(MKDIR_P) src/wasm
1058
+ @: > src/wasm/$(am__dirstamp)
1059
+ src/wasm/$(DEPDIR)/$(am__dirstamp):
1060
+ @$(MKDIR_P) src/wasm/$(DEPDIR)
1061
+ @: > src/wasm/$(DEPDIR)/$(am__dirstamp)
1062
+ src/wasm/ffi.lo: src/wasm/$(am__dirstamp) \
1063
+ src/wasm/$(DEPDIR)/$(am__dirstamp)
1070
1064
  src/x86/ffiw64.lo: src/x86/$(am__dirstamp) \
1071
1065
  src/x86/$(DEPDIR)/$(am__dirstamp)
1072
1066
  src/x86/win64.lo: src/x86/$(am__dirstamp) \
@@ -1158,8 +1152,6 @@ mostlyclean-compile:
1158
1152
  -rm -f src/mips/*.lo
1159
1153
  -rm -f src/moxie/*.$(OBJEXT)
1160
1154
  -rm -f src/moxie/*.lo
1161
- -rm -f src/nios2/*.$(OBJEXT)
1162
- -rm -f src/nios2/*.lo
1163
1155
  -rm -f src/or1k/*.$(OBJEXT)
1164
1156
  -rm -f src/or1k/*.lo
1165
1157
  -rm -f src/pa/*.$(OBJEXT)
@@ -1180,8 +1172,8 @@ mostlyclean-compile:
1180
1172
  -rm -f src/tile/*.lo
1181
1173
  -rm -f src/vax/*.$(OBJEXT)
1182
1174
  -rm -f src/vax/*.lo
1183
- -rm -f src/wasm32/*.$(OBJEXT)
1184
- -rm -f src/wasm32/*.lo
1175
+ -rm -f src/wasm/*.$(OBJEXT)
1176
+ -rm -f src/wasm/*.lo
1185
1177
  -rm -f src/x86/*.$(OBJEXT)
1186
1178
  -rm -f src/x86/*.lo
1187
1179
  -rm -f src/xtensa/*.$(OBJEXT)
@@ -1238,8 +1230,6 @@ distclean-compile:
1238
1230
  @AMDEP_TRUE@@am__include@ @am__quote@src/mips/$(DEPDIR)/o32.Plo@am__quote@ # am--include-marker
1239
1231
  @AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/eabi.Plo@am__quote@ # am--include-marker
1240
1232
  @AMDEP_TRUE@@am__include@ @am__quote@src/moxie/$(DEPDIR)/ffi.Plo@am__quote@ # am--include-marker
1241
- @AMDEP_TRUE@@am__include@ @am__quote@src/nios2/$(DEPDIR)/ffi.Plo@am__quote@ # am--include-marker
1242
- @AMDEP_TRUE@@am__include@ @am__quote@src/nios2/$(DEPDIR)/sysv.Plo@am__quote@ # am--include-marker
1243
1233
  @AMDEP_TRUE@@am__include@ @am__quote@src/or1k/$(DEPDIR)/ffi.Plo@am__quote@ # am--include-marker
1244
1234
  @AMDEP_TRUE@@am__include@ @am__quote@src/or1k/$(DEPDIR)/sysv.Plo@am__quote@ # am--include-marker
1245
1235
  @AMDEP_TRUE@@am__include@ @am__quote@src/pa/$(DEPDIR)/ffi.Plo@am__quote@ # am--include-marker
@@ -1274,7 +1264,7 @@ distclean-compile:
1274
1264
  @AMDEP_TRUE@@am__include@ @am__quote@src/tile/$(DEPDIR)/tile.Plo@am__quote@ # am--include-marker
1275
1265
  @AMDEP_TRUE@@am__include@ @am__quote@src/vax/$(DEPDIR)/elfbsd.Plo@am__quote@ # am--include-marker
1276
1266
  @AMDEP_TRUE@@am__include@ @am__quote@src/vax/$(DEPDIR)/ffi.Plo@am__quote@ # am--include-marker
1277
- @AMDEP_TRUE@@am__include@ @am__quote@src/wasm32/$(DEPDIR)/ffi.Plo@am__quote@ # am--include-marker
1267
+ @AMDEP_TRUE@@am__include@ @am__quote@src/wasm/$(DEPDIR)/ffi.Plo@am__quote@ # am--include-marker
1278
1268
  @AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi.Plo@am__quote@ # am--include-marker
1279
1269
  @AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffi64.Plo@am__quote@ # am--include-marker
1280
1270
  @AMDEP_TRUE@@am__include@ @am__quote@src/x86/$(DEPDIR)/ffiw64.Plo@am__quote@ # am--include-marker
@@ -1365,7 +1355,6 @@ clean-libtool:
1365
1355
  -rm -rf src/microblaze/.libs src/microblaze/_libs
1366
1356
  -rm -rf src/mips/.libs src/mips/_libs
1367
1357
  -rm -rf src/moxie/.libs src/moxie/_libs
1368
- -rm -rf src/nios2/.libs src/nios2/_libs
1369
1358
  -rm -rf src/or1k/.libs src/or1k/_libs
1370
1359
  -rm -rf src/pa/.libs src/pa/_libs
1371
1360
  -rm -rf src/powerpc/.libs src/powerpc/_libs
@@ -1376,7 +1365,7 @@ clean-libtool:
1376
1365
  -rm -rf src/sparc/.libs src/sparc/_libs
1377
1366
  -rm -rf src/tile/.libs src/tile/_libs
1378
1367
  -rm -rf src/vax/.libs src/vax/_libs
1379
- -rm -rf src/wasm32/.libs src/wasm32/_libs
1368
+ -rm -rf src/wasm/.libs src/wasm/_libs
1380
1369
  -rm -rf src/x86/.libs src/x86/_libs
1381
1370
  -rm -rf src/xtensa/.libs src/xtensa/_libs
1382
1371
 
@@ -1783,8 +1772,6 @@ distclean-generic:
1783
1772
  -rm -f src/mips/$(am__dirstamp)
1784
1773
  -rm -f src/moxie/$(DEPDIR)/$(am__dirstamp)
1785
1774
  -rm -f src/moxie/$(am__dirstamp)
1786
- -rm -f src/nios2/$(DEPDIR)/$(am__dirstamp)
1787
- -rm -f src/nios2/$(am__dirstamp)
1788
1775
  -rm -f src/or1k/$(DEPDIR)/$(am__dirstamp)
1789
1776
  -rm -f src/or1k/$(am__dirstamp)
1790
1777
  -rm -f src/pa/$(DEPDIR)/$(am__dirstamp)
@@ -1805,8 +1792,8 @@ distclean-generic:
1805
1792
  -rm -f src/tile/$(am__dirstamp)
1806
1793
  -rm -f src/vax/$(DEPDIR)/$(am__dirstamp)
1807
1794
  -rm -f src/vax/$(am__dirstamp)
1808
- -rm -f src/wasm32/$(DEPDIR)/$(am__dirstamp)
1809
- -rm -f src/wasm32/$(am__dirstamp)
1795
+ -rm -f src/wasm/$(DEPDIR)/$(am__dirstamp)
1796
+ -rm -f src/wasm/$(am__dirstamp)
1810
1797
  -rm -f src/x86/$(DEPDIR)/$(am__dirstamp)
1811
1798
  -rm -f src/x86/$(am__dirstamp)
1812
1799
  -rm -f src/xtensa/$(DEPDIR)/$(am__dirstamp)
@@ -1871,8 +1858,6 @@ distclean: distclean-recursive
1871
1858
  -rm -f src/mips/$(DEPDIR)/o32.Plo
1872
1859
  -rm -f src/moxie/$(DEPDIR)/eabi.Plo
1873
1860
  -rm -f src/moxie/$(DEPDIR)/ffi.Plo
1874
- -rm -f src/nios2/$(DEPDIR)/ffi.Plo
1875
- -rm -f src/nios2/$(DEPDIR)/sysv.Plo
1876
1861
  -rm -f src/or1k/$(DEPDIR)/ffi.Plo
1877
1862
  -rm -f src/or1k/$(DEPDIR)/sysv.Plo
1878
1863
  -rm -f src/pa/$(DEPDIR)/ffi.Plo
@@ -1907,7 +1892,7 @@ distclean: distclean-recursive
1907
1892
  -rm -f src/tile/$(DEPDIR)/tile.Plo
1908
1893
  -rm -f src/vax/$(DEPDIR)/elfbsd.Plo
1909
1894
  -rm -f src/vax/$(DEPDIR)/ffi.Plo
1910
- -rm -f src/wasm32/$(DEPDIR)/ffi.Plo
1895
+ -rm -f src/wasm/$(DEPDIR)/ffi.Plo
1911
1896
  -rm -f src/x86/$(DEPDIR)/ffi.Plo
1912
1897
  -rm -f src/x86/$(DEPDIR)/ffi64.Plo
1913
1898
  -rm -f src/x86/$(DEPDIR)/ffiw64.Plo
@@ -2013,8 +1998,6 @@ maintainer-clean: maintainer-clean-recursive
2013
1998
  -rm -f src/mips/$(DEPDIR)/o32.Plo
2014
1999
  -rm -f src/moxie/$(DEPDIR)/eabi.Plo
2015
2000
  -rm -f src/moxie/$(DEPDIR)/ffi.Plo
2016
- -rm -f src/nios2/$(DEPDIR)/ffi.Plo
2017
- -rm -f src/nios2/$(DEPDIR)/sysv.Plo
2018
2001
  -rm -f src/or1k/$(DEPDIR)/ffi.Plo
2019
2002
  -rm -f src/or1k/$(DEPDIR)/sysv.Plo
2020
2003
  -rm -f src/pa/$(DEPDIR)/ffi.Plo
@@ -2049,7 +2032,7 @@ maintainer-clean: maintainer-clean-recursive
2049
2032
  -rm -f src/tile/$(DEPDIR)/tile.Plo
2050
2033
  -rm -f src/vax/$(DEPDIR)/elfbsd.Plo
2051
2034
  -rm -f src/vax/$(DEPDIR)/ffi.Plo
2052
- -rm -f src/wasm32/$(DEPDIR)/ffi.Plo
2035
+ -rm -f src/wasm/$(DEPDIR)/ffi.Plo
2053
2036
  -rm -f src/x86/$(DEPDIR)/ffi.Plo
2054
2037
  -rm -f src/x86/$(DEPDIR)/ffi64.Plo
2055
2038
  -rm -f src/x86/$(DEPDIR)/ffiw64.Plo
@@ -2103,6 +2086,10 @@ uninstall-am: uninstall-pkgconfigDATA uninstall-toolexeclibLTLIBRARIES
2103
2086
 
2104
2087
  .PRECIOUS: Makefile
2105
2088
 
2089
+
2090
+ # Alias required by AX_ENABLE_BUILDDIR / config-ml
2091
+ .PHONY: all-configured
2092
+ all-configured: all
2106
2093
  @LIBFFI_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBFFI_BUILD_VERSIONED_SHLIB_TRUE@libffi.map-sun : libffi.map $(top_srcdir)/make_sunver.pl \
2107
2094
  @LIBFFI_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBFFI_BUILD_VERSIONED_SHLIB_TRUE@ $(libffi_la_OBJECTS) $(libffi_la_LIBADD)
2108
2095
  @LIBFFI_BUILD_VERSIONED_SHLIB_SUN_TRUE@@LIBFFI_BUILD_VERSIONED_SHLIB_TRUE@ perl $(top_srcdir)/make_sunver.pl libffi.map \
@@ -1,8 +1,7 @@
1
1
  Status
2
2
  ======
3
3
 
4
- libffi-3.4.6 was released on February 18, 2024. Check the libffi web
5
- page for updates: <URL:http://sourceware.org/libffi/>.
4
+ libffi-3.5.2 was released on August 2, 2025.
6
5
 
7
6
 
8
7
  What is libffi?
@@ -76,7 +75,6 @@ tested:
76
75
  | MIPS | RTEMS | GCC |
77
76
  | MIPS64 | Linux | GCC |
78
77
  | Moxie | Bare metal | GCC |
79
- | Nios II | Linux | GCC |
80
78
  | OpenRISC | Linux | GCC |
81
79
  | PowerPC 32-bit | AIX | GCC |
82
80
  | PowerPC 32-bit | AIX | IBM XL C |
@@ -92,6 +90,9 @@ tested:
92
90
  | RISC-V 64-bit | Linux | GCC |
93
91
  | S390 | Linux | GCC |
94
92
  | S390X | Linux | GCC |
93
+ | SH3 | Linux | GCC |
94
+ | SH4 | Linux | GCC |
95
+ | SH5/SH64 | Linux | GCC |
95
96
  | SPARC | Linux | GCC |
96
97
  | SPARC | Solaris | GCC |
97
98
  | SPARC | Solaris | Oracle Solaris Studio C |
@@ -101,6 +102,7 @@ tested:
101
102
  | TILE-Gx/TILEPro | Linux | GCC |
102
103
  | VAX | OpenBSD/vax | GCC |
103
104
  | WASM32 | Emscripten | EMCC |
105
+ | WASM64 | Emscripten | EMCC |
104
106
  | X86 | FreeBSD | GCC |
105
107
  | X86 | GNU HURD | GCC |
106
108
  | X86 | Interix | GCC |
@@ -112,6 +114,7 @@ tested:
112
114
  | X86 | Solaris | Oracle Solaris Studio C |
113
115
  | X86 | Windows/Cygwin | GCC |
114
116
  | X86 | Windows/MinGW | GCC |
117
+ | X86-64 | DragonFly BSD | GCC |
115
118
  | X86-64 | FreeBSD | GCC |
116
119
  | X86-64 | Linux | GCC |
117
120
  | X86-64 | Linux/x32 | GCC |
@@ -136,7 +139,7 @@ compiler.
136
139
 
137
140
  If you're building libffi directly from git hosted sources, configure
138
141
  won't exist yet; run ./autogen.sh first. This will require that you
139
- install autoconf, automake and libtool.
142
+ install autoconf, automake, libtool and texinfo.
140
143
 
141
144
  You may want to tell configure where to install the libffi library and
142
145
  header files. To do that, use the ``--prefix`` configure switch. Libffi
@@ -201,6 +204,39 @@ History
201
204
 
202
205
  See the git log for details at http://github.com/libffi/libffi.
203
206
 
207
+ 3.5.2 Aug-2-2025
208
+ Add wasm64 support.
209
+ Add DragonFly BSD support.
210
+ Ensure trampoline file descriptors are closed on exec.
211
+
212
+ 3.5.1 Jun-10-2025
213
+ Fix symbol versioning error.
214
+
215
+ 3.5.0 Jun-8-2025
216
+ Add FFI_VERSION_STRING and FFI_VERSION_NUMBER macros, as well
217
+ as ffi_get_version() and ffi_get_version_number() functions.
218
+ Add ffi_get_default_abi() and ffi_get_closure_size() functions.
219
+ Fix closures on powerpc64-linux when statically linking.
220
+ Mark the PA stack as non-executable.
221
+
222
+ 3.4.8 Apr-9-2025
223
+ Add static trampoline support for powerpc-linux (32-bit SYSV BE),
224
+ powerpc64-linux (64-bit ELFv1 BE) and
225
+ powerpc64le-linux (64-bit ELFv2 LE)
226
+ Various x86-64 bug fixes (x32 ABI and improper memory access for
227
+ small argument calls).
228
+ Fix to enable pointer authentication for aarch64.
229
+
230
+ 3.4.7 Feb-8-2025
231
+ Add static trampoline support for Linux on s390x.
232
+ Fix BTI support for ARM64.
233
+ Support pointer authentication for ARM64.
234
+ Fix ASAN compatibility.
235
+ Fix x86-64 calls with 6 GP registers and some SSE registers.
236
+ Miscellaneous fixes for ARC and Darwin ARM64.
237
+ Fix OpenRISC or1k and Solaris 10 builds.
238
+ Remove nios2 port.
239
+
204
240
  3.4.6 Feb-18-2024
205
241
  Fix long double regression on mips64 and alpha.
206
242
 
@@ -180,6 +180,10 @@ AC_DEFUN([LIBFFI_CHECK_LINKER_FEATURES], [
180
180
  if $LD --version 2>/dev/null | grep 'LLD '> /dev/null 2>&1; then
181
181
  libat_ld_is_lld=yes
182
182
  fi
183
+ libat_ld_is_mold=no
184
+ if $LD --version 2>/dev/null | grep 'mold '> /dev/null 2>&1; then
185
+ libat_ld_is_mold=yes
186
+ fi
183
187
  changequote(,)
184
188
  ldver=`$LD --version 2>/dev/null |
185
189
  sed -e 's/GNU gold /GNU ld /;s/GNU ld version /GNU ld /;s/GNU ld ([^)]*) /GNU ld /;s/GNU ld \([0-9.][0-9.]*\).*/\1/; q'`
@@ -336,6 +340,8 @@ if test $enable_symvers != no && test $libat_shared_libgcc = yes; then
336
340
  enable_symvers=gnu
337
341
  elif test $libat_ld_is_lld = yes ; then
338
342
  enable_symvers=gnu
343
+ elif test $libat_ld_is_mold = yes ; then
344
+ enable_symvers=gnu
339
345
  else
340
346
  # The right tools, the right setup, but too old. Fallbacks?
341
347
  AC_MSG_WARN(=== Linker version $libat_gnu_ld_version is too old for)
@@ -1,10 +1,10 @@
1
1
  #! /bin/sh
2
2
  # Attempt to guess a canonical system name.
3
- # Copyright 1992-2022 Free Software Foundation, Inc.
3
+ # Copyright 1992-2024 Free Software Foundation, Inc.
4
4
 
5
5
  # shellcheck disable=SC2006,SC2268 # see below for rationale
6
6
 
7
- timestamp='2022-01-09'
7
+ timestamp='2024-01-01'
8
8
 
9
9
  # This file is free software; you can redistribute it and/or modify it
10
10
  # under the terms of the GNU General Public License as published by
@@ -47,7 +47,7 @@ me=`echo "$0" | sed -e 's,.*/,,'`
47
47
  usage="\
48
48
  Usage: $0 [OPTION]
49
49
 
50
- Output the configuration name of the system \`$me' is run on.
50
+ Output the configuration name of the system '$me' is run on.
51
51
 
52
52
  Options:
53
53
  -h, --help print this help, then exit
@@ -60,13 +60,13 @@ version="\
60
60
  GNU config.guess ($timestamp)
61
61
 
62
62
  Originally written by Per Bothner.
63
- Copyright 1992-2022 Free Software Foundation, Inc.
63
+ Copyright 1992-2024 Free Software Foundation, Inc.
64
64
 
65
65
  This is free software; see the source for copying conditions. There is NO
66
66
  warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
67
67
 
68
68
  help="
69
- Try \`$me --help' for more information."
69
+ Try '$me --help' for more information."
70
70
 
71
71
  # Parse command line
72
72
  while test $# -gt 0 ; do
@@ -102,8 +102,8 @@ GUESS=
102
102
  # temporary files to be created and, as you can see below, it is a
103
103
  # headache to deal with in a portable fashion.
104
104
 
105
- # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
106
- # use `HOST_CC' if defined, but it is deprecated.
105
+ # Historically, 'CC_FOR_BUILD' used to be named 'HOST_CC'. We still
106
+ # use 'HOST_CC' if defined, but it is deprecated.
107
107
 
108
108
  # Portable tmp directory creation inspired by the Autoconf team.
109
109
 
@@ -155,6 +155,9 @@ Linux|GNU|GNU/*)
155
155
 
156
156
  set_cc_for_build
157
157
  cat <<-EOF > "$dummy.c"
158
+ #if defined(__ANDROID__)
159
+ LIBC=android
160
+ #else
158
161
  #include <features.h>
159
162
  #if defined(__UCLIBC__)
160
163
  LIBC=uclibc
@@ -162,6 +165,8 @@ Linux|GNU|GNU/*)
162
165
  LIBC=dietlibc
163
166
  #elif defined(__GLIBC__)
164
167
  LIBC=gnu
168
+ #elif defined(__LLVM_LIBC__)
169
+ LIBC=llvm
165
170
  #else
166
171
  #include <stdarg.h>
167
172
  /* First heuristic to detect musl libc. */
@@ -169,6 +174,7 @@ Linux|GNU|GNU/*)
169
174
  LIBC=musl
170
175
  #endif
171
176
  #endif
177
+ #endif
172
178
  EOF
173
179
  cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
174
180
  eval "$cc_set_libc"
@@ -459,7 +465,7 @@ case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in
459
465
  UNAME_RELEASE=`uname -v`
460
466
  ;;
461
467
  esac
462
- # Japanese Language versions have a version number like `4.1.3-JL'.
468
+ # Japanese Language versions have a version number like '4.1.3-JL'.
463
469
  SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'`
464
470
  GUESS=sparc-sun-sunos$SUN_REL
465
471
  ;;
@@ -904,7 +910,7 @@ EOF
904
910
  fi
905
911
  ;;
906
912
  *:FreeBSD:*:*)
907
- UNAME_PROCESSOR=`/usr/bin/uname -p`
913
+ UNAME_PROCESSOR=`uname -p`
908
914
  case $UNAME_PROCESSOR in
909
915
  amd64)
910
916
  UNAME_PROCESSOR=x86_64 ;;
@@ -966,11 +972,37 @@ EOF
966
972
  GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'`
967
973
  GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC
968
974
  ;;
975
+ x86_64:[Mm]anagarm:*:*|i?86:[Mm]anagarm:*:*)
976
+ GUESS="$UNAME_MACHINE-pc-managarm-mlibc"
977
+ ;;
978
+ *:[Mm]anagarm:*:*)
979
+ GUESS="$UNAME_MACHINE-unknown-managarm-mlibc"
980
+ ;;
969
981
  *:Minix:*:*)
970
982
  GUESS=$UNAME_MACHINE-unknown-minix
971
983
  ;;
972
984
  aarch64:Linux:*:*)
973
- GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
985
+ set_cc_for_build
986
+ CPU=$UNAME_MACHINE
987
+ LIBCABI=$LIBC
988
+ if test "$CC_FOR_BUILD" != no_compiler_found; then
989
+ ABI=64
990
+ sed 's/^ //' << EOF > "$dummy.c"
991
+ #ifdef __ARM_EABI__
992
+ #ifdef __ARM_PCS_VFP
993
+ ABI=eabihf
994
+ #else
995
+ ABI=eabi
996
+ #endif
997
+ #endif
998
+ EOF
999
+ cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
1000
+ eval "$cc_set_abi"
1001
+ case $ABI in
1002
+ eabi | eabihf) CPU=armv8l; LIBCABI=$LIBC$ABI ;;
1003
+ esac
1004
+ fi
1005
+ GUESS=$CPU-unknown-linux-$LIBCABI
974
1006
  ;;
975
1007
  aarch64_be:Linux:*:*)
976
1008
  UNAME_MACHINE=aarch64_be
@@ -1036,7 +1068,16 @@ EOF
1036
1068
  k1om:Linux:*:*)
1037
1069
  GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1038
1070
  ;;
1039
- loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*)
1071
+ kvx:Linux:*:*)
1072
+ GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1073
+ ;;
1074
+ kvx:cos:*:*)
1075
+ GUESS=$UNAME_MACHINE-unknown-cos
1076
+ ;;
1077
+ kvx:mbr:*:*)
1078
+ GUESS=$UNAME_MACHINE-unknown-mbr
1079
+ ;;
1080
+ loongarch32:Linux:*:* | loongarch64:Linux:*:*)
1040
1081
  GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
1041
1082
  ;;
1042
1083
  m32r*:Linux:*:*)
@@ -1151,16 +1192,27 @@ EOF
1151
1192
  ;;
1152
1193
  x86_64:Linux:*:*)
1153
1194
  set_cc_for_build
1195
+ CPU=$UNAME_MACHINE
1154
1196
  LIBCABI=$LIBC
1155
1197
  if test "$CC_FOR_BUILD" != no_compiler_found; then
1156
- if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \
1157
- (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
1158
- grep IS_X32 >/dev/null
1159
- then
1160
- LIBCABI=${LIBC}x32
1161
- fi
1198
+ ABI=64
1199
+ sed 's/^ //' << EOF > "$dummy.c"
1200
+ #ifdef __i386__
1201
+ ABI=x86
1202
+ #else
1203
+ #ifdef __ILP32__
1204
+ ABI=x32
1205
+ #endif
1206
+ #endif
1207
+ EOF
1208
+ cc_set_abi=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^ABI' | sed 's, ,,g'`
1209
+ eval "$cc_set_abi"
1210
+ case $ABI in
1211
+ x86) CPU=i686 ;;
1212
+ x32) LIBCABI=${LIBC}x32 ;;
1213
+ esac
1162
1214
  fi
1163
- GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI
1215
+ GUESS=$CPU-pc-linux-$LIBCABI
1164
1216
  ;;
1165
1217
  xtensa*:Linux:*:*)
1166
1218
  GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
@@ -1180,7 +1232,7 @@ EOF
1180
1232
  GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION
1181
1233
  ;;
1182
1234
  i*86:OS/2:*:*)
1183
- # If we were able to find `uname', then EMX Unix compatibility
1235
+ # If we were able to find 'uname', then EMX Unix compatibility
1184
1236
  # is probably installed.
1185
1237
  GUESS=$UNAME_MACHINE-pc-os2-emx
1186
1238
  ;;
@@ -1321,7 +1373,7 @@ EOF
1321
1373
  GUESS=ns32k-sni-sysv
1322
1374
  fi
1323
1375
  ;;
1324
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
1376
+ PENTIUM:*:4.0*:*) # Unisys 'ClearPath HMP IX 4000' SVR4/MP effort
1325
1377
  # says <Richard.M.Bartel@ccMail.Census.GOV>
1326
1378
  GUESS=i586-unisys-sysv4
1327
1379
  ;;
@@ -1367,8 +1419,11 @@ EOF
1367
1419
  BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
1368
1420
  GUESS=i586-pc-haiku
1369
1421
  ;;
1370
- x86_64:Haiku:*:*)
1371
- GUESS=x86_64-unknown-haiku
1422
+ ppc:Haiku:*:*) # Haiku running on Apple PowerPC
1423
+ GUESS=powerpc-apple-haiku
1424
+ ;;
1425
+ *:Haiku:*:*) # Haiku modern gcc (not bound by BeOS compat)
1426
+ GUESS=$UNAME_MACHINE-unknown-haiku
1372
1427
  ;;
1373
1428
  SX-4:SUPER-UX:*:*)
1374
1429
  GUESS=sx4-nec-superux$UNAME_RELEASE
@@ -1540,6 +1595,9 @@ EOF
1540
1595
  *:Unleashed:*:*)
1541
1596
  GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE
1542
1597
  ;;
1598
+ *:Ironclad:*:*)
1599
+ GUESS=$UNAME_MACHINE-unknown-ironclad
1600
+ ;;
1543
1601
  esac
1544
1602
 
1545
1603
  # Do we have a guess based on uname results?