ffi 1.17.2 → 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 (90) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/CHANGELOG.md +25 -0
  4. data/Gemfile +7 -4
  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 +58 -3
  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 +17 -13
  22. data/ext/ffi_c/libffi/Makefile.in +37 -30
  23. data/ext/ffi_c/libffi/README.md +22 -3
  24. data/ext/ffi_c/libffi/configure +105 -121
  25. data/ext/ffi_c/libffi/configure.ac +21 -8
  26. data/ext/ffi_c/libffi/configure.host +6 -1
  27. data/ext/ffi_c/libffi/doc/Makefile.in +3 -0
  28. data/ext/ffi_c/libffi/doc/libffi.texi +24 -1
  29. data/ext/ffi_c/libffi/doc/version.texi +4 -4
  30. data/ext/ffi_c/libffi/generate-darwin-source-and-headers.py +1 -28
  31. data/ext/ffi_c/libffi/include/Makefile.in +3 -0
  32. data/ext/ffi_c/libffi/include/ffi.h.in +19 -1
  33. data/ext/ffi_c/libffi/libffi.map.in +13 -1
  34. data/ext/ffi_c/libffi/libtool-version +1 -1
  35. data/ext/ffi_c/libffi/m4/asmcfi.m4 +28 -11
  36. data/ext/ffi_c/libffi/m4/ax_check_compile_flag.m4 +13 -3
  37. data/ext/ffi_c/libffi/man/Makefile.in +3 -0
  38. data/ext/ffi_c/libffi/src/aarch64/sysv.S +7 -1
  39. data/ext/ffi_c/libffi/src/arm/sysv.S +1 -1
  40. data/ext/ffi_c/libffi/src/pa/linux.S +4 -0
  41. data/ext/ffi_c/libffi/src/powerpc/ffi.c +6 -0
  42. data/ext/ffi_c/libffi/src/riscv/ffi.c +39 -16
  43. data/ext/ffi_c/libffi/src/riscv/internal.h +7 -0
  44. data/ext/ffi_c/libffi/src/riscv/sysv.S +24 -0
  45. data/ext/ffi_c/libffi/src/tramp.c +6 -1
  46. data/ext/ffi_c/libffi/src/types.c +23 -1
  47. data/ext/ffi_c/libffi/src/{wasm32 → wasm}/ffi.c +157 -54
  48. data/ext/ffi_c/libffi/src/{wasm32 → wasm}/ffitarget.h +17 -0
  49. data/ext/ffi_c/libffi/src/x86/ffitarget.h +0 -3
  50. data/ext/ffi_c/libffi/src/x86/sysv.S +1 -3
  51. data/ext/ffi_c/libffi/src/x86/sysv_intel.S +1 -3
  52. data/ext/ffi_c/libffi/testsuite/Makefile.am +3 -2
  53. data/ext/ffi_c/libffi/testsuite/Makefile.in +6 -2
  54. data/ext/ffi_c/libffi/testsuite/emscripten/build.sh +2 -2
  55. data/ext/ffi_c/libffi/testsuite/emscripten/node-tests.sh +4 -4
  56. data/ext/ffi_c/libffi/testsuite/lib/libffi.exp +269 -256
  57. data/ext/ffi_c/libffi/testsuite/libffi.bhaible/testcases.c +1 -1
  58. data/ext/ffi_c/libffi/testsuite/libffi.call/ffitest.h +3 -0
  59. data/ext/ffi_c/libffi/testsuite/libffi.call/longjmp.c +60 -0
  60. data/ext/ffi_c/libffi/testsuite/libffi.closures/cls_dbls_struct.c +1 -1
  61. data/ext/ffi_c/libffi/testsuite/libffi.closures/huge_struct.c +1 -2
  62. data/ext/ffi_c/libffi/testsuite/libffi.closures/unwindtest.cc +2 -0
  63. data/ext/ffi_c/libffi/testsuite/libffi.closures/unwindtest_ffi_call.cc +2 -0
  64. data/ext/ffi_c/libffi/testsuite/libffi.threads/ffitest.h +1 -0
  65. data/ext/ffi_c/libffi/testsuite/libffi.threads/threads.exp +50 -0
  66. data/ext/ffi_c/libffi/testsuite/libffi.threads/tsan.c +74 -0
  67. data/ext/ffi_c/libffi.mk +5 -0
  68. data/ffi.gemspec +4 -5
  69. data/lib/ffi/autopointer.rb +6 -0
  70. data/lib/ffi/compat.rb +11 -0
  71. data/lib/ffi/function.rb +23 -0
  72. data/lib/ffi/library.rb +19 -3
  73. data/lib/ffi/struct_by_reference.rb +1 -1
  74. data/lib/ffi/version.rb +1 -1
  75. data/samples/hello_ractor.rb +9 -1
  76. data/samples/qsort_ractor.rb +9 -1
  77. data/sig/ffi/auto_pointer.rbs +1 -1
  78. data/sig/ffi/errno.rbs +8 -0
  79. data/sig/ffi/platform.rbs +49 -0
  80. data/sig/ffi/struct.rbs +2 -2
  81. data/sig/ffi/struct_by_reference.rbs +1 -1
  82. data/sig/ffi.rbs +4 -1
  83. data.tar.gz.sig +0 -0
  84. metadata +33 -79
  85. metadata.gz.sig +0 -0
  86. data/ext/ffi_c/libffi/.appveyor/site.exp +0 -16
  87. data/ext/ffi_c/libffi/.appveyor.yml +0 -84
  88. data/lib/ffi/tools/types_generator.rb +0 -137
  89. data/rakelib/ffi_gem_helper.rb +0 -65
  90. /data/ext/ffi_c/libffi/{.appveyor → .ci}/unix-noexec.exp +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '058d816e4da0c93950ccb7181f82c310f9faf3e934948e77f574d01ffcdf7aaa'
4
- data.tar.gz: 0553df9cff19ffb4404dac629dac314f43f70f3cb647899e0cae687dd48631d7
3
+ metadata.gz: dffb188bb4770cc91169621e07445e5ff78f4e900db2d766de2e8b0b9027d9b1
4
+ data.tar.gz: 9b3551d1d1b44fb48b902ddfef4a62f5e145e0cc82f405a1dedb0e010b8555ed
5
5
  SHA512:
6
- metadata.gz: ff675e518022c92374772bdfb8594e07940d0765c134ae076235c6e1c2fe886c091e736415ee0ba28ddd7c4aaf3768929fe27366aa43aaa2f3c250e4eaa7d2cd
7
- data.tar.gz: 7fb6dd8b66f31369863914000c9484eb6cbf813195e25aeaf0a72a3a3eb3e8895f85c8c240686e744ee1bbe90492641e7ef65a1ebcc7d17195c58125c2138c8d
6
+ metadata.gz: 9b6e80ec4c87f9f7daac3c23f394b03ff96afcec0237d8b6326e559aac75e505e128a7d5da5415f705f4a909093244755a74644a5ad53f94e935244bfe7871c0
7
+ data.tar.gz: 78c873e8c461f2a1e01880058effd64b37730905f7fb6e13696e8b183c292532772b7ab781481477fc1aff26ec1388dfa04ef088e9a168b76a5db4f6f9e0e0c8
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -1,3 +1,28 @@
1
+ 1.17.3 / 2025-12-29
2
+ -------------------
3
+
4
+ Fixed:
5
+ * Opt-in for MFA requirement explicitly. #1159
6
+ * Fix type signature for FFI::AutoPointer#initialize, FFI::StructByReference#native_type and FFI::Struct#auto_ptr . #1158
7
+ * Fix function signature of function_call in FFI trampoline. #1154
8
+ It failed on `aarch64-mingw-ucrt`.
9
+ * Add workaround for segmentation faults on `aarch64-mingw-ucrt`. #1154
10
+ * Call super in `Library#freeze` . #1154
11
+ * Deny duplication of AutoPointer per #dup and #clone . #1173
12
+ They led to double free before.
13
+
14
+ Added:
15
+ * Add binary gems for Ruby-4.0, now providing binary gems for Ruby-3.0 to 4.0.
16
+ * Add msys2_mingw_dependencies for Windows Mingw for automatic installation of libffi. #1143
17
+ * Mark callback dispatcher thread as fork safe for Puma. #1156
18
+ * Add missing FFI::Platform module and LastError signatures. #1169
19
+
20
+ Removed:
21
+ * Drop fat binary gems for Ruby-2.7
22
+ * Remove `FFI::TypesGenerator` from distributed gems. #1164
23
+ * Remove libffi build dir after install, safing some install space. #1157
24
+
25
+
1
26
  1.17.2 / 2025-04-15
2
27
  -------------------
3
28
 
data/Gemfile CHANGED
@@ -1,13 +1,15 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
+ gemspec
4
+
3
5
  group :development do
4
6
  gem 'benchmark' # necessary on ruby-3.5+
5
7
  gem 'bigdecimal' # necessary on ruby-3.3+
6
- gem 'bundler', '>= 1.16', '< 3'
7
- gem 'fiddle', platforms: %i[mri windows] # necessary on ruby-3.5+
8
+ gem 'bundler', '>= 1.16', '< 5.dev'
9
+ gem 'fiddle' # necessary on ruby-4.0+
8
10
  gem 'rake', '~> 13.0'
9
11
  gem 'rake-compiler', '~> 1.1'
10
- gem 'rake-compiler-dock', '~> 1.9.0'
12
+ gem 'rake-compiler-dock', '~> 1.11.0'
11
13
  gem 'rspec', '~> 3.0'
12
14
  end
13
15
 
@@ -17,7 +19,8 @@ group :doc do
17
19
  end
18
20
 
19
21
  group :type_check do
20
- if RUBY_VERSION >= "2.6" && %w[ ruby truffleruby ].include?(RUBY_ENGINE)
22
+ if RUBY_VERSION >= "3.0" && %w[ ruby truffleruby ].include?(RUBY_ENGINE)
21
23
  gem 'rbs', '~> 3.0'
24
+ gem 'steep', '~> 1.6'
22
25
  end
23
26
  end
data/README.md CHANGED
@@ -33,6 +33,7 @@ MyLib.puts 'Hello, World using libc!'
33
33
 
34
34
  For less minimalistic and more examples you may look at:
35
35
 
36
+ * The [documentation](https://www.rubydoc.info/gems/ffi)
36
37
  * the `samples/` folder
37
38
  * the examples on the [wiki](https://github.com/ffi/ffi/wiki)
38
39
  * the projects using FFI listed on the wiki: https://github.com/ffi/ffi/wiki/projects-using-ffi
data/Rakefile CHANGED
@@ -97,6 +97,7 @@ Bundler::GemHelper.instance.cross_platforms = %w[
97
97
  arm-linux-musl
98
98
  aarch64-linux-gnu
99
99
  aarch64-linux-musl
100
+ aarch64-mingw-ucrt
100
101
  x86_64-darwin
101
102
  arm64-darwin
102
103
  ]
@@ -111,6 +112,8 @@ if RUBY_ENGINE == 'ruby' || RUBY_ENGINE == 'rbx'
111
112
  ext.cross_platform = Bundler::GemHelper.instance.cross_platforms
112
113
  ext.cross_compiling do |spec|
113
114
  spec.files.reject! { |path| File.fnmatch?('ext/*', path) }
115
+ # Binary gems don't need libffi header+lib files
116
+ spec.metadata.delete("msys2_mingw_dependencies")
114
117
  end
115
118
  # Enable debug info for 'rake compile' but not for 'gem install'
116
119
  ext.config_options << "--enable-debug"
@@ -126,7 +129,7 @@ end
126
129
  namespace "gem" do
127
130
  task 'prepare' do
128
131
  require 'rake_compiler_dock'
129
- sh "bundle package --all"
132
+ sh "bundle package"
130
133
  end
131
134
 
132
135
  Bundler::GemHelper.instance.cross_platforms.each do |plat|
@@ -137,8 +140,8 @@ namespace "gem" do
137
140
  task plat => ['prepare', 'build'] do
138
141
  RakeCompilerDock.sh <<-EOT, platform: plat
139
142
  sudo apt-get update && sudo apt-get install -y libltdl-dev &&
140
- bundle --local &&
141
- rake native:#{plat} pkg/#{gem_spec.full_name}-#{plat}.gem MAKE='nice make -j`nproc`' RUBY_CC_VERSION=#{RakeCompilerDock.ruby_cc_version("~>2.5", "~>3.0")}
143
+ bundle install --local &&
144
+ rake native:#{plat} pkg/#{gem_spec.full_name}-#{plat}.gem MAKE='nice make -j`nproc`' RUBY_CC_VERSION=#{RakeCompilerDock.ruby_cc_version("~>4.0", "~>3.0")}
142
145
  EOT
143
146
  end
144
147
  end
@@ -180,7 +183,7 @@ logfile = File.join(File.dirname(__FILE__), 'types_log')
180
183
 
181
184
  task types_conf do |task|
182
185
  require 'fileutils'
183
- require_relative "lib/ffi/tools/types_generator"
186
+ require_relative "rakelib/types_generator"
184
187
  options = {}
185
188
  FileUtils.mkdir_p(File.dirname(task.name), mode: 0755 )
186
189
  File.open(task.name, File::CREAT|File::TRUNC|File::RDWR, 0644) do |f|
data/Steepfile ADDED
@@ -0,0 +1,8 @@
1
+ target :lib do
2
+ signature "sig"
3
+
4
+ check "lib"
5
+
6
+ # ignore whole of lib, to just validate RBS in sig
7
+ ignore "lib"
8
+ end
@@ -236,7 +236,7 @@ dl_error(char* buf, int size)
236
236
  NULL, error, 0, (LPSTR)&message, 0, NULL);
237
237
 
238
238
  // Update the passed in buffer
239
- snprintf(buf, size, "Failed with error %d: %s", error, message);
239
+ snprintf(buf, size, "Failed with error %lu: %s", error, message);
240
240
 
241
241
  // Free the allocated message
242
242
  LocalFree(message);
data/ext/ffi_c/Function.c CHANGED
@@ -237,6 +237,8 @@ async_cb_dispatcher_initialize(struct async_cb_dispatcher *ctx)
237
237
 
238
238
  /* Name thread, for better debugging */
239
239
  rb_funcall(ctx->thread, rb_intern("name="), 1, rb_str_new2("FFI Callback Dispatcher"));
240
+ /* Advise multi-threaded app servers to ignore this thread for the purposes of fork safety warnings */
241
+ rb_funcall(ctx->thread, rb_intern("thread_variable_set"), 2, ID2SYM(rb_intern("fork_safe")), Qtrue);
240
242
  }
241
243
 
242
244
  static struct async_cb_dispatcher *
@@ -336,11 +336,13 @@ rbffi_MethodHandle_Init(VALUE module)
336
336
  rb_raise(rb_eFatal, "Could not locate offsets in trampoline code");
337
337
  }
338
338
  #else
339
+
340
+ /* static VALUE function_call(int argc, VALUE* argv, VALUE self) */
339
341
  methodHandleParamTypes[0] = &ffi_type_sint;
340
342
  methodHandleParamTypes[1] = &ffi_type_pointer;
341
- methodHandleParamTypes[2] = &ffi_type_ulong;
343
+ methodHandleParamTypes[2] = &ffi_type_pointer;
342
344
 
343
- ffiStatus = ffi_prep_cif(&mh_cif, FFI_DEFAULT_ABI, 3, &ffi_type_ulong,
345
+ ffiStatus = ffi_prep_cif(&mh_cif, FFI_DEFAULT_ABI, 3, &ffi_type_pointer,
344
346
  methodHandleParamTypes);
345
347
  if (ffiStatus != FFI_OK) {
346
348
  rb_raise(rb_eFatal, "ffi_prep_cif failed. status=%#x", ffiStatus);
@@ -0,0 +1,12 @@
1
+ FROM ppc64le/fedora
2
+
3
+ RUN dnf install -y dejagnu automake autoconf dejagnu texinfo gcc libtool diffutils gawk
4
+
5
+ # -----------------------------------------------------------------------------
6
+ # Give UID 10000 a name so ‘whoami’ works during DejaGNU tests
7
+ # -----------------------------------------------------------------------------
8
+ RUN groupadd -g 10000 builder \
9
+ && useradd -u 10000 -g 10000 -d /home/builder -s /sbin/nologin builder \
10
+ && mkdir -p /home/builder \
11
+ && chown 10000:10000 /home/builder
12
+ USER 10000
@@ -17,17 +17,22 @@ fi
17
17
 
18
18
  export DOCKER=docker
19
19
 
20
+ if ! command -v makeinfo >/dev/null 2>&1; then
21
+ CONFIGURE_OPTIONS="--disable-docs ${CONFIGURE_OPTIONS}"
22
+ fi
23
+
20
24
  function build_linux()
21
25
  {
22
- ./autogen.sh
23
26
  ./configure ${HOST+--host=$HOST} ${CONFIGURE_OPTIONS} || cat */config.log
27
+ ls -l */config.log
28
+ cat */config.log
24
29
  make
25
30
  make dist
26
31
  DEJAGNU=$(pwd)/.ci/site.exp BOARDSDIR=$(pwd)/.ci runtest --version
27
32
  DEJAGNU=$(pwd)/.ci/site.exp BOARDSDIR=$(pwd)/.ci make check RUNTESTFLAGS="-a $RUNTESTFLAGS"
28
33
 
29
34
  ./rlgl l --key=${RLGL_KEY} https://rl.gl
30
- ./rlgl e -l project=libffi -l sha=${GITHUB_SHA:0:7} -l CC='$CC' ${HOST+-l host=$HOST} --policy=https://github.com/libffi/rlgl-policy.git */testsuite/libffi.log
35
+ ./rlgl e -l project=libffi -l sha=${GITHUB_SHA:0:7} -l CC='${CC}' ${HOST+-l host=$HOST} --policy=https://github.com/libffi/rlgl-policy.git */testsuite/libffi.log
31
36
  exit $?
32
37
  }
33
38
 
@@ -62,7 +67,7 @@ function build_cross()
62
67
  function build_ios()
63
68
  {
64
69
  which python
65
- # export PYTHON_BIN=/usr/local/bin/python
70
+ # export PYTHON_BIN=/usr/local/bin/python
66
71
  ./generate-darwin-source-and-headers.py --only-ios
67
72
  xcodebuild -showsdks
68
73
  xcodebuild -project libffi.xcodeproj -target "libffi-iOS" -configuration Release -sdk iphoneos11.4
@@ -72,7 +77,7 @@ function build_ios()
72
77
  function build_macosx()
73
78
  {
74
79
  which python
75
- # export PYTHON_BIN=/usr/local/bin/python
80
+ # export PYTHON_BIN=/usr/local/bin/python
76
81
  ./generate-darwin-source-and-headers.py --only-osx
77
82
  xcodebuild -showsdks
78
83
  xcodebuild -project libffi.xcodeproj -target "libffi-Mac" -configuration Release -sdk macosx10.13
@@ -82,43 +87,43 @@ function build_macosx()
82
87
 
83
88
  case "$HOST" in
84
89
  arm-apple-darwin*)
85
- ./autogen.sh
86
- build_ios
87
- ;;
90
+ ./autogen.sh
91
+ build_ios
92
+ ;;
88
93
  x86_64-apple-darwin*)
89
- ./autogen.sh
90
- build_macosx
91
- ;;
94
+ ./autogen.sh
95
+ build_macosx
96
+ ;;
92
97
  arm32v7-linux-gnu)
93
- ./autogen.sh
98
+ ./autogen.sh
94
99
  build_foreign_linux arm quay.io/moxielogic/arm32v7-ci-build-container:latest
95
- ;;
100
+ ;;
96
101
  bfin-elf )
97
- ./autogen.sh
98
- GCC_OPTIONS=-msim build_cross
99
- ;;
102
+ ./autogen.sh
103
+ GCC_OPTIONS=-msim build_cross
104
+ ;;
100
105
  m32r-elf )
101
- ./autogen.sh
102
- build_cross
103
- ;;
106
+ ./autogen.sh
107
+ build_cross
108
+ ;;
104
109
  or1k-elf )
105
- ./autogen.sh
106
- build_cross
107
- ;;
110
+ ./autogen.sh
111
+ build_cross
112
+ ;;
108
113
  powerpc-eabisim )
109
- ./autogen.sh
110
- build_cross
111
- ;;
114
+ ./autogen.sh
115
+ build_cross
116
+ ;;
112
117
  m68k-linux-gnu )
113
- ./autogen.sh
114
- GCC_OPTIONS=-mcpu=547x build_cross_linux
115
- ;;
118
+ ./autogen.sh
119
+ GCC_OPTIONS=-mcpu=547x build_cross_linux
120
+ ;;
116
121
  alpha-linux-gnu | sh4-linux-gnu )
117
- ./autogen.sh
118
- build_cross_linux
119
- ;;
122
+ ./autogen.sh
123
+ build_cross_linux
124
+ ;;
120
125
  *)
121
- ./autogen.sh
122
- build_linux
123
- ;;
126
+ ./autogen.sh
127
+ build_linux
128
+ ;;
124
129
  esac
@@ -6,73 +6,69 @@ if [[ $RUNNER_OS != 'Linux' ]]; then
6
6
  # brew update > brew-update.log 2>&1
7
7
  # fix an issue with libtool on travis by reinstalling it
8
8
  brew uninstall libtool;
9
- brew install automake libtool dejagnu;
9
+ brew install automake libtool dejagnu gcc@15;
10
10
 
11
11
  # Download and extract the rlgl client
12
12
  wget -qO - https://rl.gl/cli/rlgl-darwin-amd64.tgz | \
13
- tar --strip-components=2 -xvzf - ./rlgl/rlgl;
13
+ tar --strip-components=2 -xvzf - ./rlgl/rlgl;
14
14
 
15
15
  else
16
16
  # Download and extract the rlgl client
17
17
  case $HOST in
18
- aarch64-linux-gnu)
19
- wget -qO - https://rl.gl/cli/rlgl-linux-arm.tgz | \
20
- tar --strip-components=2 -xvzf - ./rlgl/rlgl;
21
- ;;
22
- ppc64le-linux-gnu)
23
- wget -qO - https://rl.gl/cli/rlgl-linux-ppc64le.tgz | \
24
- tar --strip-components=2 -xvzf - ./rlgl/rlgl;
25
- ;;
26
- s390x-linux-gnu)
27
- wget -qO - https://rl.gl/cli/rlgl-linux-s390x.tgz | \
28
- tar --strip-components=2 -xvzf - ./rlgl/rlgl;
29
- ;;
30
- *)
31
- wget -qO - https://rl.gl/cli/rlgl-linux-amd64.tgz | \
32
- tar --strip-components=2 -xvzf - ./rlgl/rlgl;
33
- ;;
18
+ aarch64-*linux-gnu)
19
+ wget -qO - https://rl.gl/cli/rlgl-linux-arm.tgz | \
20
+ tar --strip-components=2 -xvzf - ./rlgl/rlgl;
21
+ ;;
22
+ ppc64le-linux-gnu)
23
+ wget -qO - https://rl.gl/cli/rlgl-linux-ppc64le.tgz | \
24
+ tar --strip-components=2 -xvzf - ./rlgl/rlgl;
25
+ ;;
26
+ s390x-linux-gnu)
27
+ wget -qO - https://rl.gl/cli/rlgl-linux-s390x.tgz | \
28
+ tar --strip-components=2 -xvzf - ./rlgl/rlgl;
29
+ ;;
30
+ *)
31
+ wget -qO - https://rl.gl/cli/rlgl-linux-amd64.tgz | \
32
+ tar --strip-components=2 -xvzf - ./rlgl/rlgl;
33
+ ;;
34
34
  esac
35
35
 
36
36
  sudo apt-get clean # clear the cache
37
37
  sudo apt-get update
38
-
39
- set -x
40
- wget --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 -t 0 -qO - https://ftpmirror.gnu.org/autoconf/autoconf-2.71.tar.gz | tar -xvzf -
41
- mkdir -p ~/i
42
- (cd autoconf-2.71; ./configure --prefix=$HOME/i; make; make install)
38
+ sudo apt install libltdl-dev zip
43
39
 
44
40
  case $HOST in
45
- mips64el-linux-gnu | sparc64-linux-gnu)
41
+ mips64el-linux-gnu | sparc64-linux-gnu)
46
42
  ;;
47
- alpha-linux-gnu | arm32v7-linux-gnu | m68k-linux-gnu | sh4-linux-gnu)
48
- sudo apt-get install qemu-user-static
49
- ;;
50
- hppa-linux-gnu )
51
- sudo apt-get install -y qemu-user-static g++-5-hppa-linux-gnu
52
- ;;
53
- i386-pc-linux-gnu)
54
- sudo apt-get install gcc-multilib g++-multilib;
55
- ;;
56
- moxie-elf)
57
- echo 'deb [trusted=yes] https://repos.moxielogic.org:7114/MoxieLogic moxiedev main' | sudo tee -a /etc/apt/sources.list
58
- sudo apt-get clean # clear the cache
59
- sudo apt-get update ## -qq
60
- sudo apt-get update
61
- sudo apt-get install -y --allow-unauthenticated moxielogic-moxie-elf-gcc moxielogic-moxie-elf-gcc-c++ moxielogic-moxie-elf-gcc-libstdc++ moxielogic-moxie-elf-gdb-sim texinfo sharutils texlive dejagnu
62
- ;;
63
- x86_64-w64-mingw32)
64
- sudo apt-get install gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 wine;
65
- ;;
66
- i686-w32-mingw32)
67
- sudo apt-get install gcc-mingw-w64-i686 g++-mingw-w64-i686 wine;
68
- ;;
43
+ alpha-linux-gnu | arm32v7-linux-gnu | m68k-linux-gnu | sh4-linux-gnu)
44
+ sudo apt-get install qemu-user-static
45
+ ;;
46
+ hppa-linux-gnu )
47
+ sudo apt-get install -y qemu-user-static g++-5-hppa-linux-gnu
48
+ ;;
49
+ i386-pc-linux-gnu)
50
+ sudo apt-get install gcc-multilib g++-multilib;
51
+ ;;
52
+ moxie-elf)
53
+ echo 'deb [trusted=yes] https://repos.moxielogic.org:7114/MoxieLogic moxiedev main' | sudo tee -a /etc/apt/sources.list
54
+ sudo apt-get clean # clear the cache
55
+ sudo apt-get update ## -qq
56
+ sudo apt-get update
57
+ sudo apt-get install -y --allow-unauthenticated moxielogic-moxie-elf-gcc moxielogic-moxie-elf-gcc-c++ moxielogic-moxie-elf-gcc-libstdc++ moxielogic-moxie-elf-gdb-sim texinfo sharutils texlive dejagnu
58
+ ;;
59
+ x86_64-w64-mingw32)
60
+ sudo apt-get install gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64 wine;
61
+ ;;
62
+ i686-w32-mingw32)
63
+ sudo apt-get install gcc-mingw-w64-i686 g++-mingw-w64-i686 wine;
64
+ ;;
69
65
  esac
70
66
  case $HOST in
71
- arm32v7-linux-gnu)
67
+ arm32v7-linux-gnu)
72
68
  # don't install host tools
73
69
  ;;
74
- *)
75
- sudo apt-get install dejagnu texinfo sharutils
76
- ;;
70
+ *)
71
+ sudo apt-get install dejagnu texinfo sharutils
72
+ ;;
77
73
  esac
78
74
  fi
@@ -26,4 +26,10 @@ case "$target_triplet" in {
26
26
  { "powerpc-eabisim" } {
27
27
  set target_list "powerpc-eabisim"
28
28
  }
29
+ { "aarch*cygwin*" } {
30
+ set target_list "unix-noexec"
31
+ }
32
+ { "arm*cygwin*" } {
33
+ set target_list "unix-noexec"
34
+ }
29
35
  }
@@ -0,0 +1,44 @@
1
+ # This is a list of labels to be used for automatic tagging
2
+ # of github issues using gail: https://github.com/atgreen/gail
3
+
4
+ # Main categories
5
+ BUILD-ERROR
6
+ RUNTIME-ERROR
7
+ FEATURE-REQUEST
8
+ QUESTION
9
+
10
+ # Operating systems
11
+ ANDROID
12
+ IOS
13
+ LINUX
14
+ MACOS
15
+ SOLARIS
16
+ WINDOWS
17
+
18
+ # Processor families
19
+ AARCH64
20
+ ALPHA
21
+ ARC
22
+ ARM
23
+ AVR32
24
+ BLACKFIN
25
+ CSKY
26
+ HPPA
27
+ IA-64
28
+ KVX
29
+ LOONGARCH64
30
+ M68K
31
+ M88K
32
+ MICROBLAZE
33
+ MIPS
34
+ MOXIE
35
+ OPENRISC
36
+ POWERPC
37
+ RISC-V
38
+ S390
39
+ SPARC
40
+ TILE
41
+ VAX
42
+ WASM
43
+ X86
44
+ XTENSA