contrast-agent 3.11.0 → 3.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (217) hide show
  1. checksums.yaml +4 -4
  2. data/.flayignore +1 -0
  3. data/ext/cs__assess_active_record_named/cs__active_record_named.c +7 -2
  4. data/ext/cs__assess_active_record_named/cs__active_record_named.h +1 -0
  5. data/ext/cs__assess_array/cs__assess_array.c +2 -1
  6. data/ext/cs__assess_array/cs__assess_array.h +1 -0
  7. data/ext/cs__assess_basic_object/cs__assess_basic_object.c +3 -7
  8. data/ext/cs__assess_basic_object/cs__assess_basic_object.h +2 -1
  9. data/ext/cs__assess_kernel/cs__assess_kernel.c +1 -1
  10. data/ext/cs__assess_module/cs__assess_module.c +5 -7
  11. data/ext/cs__assess_module/cs__assess_module.h +3 -0
  12. data/ext/cs__common/cs__common.c +1 -1
  13. data/ext/cs__protect_kernel/cs__protect_kernel.c +4 -2
  14. data/ext/cs__protect_kernel/cs__protect_kernel.h +1 -0
  15. data/funchook/autom4te.cache/output.0 +13 -1
  16. data/funchook/autom4te.cache/requests +49 -48
  17. data/funchook/autom4te.cache/traces.0 +3 -0
  18. data/funchook/config.log +217 -378
  19. data/funchook/config.status +24 -23
  20. data/funchook/configure +13 -1
  21. data/funchook/src/Makefile +7 -7
  22. data/funchook/src/config.h +2 -2
  23. data/funchook/src/decoder.o +0 -0
  24. data/funchook/src/distorm.o +0 -0
  25. data/funchook/src/funchook.o +0 -0
  26. data/funchook/src/funchook_io.o +0 -0
  27. data/funchook/src/funchook_syscall.o +0 -0
  28. data/funchook/src/funchook_unix.o +0 -0
  29. data/funchook/src/funchook_x86.o +0 -0
  30. data/funchook/src/instructions.o +0 -0
  31. data/funchook/src/insts.o +0 -0
  32. data/funchook/src/libfunchook.so +0 -0
  33. data/funchook/src/mnemonics.o +0 -0
  34. data/funchook/src/operands.o +0 -0
  35. data/funchook/src/os_func.o +0 -0
  36. data/funchook/src/os_func_unix.o +0 -0
  37. data/funchook/src/prefix.o +0 -0
  38. data/funchook/src/printf_base.o +0 -0
  39. data/funchook/src/textdefs.o +0 -0
  40. data/funchook/src/wstring.o +0 -0
  41. data/funchook/test/Makefile +2 -2
  42. data/funchook/test/funchook_test +0 -0
  43. data/funchook/test/libfunchook_test.so +0 -0
  44. data/funchook/test/test_main.o +0 -0
  45. data/funchook/test/x86_64_test.o +0 -0
  46. data/lib/contrast.rb +0 -1
  47. data/lib/contrast/agent.rb +19 -22
  48. data/lib/contrast/agent/assess.rb +0 -9
  49. data/lib/contrast/agent/assess/policy/patcher.rb +1 -0
  50. data/lib/contrast/agent/assess/policy/policy_node.rb +1 -1
  51. data/lib/contrast/agent/assess/policy/policy_scanner.rb +1 -1
  52. data/lib/contrast/agent/assess/policy/propagation_method.rb +3 -0
  53. data/lib/contrast/agent/assess/policy/propagator/custom.rb +1 -1
  54. data/lib/contrast/agent/assess/policy/propagator/database_write.rb +1 -3
  55. data/lib/contrast/agent/assess/policy/trigger/reflected_xss.rb +90 -0
  56. data/lib/contrast/agent/assess/policy/trigger/xpath.rb +57 -0
  57. data/lib/contrast/agent/assess/policy/trigger_method.rb +3 -7
  58. data/lib/contrast/agent/assess/policy/trigger_node.rb +4 -1
  59. data/lib/contrast/agent/assess/rule/base.rb +0 -15
  60. data/lib/contrast/agent/assess/rule/provider/hardcoded_value_rule.rb +22 -5
  61. data/lib/contrast/agent/assess/rule/redos.rb +0 -1
  62. data/lib/contrast/agent/at_exit_hook.rb +2 -2
  63. data/lib/contrast/agent/class_reopener.rb +9 -4
  64. data/lib/contrast/agent/exclusion_matcher.rb +0 -1
  65. data/lib/contrast/agent/inventory/policy/datastores.rb +54 -0
  66. data/lib/contrast/agent/inventory/policy/policy.rb +1 -1
  67. data/lib/contrast/agent/middleware.rb +38 -34
  68. data/lib/contrast/agent/patching/policy/after_load_patch.rb +11 -2
  69. data/lib/contrast/agent/patching/policy/after_load_patcher.rb +51 -56
  70. data/lib/contrast/agent/patching/policy/patch.rb +2 -1
  71. data/lib/contrast/agent/patching/policy/patcher.rb +10 -12
  72. data/lib/contrast/agent/patching/policy/policy_node.rb +1 -1
  73. data/lib/contrast/agent/patching/policy/trigger_node.rb +1 -1
  74. data/lib/contrast/agent/protect/policy/applies_command_injection_rule.rb +63 -0
  75. data/lib/contrast/agent/protect/policy/applies_deserialization_rule.rb +52 -0
  76. data/lib/contrast/agent/protect/policy/applies_no_sqli_rule.rb +68 -0
  77. data/lib/contrast/agent/protect/policy/applies_path_traversal_rule.rb +117 -0
  78. data/lib/contrast/agent/protect/policy/applies_sqli_rule.rb +54 -0
  79. data/lib/contrast/agent/protect/policy/applies_xxe_rule.rb +129 -0
  80. data/lib/contrast/agent/protect/policy/policy.rb +6 -6
  81. data/lib/contrast/agent/protect/policy/rule_applicator.rb +51 -0
  82. data/lib/contrast/agent/protect/rule.rb +0 -5
  83. data/lib/contrast/agent/protect/rule/base.rb +6 -5
  84. data/lib/contrast/agent/protect/rule/cmd_injection.rb +3 -3
  85. data/lib/contrast/agent/protect/rule/path_traversal.rb +2 -7
  86. data/lib/contrast/agent/protect/rule/sqli.rb +4 -4
  87. data/lib/contrast/agent/railtie.rb +1 -0
  88. data/lib/contrast/agent/request.rb +2 -6
  89. data/lib/contrast/agent/request_context.rb +5 -6
  90. data/lib/contrast/agent/request_handler.rb +2 -2
  91. data/lib/contrast/agent/response.rb +0 -69
  92. data/lib/contrast/agent/service_heartbeat.rb +2 -2
  93. data/lib/contrast/agent/socket_client.rb +8 -8
  94. data/lib/contrast/agent/static_analysis.rb +2 -3
  95. data/lib/contrast/agent/version.rb +1 -1
  96. data/lib/contrast/api/decorators/application_settings.rb +1 -1
  97. data/lib/contrast/api/speedracer.rb +1 -1
  98. data/lib/contrast/components/agent.rb +17 -12
  99. data/lib/contrast/components/app_context.rb +33 -1
  100. data/lib/contrast/components/assess.rb +25 -15
  101. data/lib/contrast/components/contrast_service.rb +23 -67
  102. data/lib/contrast/components/interface.rb +4 -12
  103. data/lib/contrast/components/inventory.rb +5 -1
  104. data/lib/contrast/components/logger.rb +2 -2
  105. data/lib/contrast/components/protect.rb +40 -4
  106. data/lib/contrast/components/scope.rb +2 -52
  107. data/lib/contrast/components/settings.rb +24 -18
  108. data/lib/contrast/config/protect_rules_configuration.rb +0 -1
  109. data/lib/contrast/{extensions/ruby_core → extension}/assess.rb +12 -14
  110. data/lib/contrast/extension/assess/array.rb +77 -0
  111. data/lib/contrast/{extensions/ruby_core → extension}/assess/assess_extension.rb +2 -2
  112. data/lib/contrast/{extensions/ruby_core → extension}/assess/erb.rb +0 -0
  113. data/lib/contrast/extension/assess/eval_trigger.rb +78 -0
  114. data/lib/contrast/{extensions/ruby_core → extension}/assess/exec_trigger.rb +1 -1
  115. data/lib/contrast/{extensions/ruby_core → extension}/assess/fiber.rb +6 -5
  116. data/lib/contrast/{extensions/ruby_core → extension}/assess/hash.rb +2 -2
  117. data/lib/contrast/extension/assess/kernel.rb +110 -0
  118. data/lib/contrast/{extensions/ruby_core → extension}/assess/regexp.rb +4 -4
  119. data/lib/contrast/{extensions/ruby_core → extension}/assess/string.rb +5 -5
  120. data/lib/contrast/{extensions/ruby_core → extension}/delegator.rb +0 -0
  121. data/lib/contrast/{extensions/ruby_core → extension}/inventory.rb +2 -2
  122. data/lib/contrast/extension/kernel.rb +54 -0
  123. data/lib/contrast/{extensions/ruby_core → extension}/module.rb +0 -0
  124. data/lib/contrast/{extensions/ruby_core → extension}/protect.rb +2 -2
  125. data/lib/contrast/extension/protect/kernel.rb +44 -0
  126. data/lib/contrast/{extensions/ruby_core → extension}/protect/psych.rb +1 -1
  127. data/lib/contrast/{extensions/ruby_core → extension}/thread.rb +0 -0
  128. data/lib/contrast/framework/base_support.rb +22 -0
  129. data/lib/contrast/framework/manager.rb +33 -8
  130. data/lib/contrast/framework/rack/patch/session_cookie.rb +126 -0
  131. data/lib/contrast/framework/rack/patch/support.rb +24 -0
  132. data/lib/contrast/framework/rack/support.rb +22 -0
  133. data/lib/contrast/framework/rails/patch/action_controller_live_buffer.rb +43 -0
  134. data/lib/contrast/framework/rails/patch/assess_configuration.rb +103 -0
  135. data/lib/contrast/framework/rails/patch/rails_application_configuration.rb +31 -0
  136. data/lib/contrast/framework/rails/patch/support.rb +67 -0
  137. data/lib/contrast/framework/rails/rewrite/action_controller_railties_helper_inherited.rb +34 -0
  138. data/lib/contrast/framework/rails/rewrite/active_record_attribute_methods_read.rb +39 -0
  139. data/lib/contrast/framework/rails/rewrite/active_record_named.rb +73 -0
  140. data/lib/contrast/framework/rails/rewrite/active_record_time_zone_inherited.rb +33 -0
  141. data/lib/contrast/framework/rails/support.rb +115 -0
  142. data/lib/contrast/framework/sinatra/application_helper.rb +51 -0
  143. data/lib/contrast/framework/sinatra/patch/base.rb +83 -0
  144. data/lib/contrast/framework/sinatra/patch/support.rb +27 -0
  145. data/lib/contrast/framework/sinatra/support.rb +109 -0
  146. data/lib/contrast/logger/application.rb +80 -0
  147. data/lib/contrast/{agent/logger.rb → logger/log.rb} +23 -54
  148. data/lib/contrast/logger/time.rb +50 -0
  149. data/lib/contrast/tasks/config.rb +54 -0
  150. data/lib/contrast/tasks/service.rb +1 -5
  151. data/lib/contrast/utils/class_util.rb +1 -1
  152. data/lib/contrast/utils/gemfile_reader.rb +2 -2
  153. data/lib/contrast/utils/hash_digest.rb +2 -7
  154. data/lib/contrast/utils/invalid_configuration_util.rb +3 -3
  155. data/lib/contrast/utils/job_servers_running.rb +4 -2
  156. data/lib/contrast/utils/object_share.rb +0 -1
  157. data/lib/contrast/utils/service_response_util.rb +14 -12
  158. data/lib/contrast/utils/service_sender_util.rb +78 -21
  159. data/resources/assess/policy.json +9 -50
  160. data/resources/inventory/policy.json +2 -2
  161. data/resources/protect/policy.json +6 -6
  162. data/ruby-agent.gemspec +5 -1
  163. data/service_executables/VERSION +1 -1
  164. data/service_executables/linux/contrast-service +0 -0
  165. data/service_executables/mac/contrast-service +0 -0
  166. metadata +69 -83
  167. data/funchook/src/libfunchook.dylib +0 -0
  168. data/funchook/test/libfunchook_test.so.dSYM/Contents/Info.plist +0 -20
  169. data/funchook/test/libfunchook_test.so.dSYM/Contents/Resources/DWARF/libfunchook_test.so +0 -0
  170. data/lib/contrast/agent/assess/rule/csrf.rb +0 -66
  171. data/lib/contrast/agent/assess/rule/csrf/csrf_action.rb +0 -28
  172. data/lib/contrast/agent/assess/rule/csrf/csrf_applicator.rb +0 -53
  173. data/lib/contrast/agent/assess/rule/csrf/csrf_watcher.rb +0 -136
  174. data/lib/contrast/agent/assess/rule/response_scanning_rule.rb +0 -47
  175. data/lib/contrast/agent/assess/rule/response_watcher.rb +0 -36
  176. data/lib/contrast/agent/assess/rule/watcher.rb +0 -36
  177. data/lib/contrast/agent/feature_state.rb +0 -346
  178. data/lib/contrast/agent/protect/rule/csrf.rb +0 -119
  179. data/lib/contrast/agent/protect/rule/csrf/csrf_evaluator.rb +0 -100
  180. data/lib/contrast/agent/protect/rule/csrf/csrf_token_injector.rb +0 -85
  181. data/lib/contrast/agent/settings_state.rb +0 -88
  182. data/lib/contrast/api/decorators/exclusion.rb +0 -20
  183. data/lib/contrast/extensions/framework/rack/cookie.rb +0 -24
  184. data/lib/contrast/extensions/framework/rack/request.rb +0 -24
  185. data/lib/contrast/extensions/framework/rack/response.rb +0 -23
  186. data/lib/contrast/extensions/framework/rails/action_controller_inheritance.rb +0 -39
  187. data/lib/contrast/extensions/framework/rails/action_controller_railties_helper_inherited.rb +0 -20
  188. data/lib/contrast/extensions/framework/rails/active_record.rb +0 -26
  189. data/lib/contrast/extensions/framework/rails/active_record_named.rb +0 -58
  190. data/lib/contrast/extensions/framework/rails/active_record_time_zone_inherited.rb +0 -21
  191. data/lib/contrast/extensions/framework/rails/buffer.rb +0 -28
  192. data/lib/contrast/extensions/framework/rails/configuration.rb +0 -27
  193. data/lib/contrast/extensions/framework/sinatra/base.rb +0 -59
  194. data/lib/contrast/extensions/ruby_core/assess/array.rb +0 -59
  195. data/lib/contrast/extensions/ruby_core/assess/basic_object.rb +0 -15
  196. data/lib/contrast/extensions/ruby_core/assess/kernel.rb +0 -96
  197. data/lib/contrast/extensions/ruby_core/assess/module.rb +0 -14
  198. data/lib/contrast/extensions/ruby_core/assess/tilt_template_trigger.rb +0 -78
  199. data/lib/contrast/extensions/ruby_core/assess/xpath_library_trigger.rb +0 -40
  200. data/lib/contrast/extensions/ruby_core/eval_trigger.rb +0 -51
  201. data/lib/contrast/extensions/ruby_core/inventory/datastores.rb +0 -37
  202. data/lib/contrast/extensions/ruby_core/protect/applies_command_injection_rule.rb +0 -61
  203. data/lib/contrast/extensions/ruby_core/protect/applies_deserialization_rule.rb +0 -50
  204. data/lib/contrast/extensions/ruby_core/protect/applies_no_sqli_rule.rb +0 -66
  205. data/lib/contrast/extensions/ruby_core/protect/applies_path_traversal_rule.rb +0 -115
  206. data/lib/contrast/extensions/ruby_core/protect/applies_sqli_rule.rb +0 -53
  207. data/lib/contrast/extensions/ruby_core/protect/applies_xxe_rule.rb +0 -127
  208. data/lib/contrast/extensions/ruby_core/protect/kernel.rb +0 -30
  209. data/lib/contrast/extensions/ruby_core/protect/rule_applicator.rb +0 -50
  210. data/lib/contrast/framework/rails_support.rb +0 -104
  211. data/lib/contrast/framework/sinatra_application_helper.rb +0 -49
  212. data/lib/contrast/framework/sinatra_support.rb +0 -104
  213. data/lib/contrast/utils/data_store_util.rb +0 -23
  214. data/lib/contrast/utils/rack_assess_session_cookie.rb +0 -104
  215. data/lib/contrast/utils/rails_assess_configuration.rb +0 -95
  216. data/lib/contrast/utils/random_util.rb +0 -22
  217. data/resources/csrf/inject.js +0 -44
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9ef521f3316b8c5e911a3781bb0dc0c228b01a6166ad1f6a2abb429e67941878
4
- data.tar.gz: 16305c60287b244efb6d0a1fb23a979b405e4960deaa2a84e45b1da994c21c14
3
+ metadata.gz: 0dbe37872e820951219da1fe4ec999627ac80d353c7bcb410f9ba23eb1cde1f5
4
+ data.tar.gz: b047e09b04b21d8aa8d6aa18628f18e27db5d29582186071b2914c1782690979
5
5
  SHA512:
6
- metadata.gz: 228c42ed0e8453f3b2720818d7127729991e8d2cad7e480fc616f0975481e7810ff0ebfae44ebe406c62ff51398307e6cadd685a0805b34a7cb699641278c064
7
- data.tar.gz: e9d180bb7004a818d346bb2d5f4ea5b57d1d6fef58284569fdb80dcbaf44cb215d4ae3b86c7984c683387011af9bf20f9428947820bf9e13fa67cc9084d6d8b8
6
+ metadata.gz: ecae0eb3a447018a25090a709f100def02ee94f1ff6e8218a9acdbd32ee6a4bd5e5b118921aecc94888c5c99b0ece6b17bb1bd15d2c56b8995506856070712c7
7
+ data.tar.gz: 7675ace867f1e8e92003e03c52fbaf516b97c723b600dff7544e33dd4f1a9c5e4333f054cf45a984cd2117ef073a8b1b1775756fc1ee353ddb6c36a287a77c56
@@ -0,0 +1 @@
1
+ ./lib/contrast/api/*_pb.rb
@@ -19,7 +19,7 @@ VALUE contrast_assess_active_record_scope(const int argc, const VALUE *argv,
19
19
  */
20
20
  VALUE new_body, ret;
21
21
  VALUE new_args[3];
22
- new_body = rb_funcall(self, rb_sym_assess_rewrite, 2, argv[0], argv[1]);
22
+ new_body = rb_funcall(active_record_named, rb_sym_assess_rewrite, 3, self, argv[0], argv[1]);
23
23
  new_args[0] = argv[0];
24
24
  if (NIL_P(new_body)) {
25
25
  new_args[1] = argv[1];
@@ -32,7 +32,12 @@ VALUE contrast_assess_active_record_scope(const int argc, const VALUE *argv,
32
32
  }
33
33
 
34
34
  void Init_cs__assess_active_record_named(void) {
35
- rb_sym_assess_rewrite = rb_intern("_cs__rewrite");
35
+ VALUE framework, rails, rewrite;
36
+ framework = rb_define_module_under(contrast, "Framework");
37
+ rails = rb_define_module_under(framework, "Rails");
38
+ rewrite = rb_define_module_under(rails, "Rewrite");
39
+ active_record_named = rb_define_class_under(rewrite, "ActiveRecordNamed", rb_cObject);
40
+ rb_sym_assess_rewrite = rb_intern("rewrite");
36
41
  rb_sym_assess_scope = contrast_register_patch("ActiveRecord::Scoping::Named::ClassMethods",
37
42
  "scope",
38
43
  contrast_assess_active_record_scope);
@@ -1,5 +1,6 @@
1
1
  #include <ruby.h>
2
2
 
3
+ static VALUE active_record_named;
3
4
  static VALUE rb_sym_assess_rewrite;
4
5
  static VALUE rb_sym_assess_scope;
5
6
 
@@ -23,12 +23,13 @@ static VALUE contrast_assess_array_join(const int argc, const VALUE *argv,
23
23
  /* Finally, default to empty String. Implicit since nil.to_s is ''*/
24
24
 
25
25
  result = rb_funcall2(ary, rb_sym_assess_array_join, argc, argv);
26
- result = rb_funcall(ary, rb_sym_assess_track_array_join, 2, sep, result);
26
+ result = rb_funcall(array_propagator, rb_sym_assess_track_array_join, 3, ary, sep, result);
27
27
 
28
28
  return result;
29
29
  }
30
30
 
31
31
  void Init_cs__assess_array(void) {
32
+ array_propagator = rb_define_class_under(core_assess, "ArrayPropagator", rb_cObject);
32
33
  rb_sym_assess_track_array_join = rb_intern("cs__track_join");
33
34
  rb_sym_assess_array_join = contrast_register_patch("Array",
34
35
  "join",
@@ -1,5 +1,6 @@
1
1
  #include <ruby.h>
2
2
 
3
+ static VALUE array_propagator;
3
4
  static VALUE rb_sym_assess_array_join;
4
5
  static VALUE rb_sym_assess_track_array_join;
5
6
 
@@ -5,14 +5,9 @@
5
5
  #include "../cs__common/cs__common.h"
6
6
  #include <ruby.h>
7
7
 
8
- void contrast_assess_instance_eval_trigger_check(VALUE module, VALUE source,
8
+ void contrast_assess_instance_eval_trigger_check(VALUE self, VALUE source,
9
9
  VALUE ret) {
10
- VALUE has_trigger_check =
11
- rb_respond_to(rb_cBasicObject, instance_trigger_check_method);
12
- if (has_trigger_check) {
13
- rb_funcall(rb_cBasicObject, instance_trigger_check_method, 2, source,
14
- ret);
15
- }
10
+ rb_funcall(basic_eval_trigger, instance_trigger_check_method, 3, self, source, ret);
16
11
  }
17
12
 
18
13
  VALUE
@@ -41,6 +36,7 @@ contrast_assess_basic_object_instance_eval(const int argc, const VALUE *argv,
41
36
  }
42
37
 
43
38
  void Init_cs__assess_basic_object(void) {
39
+ basic_eval_trigger = rb_define_class_under(core_assess, "EvalTrigger", rb_cObject);
44
40
  instance_trigger_check_method = rb_intern("instance_eval_trigger_check");
45
41
 
46
42
  /* We don't keep a reference to the underlying method.
@@ -1,6 +1,7 @@
1
1
  #include <ruby.h>
2
2
 
3
- /* Contrast::Agent::Patching::Policy::Patcher */
3
+ /* Contrast::Extension::Assess::EvalTrigger */
4
+ static VALUE basic_eval_trigger;
4
5
  static VALUE instance_trigger_check_method;
5
6
 
6
7
  void contrast_alias_method(const VALUE target, const char *to,
@@ -24,7 +24,7 @@ contrast_patched_kernel_exec(const int argc, const VALUE *argv,
24
24
  }
25
25
 
26
26
  void Init_cs__assess_kernel(void) {
27
- kernel_propagator = rb_define_module("KernelPropagator");
27
+ kernel_propagator = rb_define_module_under(core_assess, "KernelPropagator");
28
28
  exec_apply_trigger = rb_intern("apply_trigger");
29
29
 
30
30
  rb_sym_assess_kernel_exec = contrast_register_patch("Kernel",
@@ -6,8 +6,6 @@
6
6
  #include <ruby.h>
7
7
 
8
8
  void contrast_assess_eval_trigger_check(VALUE module, VALUE source, VALUE ret) {
9
- VALUE has_trigger_check = rb_respond_to(module, trigger_check_method);
10
-
11
9
  if (RTEST(
12
10
  rb_funcall(contrast_patcher(), rb_sym_skip_contrast_analysis, 0))) {
13
11
  return;
@@ -18,12 +16,12 @@ void contrast_assess_eval_trigger_check(VALUE module, VALUE source, VALUE ret) {
18
16
 
19
17
  rb_funcall(contrast_patcher(), rb_sym_enter_scope, 0);
20
18
 
21
- if (!nested_scope && has_trigger_check) {
19
+ if (!nested_scope) {
22
20
  VALUE method = rb_funcall(rb_mKernel, rb_sym_method, 0);
23
21
  /* If this method ever throws an exception, the scope-leave
24
22
  * needs to be moved within a rescue call.
25
23
  */
26
- rb_funcall(module, trigger_check_method, 3, source, ret, method);
24
+ rb_funcall(module_eval_trigger, trigger_check_method, 4, module, source, ret, method);
27
25
  }
28
26
 
29
27
  rb_funcall(contrast_patcher(), rb_sym_exit_scope, 0);
@@ -59,12 +57,12 @@ contrast_assess_module_module_eval(const int argc, const VALUE *argv,
59
57
  }
60
58
 
61
59
  void Init_cs__assess_module(void) {
62
- rb_sym_assess_patch_eval = rb_intern("patch_assess_on_eval");
60
+ module_eval_trigger = rb_define_class_under(core_assess, "EvalTrigger", rb_cObject);
61
+ trigger_check_method = rb_intern("eval_trigger_check");
63
62
 
63
+ rb_sym_assess_patch_eval = rb_intern("patch_assess_on_eval");
64
64
  assess_patcher = rb_define_module_under(assess_policy, "Patcher");
65
65
 
66
- trigger_check_method = rb_intern("eval_trigger_check");
67
-
68
66
  /* Returns of these 2 patches are discarded.
69
67
  * We're calling the underlying via direct C, instead of
70
68
  * whatever method was there before.
@@ -4,6 +4,9 @@
4
4
  static VALUE assess_patcher;
5
5
 
6
6
  static VALUE rb_sym_assess_patch_eval;
7
+
8
+ /* Contrast::Extension::Assess::EvalTrigger */
9
+ static VALUE module_eval_trigger;
7
10
  static VALUE trigger_check_method;
8
11
 
9
12
  /* c.f. cs__assess_basic_object.c for more context on how eval is patched. */
@@ -134,6 +134,6 @@ void Init_cs__common(void) {
134
134
  assess_policy = rb_define_module_under(assess, "Policy");
135
135
  assess_propagator = rb_define_module_under(assess_policy, "Propagator");
136
136
 
137
- core_extensions = rb_define_module_under(contrast, "CoreExtensions");
137
+ core_extensions = rb_define_module_under(contrast, "Extension");
138
138
  core_assess = rb_define_module_under(core_extensions, "Assess");
139
139
  }
@@ -20,7 +20,7 @@ static VALUE contrast_protect_fork(const int argc, const VALUE *argv,
20
20
  */
21
21
  VALUE wrapper;
22
22
  wrapper =
23
- rb_funcall_with_block(rb_mKernel, rb_sym_protect_kernel_wrapper, 0,
23
+ rb_funcall_with_block(kernel_protect, rb_sym_protect_kernel_wrapper, 0,
24
24
  NULL, rb_block_proc());
25
25
  rb_funcall(rb_mKernel, rb_intern("public"), 1, ID2SYM(rb_sym_protect_kernel_fork));
26
26
  ret = rb_funcall_with_block(self, rb_sym_protect_kernel_fork, argc,
@@ -33,7 +33,9 @@ static VALUE contrast_protect_fork(const int argc, const VALUE *argv,
33
33
  }
34
34
 
35
35
  void Init_cs__protect_kernel(void) {
36
- rb_sym_protect_kernel_wrapper = rb_intern("cs__protect_build_wrapper");
36
+ VALUE core_protect = rb_define_module_under(core_extensions, "Protect");
37
+ kernel_protect = rb_define_module_under(core_protect, "Kernel");
38
+ rb_sym_protect_kernel_wrapper = rb_intern("build_wrapper");
37
39
 
38
40
  rb_sym_protect_kernel_fork = contrast_register_patch("Kernel",
39
41
  "fork",
@@ -2,6 +2,7 @@
2
2
 
3
3
  extern VALUE rb_vm_top_self(void);
4
4
 
5
+ static VALUE kernel_protect;
5
6
  static VALUE rb_sym_protect_kernel_fork;
6
7
  static VALUE rb_sym_protect_kernel_wrapper;
7
8
 
@@ -665,6 +665,7 @@ infodir
665
665
  docdir
666
666
  oldincludedir
667
667
  includedir
668
+ runstatedir
668
669
  localstatedir
669
670
  sharedstatedir
670
671
  sysconfdir
@@ -735,6 +736,7 @@ datadir='${datarootdir}'
735
736
  sysconfdir='${prefix}/etc'
736
737
  sharedstatedir='${prefix}/com'
737
738
  localstatedir='${prefix}/var'
739
+ runstatedir='${localstatedir}/run'
738
740
  includedir='${prefix}/include'
739
741
  oldincludedir='/usr/include'
740
742
  docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -987,6 +989,15 @@ do
987
989
  | -silent | --silent | --silen | --sile | --sil)
988
990
  silent=yes ;;
989
991
 
992
+ -runstatedir | --runstatedir | --runstatedi | --runstated \
993
+ | --runstate | --runstat | --runsta | --runst | --runs \
994
+ | --run | --ru | --r)
995
+ ac_prev=runstatedir ;;
996
+ -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
997
+ | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
998
+ | --run=* | --ru=* | --r=*)
999
+ runstatedir=$ac_optarg ;;
1000
+
990
1001
  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
991
1002
  ac_prev=sbindir ;;
992
1003
  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1124,7 +1135,7 @@ fi
1124
1135
  for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
1125
1136
  datadir sysconfdir sharedstatedir localstatedir includedir \
1126
1137
  oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
1127
- libdir localedir mandir
1138
+ libdir localedir mandir runstatedir
1128
1139
  do
1129
1140
  eval ac_val=\$$ac_var
1130
1141
  # Remove trailing slashes.
@@ -1277,6 +1288,7 @@ Fine tuning of the installation directories:
1277
1288
  --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
1278
1289
  --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
1279
1290
  --localstatedir=DIR modifiable single-machine data [PREFIX/var]
1291
+ --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run]
1280
1292
  --libdir=DIR object code libraries [EPREFIX/lib]
1281
1293
  --includedir=DIR C header files [PREFIX/include]
1282
1294
  --oldincludedir=DIR C header files for non-gcc [/usr/include]
@@ -1,4 +1,4 @@
1
- # This file was generated.
1
+ # This file was generated by Autom4te Sun Aug 20 18:29:13 UTC 2017.
2
2
  # It contains the lists of macros which have been traced.
3
3
  # It can be safely removed.
4
4
 
@@ -7,70 +7,71 @@
7
7
  '0',
8
8
  1,
9
9
  [
10
- '/usr/local/Cellar/autoconf/2.69/share/autoconf'
10
+ '/usr/share/autoconf'
11
11
  ],
12
12
  [
13
- '/usr/local/Cellar/autoconf/2.69/share/autoconf/autoconf/autoconf.m4f',
13
+ '/usr/share/autoconf/autoconf/autoconf.m4f',
14
14
  'configure.ac'
15
15
  ],
16
16
  {
17
- 'AH_OUTPUT' => 1,
18
17
  'AC_CANONICAL_HOST' => 1,
19
- 'AC_CANONICAL_SYSTEM' => 1,
20
- 'AC_DEFINE_TRACE_LITERAL' => 1,
21
- 'AC_CONFIG_HEADERS' => 1,
22
- 'AC_CONFIG_LINKS' => 1,
23
- 'm4_pattern_forbid' => 1,
24
- 'm4_pattern_allow' => 1,
25
- 'LT_INIT' => 1,
26
- 'AM_XGETTEXT_OPTION' => 1,
27
- 'AC_CONFIG_FILES' => 1,
28
- 'AM_PROG_F77_C_O' => 1,
29
- 'm4_include' => 1,
30
18
  'm4_sinclude' => 1,
31
- 'AM_ENABLE_MULTILIB' => 1,
32
- 'AC_SUBST' => 1,
33
- '_AM_SUBST_NOTMAKE' => 1,
34
- 'AM_AUTOMAKE_VERSION' => 1,
35
- '_AM_COND_IF' => 1,
36
- 'LT_SUPPORTED_TAG' => 1,
37
- 'AC_SUBST_TRACE' => 1,
38
- 'AM_SILENT_RULES' => 1,
39
- 'AM_POT_TOOLS' => 1,
40
19
  'AC_LIBSOURCE' => 1,
20
+ 'AC_FC_PP_DEFINE' => 1,
21
+ 'AC_CONFIG_HEADERS' => 1,
41
22
  'AM_GNU_GETTEXT' => 1,
42
- 'LT_CONFIG_LTDL_DIR' => 1,
43
- 'AC_INIT' => 1,
44
- 'AM_PROG_AR' => 1,
45
- '_LT_AC_TAGCONFIG' => 1,
46
- 'AM_PROG_FC_C_O' => 1,
47
- 'AC_PROG_LIBTOOL' => 1,
48
- 'AM_PROG_MOC' => 1,
49
- 'AM_PATH_GUILE' => 1,
50
- 'AC_CONFIG_AUX_DIR' => 1,
23
+ 'AC_FC_PP_SRCEXT' => 1,
24
+ 'AM_SILENT_RULES' => 1,
25
+ 'LT_INIT' => 1,
26
+ 'AC_CONFIG_LIBOBJ_DIR' => 1,
27
+ 'AC_DEFINE_TRACE_LITERAL' => 1,
51
28
  '_AM_MAKEFILE_INCLUDE' => 1,
52
- 'AC_FC_SRCEXT' => 1,
53
- 'AM_MAKEFILE_INCLUDE' => 1,
29
+ 'AC_CANONICAL_TARGET' => 1,
30
+ 'LT_CONFIG_LTDL_DIR' => 1,
31
+ 'LT_SUPPORTED_TAG' => 1,
32
+ 'include' => 1,
54
33
  'sinclude' => 1,
55
- 'AM_CONDITIONAL' => 1,
34
+ 'AH_OUTPUT' => 1,
35
+ 'AM_MAINTAINER_MODE' => 1,
36
+ 'AM_PROG_F77_C_O' => 1,
56
37
  '_AM_COND_ENDIF' => 1,
57
- 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
58
- '_m4_warn' => 1,
59
- 'AC_CONFIG_LIBOBJ_DIR' => 1,
60
38
  'AC_CONFIG_SUBDIRS' => 1,
61
- 'AM_PROG_CC_C_O' => 1,
62
- 'AC_FC_PP_DEFINE' => 1,
39
+ 'AM_POT_TOOLS' => 1,
40
+ 'm4_pattern_forbid' => 1,
41
+ 'AC_PROG_LIBTOOL' => 1,
63
42
  '_AM_COND_ELSE' => 1,
64
- 'AC_FC_PP_SRCEXT' => 1,
65
- 'AM_INIT_AUTOMAKE' => 1,
43
+ 'AM_AUTOMAKE_VERSION' => 1,
44
+ 'AC_SUBST' => 1,
45
+ 'AC_CANONICAL_BUILD' => 1,
46
+ '_AM_COND_IF' => 1,
47
+ 'AC_FC_SRCEXT' => 1,
66
48
  'AC_FC_FREEFORM' => 1,
67
- 'AC_CANONICAL_TARGET' => 1,
49
+ 'm4_pattern_allow' => 1,
50
+ '_m4_warn' => 1,
51
+ 'AM_PROG_CC_C_O' => 1,
52
+ 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
53
+ 'AC_REQUIRE_AUX_FILE' => 1,
54
+ 'AC_CONFIG_LINKS' => 1,
55
+ 'AM_ENABLE_MULTILIB' => 1,
68
56
  'AM_PROG_CXX_C_O' => 1,
69
- 'AM_MAINTAINER_MODE' => 1,
57
+ 'AC_CONFIG_FILES' => 1,
70
58
  'AM_NLS' => 1,
71
- 'AC_CANONICAL_BUILD' => 1,
72
- 'include' => 1,
73
- 'AC_REQUIRE_AUX_FILE' => 1
59
+ 'AM_PROG_FC_C_O' => 1,
60
+ 'AM_INIT_AUTOMAKE' => 1,
61
+ 'm4_include' => 1,
62
+ 'AM_PROG_AR' => 1,
63
+ 'AC_CANONICAL_SYSTEM' => 1,
64
+ 'AM_PROG_LIBTOOL' => 1,
65
+ '_AM_SUBST_NOTMAKE' => 1,
66
+ '_LT_AC_TAGCONFIG' => 1,
67
+ 'AC_CONFIG_AUX_DIR' => 1,
68
+ 'AM_CONDITIONAL' => 1,
69
+ 'AM_MAKEFILE_INCLUDE' => 1,
70
+ 'AC_SUBST_TRACE' => 1,
71
+ 'AC_INIT' => 1,
72
+ 'AM_PROG_MOC' => 1,
73
+ 'AM_XGETTEXT_OPTION' => 1,
74
+ 'AM_PATH_GUILE' => 1
74
75
  }
75
76
  ], 'Autom4te::Request' )
76
77
  );
@@ -63,6 +63,9 @@ m4trace:configure.ac:1: -1- m4_pattern_allow([^sharedstatedir$])
63
63
  m4trace:configure.ac:1: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
64
64
  m4trace:configure.ac:1: -1- AC_SUBST_TRACE([localstatedir])
65
65
  m4trace:configure.ac:1: -1- m4_pattern_allow([^localstatedir$])
66
+ m4trace:configure.ac:1: -1- AC_SUBST([runstatedir], ['${localstatedir}/run'])
67
+ m4trace:configure.ac:1: -1- AC_SUBST_TRACE([runstatedir])
68
+ m4trace:configure.ac:1: -1- m4_pattern_allow([^runstatedir$])
66
69
  m4trace:configure.ac:1: -1- AC_SUBST([includedir], ['${prefix}/include'])
67
70
  m4trace:configure.ac:1: -1- AC_SUBST_TRACE([includedir])
68
71
  m4trace:configure.ac:1: -1- m4_pattern_allow([^includedir$])
@@ -10,118 +10,109 @@ generated by GNU Autoconf 2.69. Invocation command line was
10
10
  ## Platform. ##
11
11
  ## --------- ##
12
12
 
13
- hostname = donalds-mbp-2.lan
13
+ hostname = c2acabae-7c10-4594-b705-351cc6dcb172-l42f9
14
14
  uname -m = x86_64
15
- uname -r = 18.6.0
16
- uname -s = Darwin
17
- uname -v = Darwin Kernel Version 18.6.0: Thu Apr 25 23:16:27 PDT 2019; root:xnu-4903.261.4~2/RELEASE_X86_64
15
+ uname -r = 4.19.107-flatcar
16
+ uname -s = Linux
17
+ uname -v = #1 SMP Thu Mar 26 19:48:36 -00 2020
18
18
 
19
- /usr/bin/uname -p = i386
19
+ /usr/bin/uname -p = unknown
20
20
  /bin/uname -X = unknown
21
21
 
22
22
  /bin/arch = unknown
23
23
  /usr/bin/arch -k = unknown
24
24
  /usr/convex/getsysinfo = unknown
25
- /usr/bin/hostinfo = Mach kernel version:
26
- Darwin Kernel Version 18.6.0: Thu Apr 25 23:16:27 PDT 2019; root:xnu-4903.261.4~2/RELEASE_X86_64
27
- Kernel configured for up to 16 processors.
28
- 8 processors are physically available.
29
- 16 processors are logically available.
30
- Processor type: x86_64h (Intel x86-64h Haswell)
31
- Processors active: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
32
- Primary memory available: 32.00 gigabytes
33
- Default processor set: 506 tasks, 2871 threads, 16 processors
34
- Load average: 3.38, Mach factor: 12.60
25
+ /usr/bin/hostinfo = unknown
35
26
  /bin/machine = unknown
36
27
  /usr/bin/oslevel = unknown
37
28
  /bin/universe = unknown
38
29
 
39
- PATH: /Users/donaldpropst/.rvm/gems/ruby-2.6.5@agent/bin
40
- PATH: /Users/donaldpropst/.rvm/gems/ruby-2.6.5@global/bin
41
- PATH: /Users/donaldpropst/.rvm/rubies/ruby-2.6.5/bin
42
- PATH: /Users/donaldpropst/.yarn/bin
43
- PATH: /Library/Frameworks/Python.framework/Versions/3.8/bin
30
+ PATH: /usr/local/bundle/bin
31
+ PATH: /usr/local/sbin
44
32
  PATH: /usr/local/bin
45
- PATH: /usr/bin
46
- PATH: /bin
47
33
  PATH: /usr/sbin
34
+ PATH: /usr/bin
48
35
  PATH: /sbin
49
- PATH: /Users/donaldpropst/go
50
- PATH: /usr/local/go/bin
51
- PATH: /Users/donaldpropst/.rvm/bin
36
+ PATH: /bin
52
37
 
53
38
 
54
39
  ## ----------- ##
55
40
  ## Core tests. ##
56
41
  ## ----------- ##
57
42
 
58
- configure:2263: checking for gcc
59
- configure:2279: found /usr/bin/gcc
60
- configure:2290: result: gcc
61
- configure:2519: checking for C compiler version
62
- configure:2528: gcc --version >&5
63
- Apple LLVM version 10.0.1 (clang-1001.0.46.4)
64
- Target: x86_64-apple-darwin18.6.0
65
- Thread model: posix
66
- InstalledDir: /Library/Developer/CommandLineTools/usr/bin
67
- Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1
68
- configure:2539: $? = 0
69
- configure:2528: gcc -v >&5
70
- Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/Library/Developer/CommandLineTools/SDKs/MacOSX10.14.sdk/usr/include/c++/4.2.1
71
- Apple LLVM version 10.0.1 (clang-1001.0.46.4)
72
- Target: x86_64-apple-darwin18.6.0
43
+ configure:2271: checking for gcc
44
+ configure:2287: found /usr/bin/gcc
45
+ configure:2298: result: gcc
46
+ configure:2527: checking for C compiler version
47
+ configure:2536: gcc --version >&5
48
+ gcc (Debian 8.3.0-6) 8.3.0
49
+ Copyright (C) 2018 Free Software Foundation, Inc.
50
+ This is free software; see the source for copying conditions. There is NO
51
+ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
52
+
53
+ configure:2547: $? = 0
54
+ configure:2536: gcc -v >&5
55
+ Using built-in specs.
56
+ COLLECT_GCC=gcc
57
+ COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper
58
+ OFFLOAD_TARGET_NAMES=nvptx-none
59
+ OFFLOAD_TARGET_DEFAULT=1
60
+ Target: x86_64-linux-gnu
61
+ Configured with: ../src/configure -v --with-pkgversion='Debian 8.3.0-6' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
73
62
  Thread model: posix
74
- InstalledDir: /Library/Developer/CommandLineTools/usr/bin
75
- configure:2539: $? = 0
76
- configure:2528: gcc -V >&5
77
- clang: error: unsupported option '-V -Wno-atomic-implicit-seq-cst'
78
- clang: error: no input files
79
- configure:2539: $? = 1
80
- configure:2528: gcc -qversion >&5
81
- clang: error: unknown argument '-qversion', did you mean '--version'?
82
- clang: error: no input files
83
- configure:2539: $? = 1
84
- configure:2559: checking whether the C compiler works
85
- configure:2581: gcc conftest.c >&5
86
- configure:2585: $? = 0
87
- configure:2633: result: yes
88
- configure:2636: checking for C compiler default output file name
89
- configure:2638: result: a.out
90
- configure:2644: checking for suffix of executables
91
- configure:2651: gcc -o conftest conftest.c >&5
92
- configure:2655: $? = 0
93
- configure:2677: result:
94
- configure:2699: checking whether we are cross compiling
95
- configure:2707: gcc -o conftest conftest.c >&5
96
- configure:2711: $? = 0
97
- configure:2718: ./conftest
98
- configure:2722: $? = 0
99
- configure:2737: result: no
100
- configure:2742: checking for suffix of object files
101
- configure:2764: gcc -c conftest.c >&5
102
- configure:2768: $? = 0
103
- configure:2789: result: o
104
- configure:2793: checking whether we are using the GNU C compiler
105
- configure:2812: gcc -c conftest.c >&5
106
- configure:2812: $? = 0
107
- configure:2821: result: yes
108
- configure:2830: checking whether gcc accepts -g
109
- configure:2850: gcc -c -g conftest.c >&5
110
- configure:2850: $? = 0
111
- configure:2891: result: yes
112
- configure:2908: checking for gcc option to accept ISO C89
113
- configure:2971: gcc -c -g -O2 conftest.c >&5
114
- configure:2971: $? = 0
115
- configure:2984: result: none needed
116
- configure:3010: checking how to run the C preprocessor
117
- configure:3041: gcc -E conftest.c
118
- configure:3041: $? = 0
119
- configure:3055: gcc -E conftest.c
120
- conftest.c:9:10: fatal error: 'ac_nonexistent.h' file not found
121
- #include <ac_nonexistent.h>
122
- ^~~~~~~~~~~~~~~~~~
123
- 1 error generated.
124
- configure:3055: $? = 1
63
+ gcc version 8.3.0 (Debian 8.3.0-6)
64
+ configure:2547: $? = 0
65
+ configure:2536: gcc -V >&5
66
+ gcc: error: unrecognized command line option '-V'
67
+ gcc: fatal error: no input files
68
+ compilation terminated.
69
+ configure:2547: $? = 1
70
+ configure:2536: gcc -qversion >&5
71
+ gcc: error: unrecognized command line option '-qversion'; did you mean '--version'?
72
+ gcc: fatal error: no input files
73
+ compilation terminated.
74
+ configure:2547: $? = 1
75
+ configure:2567: checking whether the C compiler works
76
+ configure:2589: gcc conftest.c >&5
77
+ configure:2593: $? = 0
78
+ configure:2641: result: yes
79
+ configure:2644: checking for C compiler default output file name
80
+ configure:2646: result: a.out
81
+ configure:2652: checking for suffix of executables
82
+ configure:2659: gcc -o conftest conftest.c >&5
83
+ configure:2663: $? = 0
84
+ configure:2685: result:
85
+ configure:2707: checking whether we are cross compiling
86
+ configure:2715: gcc -o conftest conftest.c >&5
87
+ configure:2719: $? = 0
88
+ configure:2726: ./conftest
89
+ configure:2730: $? = 0
90
+ configure:2718: result: no
91
+ configure:2723: checking for suffix of object files
92
+ configure:2745: gcc -c conftest.c >&5
93
+ configure:2749: $? = 0
94
+ configure:2770: result: o
95
+ configure:2774: checking whether we are using the GNU C compiler
96
+ configure:2793: gcc -c conftest.c >&5
97
+ configure:2793: $? = 0
98
+ configure:2802: result: yes
99
+ configure:2811: checking whether gcc accepts -g
100
+ configure:2831: gcc -c -g conftest.c >&5
101
+ configure:2831: $? = 0
102
+ configure:2872: result: yes
103
+ configure:2889: checking for gcc option to accept ISO C89
104
+ configure:2952: gcc -c -g -O2 conftest.c >&5
105
+ configure:2952: $? = 0
106
+ configure:2965: result: none needed
107
+ configure:2991: checking how to run the C preprocessor
108
+ configure:3022: gcc -E conftest.c
109
+ configure:3022: $? = 0
110
+ configure:3036: gcc -E conftest.c
111
+ conftest.c:9:10: fatal error: ac_nonexistent.h: No such file or directory
112
+ #include <ac_nonexistent.h>
113
+ ^~~~~~~~~~~~~~~~~~
114
+ compilation terminated.
115
+ configure:3036: $? = 1
125
116
  configure: failed program was:
126
117
  | /* confdefs.h */
127
118
  | #define PACKAGE_NAME "funchook"
@@ -132,15 +123,15 @@ configure: failed program was:
132
123
  | #define PACKAGE_URL ""
133
124
  | /* end confdefs.h. */
134
125
  | #include <ac_nonexistent.h>
135
- configure:3080: result: gcc -E
136
- configure:3100: gcc -E conftest.c
137
- configure:3100: $? = 0
138
- configure:3114: gcc -E conftest.c
139
- conftest.c:9:10: fatal error: 'ac_nonexistent.h' file not found
140
- #include <ac_nonexistent.h>
141
- ^~~~~~~~~~~~~~~~~~
142
- 1 error generated.
143
- configure:3114: $? = 1
126
+ configure:3061: result: gcc -E
127
+ configure:3081: gcc -E conftest.c
128
+ configure:3081: $? = 0
129
+ configure:3095: gcc -E conftest.c
130
+ conftest.c:9:10: fatal error: ac_nonexistent.h: No such file or directory
131
+ #include <ac_nonexistent.h>
132
+ ^~~~~~~~~~~~~~~~~~
133
+ compilation terminated.
134
+ configure:3095: $? = 1
144
135
  configure: failed program was:
145
136
  | /* confdefs.h */
146
137
  | #define PACKAGE_NAME "funchook"
@@ -151,61 +142,61 @@ configure: failed program was:
151
142
  | #define PACKAGE_URL ""
152
143
  | /* end confdefs.h. */
153
144
  | #include <ac_nonexistent.h>
154
- configure:3143: checking for grep that handles long lines and -e
155
- configure:3201: result: /usr/bin/grep
156
- configure:3206: checking for egrep
157
- configure:3268: result: /usr/bin/grep -E
158
- configure:3273: checking for ANSI C header files
159
- configure:3293: gcc -c -g -O2 conftest.c >&5
160
- configure:3293: $? = 0
161
- configure:3366: gcc -o conftest -g -O2 conftest.c >&5
162
- configure:3366: $? = 0
163
- configure:3366: ./conftest
164
- configure:3366: $? = 0
165
- configure:3377: result: yes
166
- configure:3390: checking for sys/types.h
167
- configure:3390: gcc -c -g -O2 conftest.c >&5
168
- configure:3390: $? = 0
169
- configure:3390: result: yes
170
- configure:3390: checking for sys/stat.h
171
- configure:3390: gcc -c -g -O2 conftest.c >&5
172
- configure:3390: $? = 0
173
- configure:3390: result: yes
174
- configure:3390: checking for stdlib.h
175
- configure:3390: gcc -c -g -O2 conftest.c >&5
176
- configure:3390: $? = 0
177
- configure:3390: result: yes
178
- configure:3390: checking for string.h
179
- configure:3390: gcc -c -g -O2 conftest.c >&5
180
- configure:3390: $? = 0
181
- configure:3390: result: yes
182
- configure:3390: checking for memory.h
183
- configure:3390: gcc -c -g -O2 conftest.c >&5
184
- configure:3390: $? = 0
185
- configure:3390: result: yes
186
- configure:3390: checking for strings.h
187
- configure:3390: gcc -c -g -O2 conftest.c >&5
188
- configure:3390: $? = 0
189
- configure:3390: result: yes
190
- configure:3390: checking for inttypes.h
191
- configure:3390: gcc -c -g -O2 conftest.c >&5
192
- configure:3390: $? = 0
193
- configure:3390: result: yes
194
- configure:3390: checking for stdint.h
195
- configure:3390: gcc -c -g -O2 conftest.c >&5
196
- configure:3390: $? = 0
197
- configure:3390: result: yes
198
- configure:3390: checking for unistd.h
199
- configure:3390: gcc -c -g -O2 conftest.c >&5
200
- configure:3390: $? = 0
201
- configure:3390: result: yes
202
- configure:3403: checking minix/config.h usability
203
- configure:3403: gcc -c -g -O2 conftest.c >&5
204
- conftest.c:52:10: fatal error: 'minix/config.h' file not found
205
- #include <minix/config.h>
206
- ^~~~~~~~~~~~~~~~
207
- 1 error generated.
208
- configure:3403: $? = 1
145
+ configure:3124: checking for grep that handles long lines and -e
146
+ configure:3182: result: /bin/grep
147
+ configure:3187: checking for egrep
148
+ configure:3249: result: /bin/grep -E
149
+ configure:3254: checking for ANSI C header files
150
+ configure:3274: gcc -c -g -O2 conftest.c >&5
151
+ configure:3274: $? = 0
152
+ configure:3347: gcc -o conftest -g -O2 conftest.c >&5
153
+ configure:3347: $? = 0
154
+ configure:3347: ./conftest
155
+ configure:3347: $? = 0
156
+ configure:3358: result: yes
157
+ configure:3371: checking for sys/types.h
158
+ configure:3371: gcc -c -g -O2 conftest.c >&5
159
+ configure:3371: $? = 0
160
+ configure:3371: result: yes
161
+ configure:3371: checking for sys/stat.h
162
+ configure:3371: gcc -c -g -O2 conftest.c >&5
163
+ configure:3371: $? = 0
164
+ configure:3371: result: yes
165
+ configure:3371: checking for stdlib.h
166
+ configure:3371: gcc -c -g -O2 conftest.c >&5
167
+ configure:3371: $? = 0
168
+ configure:3371: result: yes
169
+ configure:3371: checking for string.h
170
+ configure:3371: gcc -c -g -O2 conftest.c >&5
171
+ configure:3371: $? = 0
172
+ configure:3371: result: yes
173
+ configure:3371: checking for memory.h
174
+ configure:3371: gcc -c -g -O2 conftest.c >&5
175
+ configure:3371: $? = 0
176
+ configure:3371: result: yes
177
+ configure:3371: checking for strings.h
178
+ configure:3371: gcc -c -g -O2 conftest.c >&5
179
+ configure:3371: $? = 0
180
+ configure:3371: result: yes
181
+ configure:3371: checking for inttypes.h
182
+ configure:3371: gcc -c -g -O2 conftest.c >&5
183
+ configure:3371: $? = 0
184
+ configure:3371: result: yes
185
+ configure:3371: checking for stdint.h
186
+ configure:3371: gcc -c -g -O2 conftest.c >&5
187
+ configure:3371: $? = 0
188
+ configure:3371: result: yes
189
+ configure:3371: checking for unistd.h
190
+ configure:3371: gcc -c -g -O2 conftest.c >&5
191
+ configure:3371: $? = 0
192
+ configure:3371: result: yes
193
+ configure:3384: checking minix/config.h usability
194
+ configure:3384: gcc -c -g -O2 conftest.c >&5
195
+ conftest.c:52:10: fatal error: minix/config.h: No such file or directory
196
+ #include <minix/config.h>
197
+ ^~~~~~~~~~~~~~~~
198
+ compilation terminated.
199
+ configure:3384: $? = 1
209
200
  configure: failed program was:
210
201
  | /* confdefs.h */
211
202
  | #define PACKAGE_NAME "funchook"
@@ -259,14 +250,14 @@ configure: failed program was:
259
250
  | # include <unistd.h>
260
251
  | #endif
261
252
  | #include <minix/config.h>
262
- configure:3403: result: no
263
- configure:3403: checking minix/config.h presence
264
- configure:3403: gcc -E conftest.c
265
- conftest.c:19:10: fatal error: 'minix/config.h' file not found
266
- #include <minix/config.h>
267
- ^~~~~~~~~~~~~~~~
268
- 1 error generated.
269
- configure:3403: $? = 1
253
+ configure:3384: result: no
254
+ configure:3384: checking minix/config.h presence
255
+ configure:3384: gcc -E conftest.c
256
+ conftest.c:19:10: fatal error: minix/config.h: No such file or directory
257
+ #include <minix/config.h>
258
+ ^~~~~~~~~~~~~~~~
259
+ compilation terminated.
260
+ configure:3384: $? = 1
270
261
  configure: failed program was:
271
262
  | /* confdefs.h */
272
263
  | #define PACKAGE_NAME "funchook"
@@ -287,193 +278,40 @@ configure: failed program was:
287
278
  | #define HAVE_UNISTD_H 1
288
279
  | /* end confdefs.h. */
289
280
  | #include <minix/config.h>
290
- configure:3403: result: no
291
- configure:3403: checking for minix/config.h
292
- configure:3403: result: no
293
- configure:3424: checking whether it is safe to define __EXTENSIONS__
294
- configure:3442: gcc -c -g -O2 conftest.c >&5
295
- configure:3442: $? = 0
296
- configure:3449: result: yes
297
- configure:3497: checking build system type
298
- configure:3511: result: x86_64-apple-darwin18.6.0
299
- configure:3531: checking host system type
300
- configure:3544: result: x86_64-apple-darwin18.6.0
301
- configure:3573: checking size of void*
302
- configure:3578: gcc -o conftest -g -O2 -Wall -fvisibility=hidden conftest.c >&5
303
- configure:3578: $? = 0
304
- configure:3578: ./conftest
305
- configure:3578: $? = 0
306
- configure:3592: result: 8
307
- configure:3636: checking whether _sys_nerr is declared
308
- configure:3636: gcc -c -g -O2 -Wall -fvisibility=hidden conftest.c >&5
309
- conftest.c:65:10: error: use of undeclared identifier '_sys_nerr'
310
- (void) _sys_nerr;
311
- ^
312
- 1 error generated.
313
- configure:3636: $? = 1
314
- configure: failed program was:
315
- | /* confdefs.h */
316
- | #define PACKAGE_NAME "funchook"
317
- | #define PACKAGE_TARNAME "funchook"
318
- | #define PACKAGE_VERSION "0.1"
319
- | #define PACKAGE_STRING "funchook 0.1"
320
- | #define PACKAGE_BUGREPORT ""
321
- | #define PACKAGE_URL ""
322
- | #define STDC_HEADERS 1
323
- | #define HAVE_SYS_TYPES_H 1
324
- | #define HAVE_SYS_STAT_H 1
325
- | #define HAVE_STDLIB_H 1
326
- | #define HAVE_STRING_H 1
327
- | #define HAVE_MEMORY_H 1
328
- | #define HAVE_STRINGS_H 1
329
- | #define HAVE_INTTYPES_H 1
330
- | #define HAVE_STDINT_H 1
331
- | #define HAVE_UNISTD_H 1
332
- | #define __EXTENSIONS__ 1
333
- | #define _ALL_SOURCE 1
334
- | #define _GNU_SOURCE 1
335
- | #define _POSIX_PTHREAD_SEMANTICS 1
336
- | #define _TANDEM_SOURCE 1
337
- | #define SIZEOF_VOIDP 8
338
- | /* end confdefs.h. */
339
- | #include <stdio.h>
340
- | #ifdef HAVE_SYS_TYPES_H
341
- | # include <sys/types.h>
342
- | #endif
343
- | #ifdef HAVE_SYS_STAT_H
344
- | # include <sys/stat.h>
345
- | #endif
346
- | #ifdef STDC_HEADERS
347
- | # include <stdlib.h>
348
- | # include <stddef.h>
349
- | #else
350
- | # ifdef HAVE_STDLIB_H
351
- | # include <stdlib.h>
352
- | # endif
353
- | #endif
354
- | #ifdef HAVE_STRING_H
355
- | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
356
- | # include <memory.h>
357
- | # endif
358
- | # include <string.h>
359
- | #endif
360
- | #ifdef HAVE_STRINGS_H
361
- | # include <strings.h>
362
- | #endif
363
- | #ifdef HAVE_INTTYPES_H
364
- | # include <inttypes.h>
365
- | #endif
366
- | #ifdef HAVE_STDINT_H
367
- | # include <stdint.h>
368
- | #endif
369
- | #ifdef HAVE_UNISTD_H
370
- | # include <unistd.h>
371
- | #endif
372
- | int
373
- | main ()
374
- | {
375
- | #ifndef _sys_nerr
376
- | #ifdef __cplusplus
377
- | (void) _sys_nerr;
378
- | #else
379
- | (void) _sys_nerr;
380
- | #endif
381
- | #endif
382
- |
383
- | ;
384
- | return 0;
385
- | }
386
- configure:3636: result: no
387
- configure:3646: checking whether _sys_errlist is declared
388
- configure:3646: gcc -c -g -O2 -Wall -fvisibility=hidden conftest.c >&5
389
- conftest.c:66:10: error: use of undeclared identifier '_sys_errlist'
390
- (void) _sys_errlist;
391
- ^
392
- 1 error generated.
393
- configure:3646: $? = 1
394
- configure: failed program was:
395
- | /* confdefs.h */
396
- | #define PACKAGE_NAME "funchook"
397
- | #define PACKAGE_TARNAME "funchook"
398
- | #define PACKAGE_VERSION "0.1"
399
- | #define PACKAGE_STRING "funchook 0.1"
400
- | #define PACKAGE_BUGREPORT ""
401
- | #define PACKAGE_URL ""
402
- | #define STDC_HEADERS 1
403
- | #define HAVE_SYS_TYPES_H 1
404
- | #define HAVE_SYS_STAT_H 1
405
- | #define HAVE_STDLIB_H 1
406
- | #define HAVE_STRING_H 1
407
- | #define HAVE_MEMORY_H 1
408
- | #define HAVE_STRINGS_H 1
409
- | #define HAVE_INTTYPES_H 1
410
- | #define HAVE_STDINT_H 1
411
- | #define HAVE_UNISTD_H 1
412
- | #define __EXTENSIONS__ 1
413
- | #define _ALL_SOURCE 1
414
- | #define _GNU_SOURCE 1
415
- | #define _POSIX_PTHREAD_SEMANTICS 1
416
- | #define _TANDEM_SOURCE 1
417
- | #define SIZEOF_VOIDP 8
418
- | #define HAVE_DECL__SYS_NERR 0
419
- | /* end confdefs.h. */
420
- | #include <stdio.h>
421
- | #ifdef HAVE_SYS_TYPES_H
422
- | # include <sys/types.h>
423
- | #endif
424
- | #ifdef HAVE_SYS_STAT_H
425
- | # include <sys/stat.h>
426
- | #endif
427
- | #ifdef STDC_HEADERS
428
- | # include <stdlib.h>
429
- | # include <stddef.h>
430
- | #else
431
- | # ifdef HAVE_STDLIB_H
432
- | # include <stdlib.h>
433
- | # endif
434
- | #endif
435
- | #ifdef HAVE_STRING_H
436
- | # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
437
- | # include <memory.h>
438
- | # endif
439
- | # include <string.h>
440
- | #endif
441
- | #ifdef HAVE_STRINGS_H
442
- | # include <strings.h>
443
- | #endif
444
- | #ifdef HAVE_INTTYPES_H
445
- | # include <inttypes.h>
446
- | #endif
447
- | #ifdef HAVE_STDINT_H
448
- | # include <stdint.h>
449
- | #endif
450
- | #ifdef HAVE_UNISTD_H
451
- | # include <unistd.h>
452
- | #endif
453
- | int
454
- | main ()
455
- | {
456
- | #ifndef _sys_errlist
457
- | #ifdef __cplusplus
458
- | (void) _sys_errlist;
459
- | #else
460
- | (void) _sys_errlist;
461
- | #endif
462
- | #endif
463
- |
464
- | ;
465
- | return 0;
466
- | }
467
- configure:3646: result: no
468
- configure:3656: checking whether sys_nerr is declared
469
- configure:3656: gcc -c -g -O2 -Wall -fvisibility=hidden conftest.c >&5
470
- configure:3656: $? = 0
471
- configure:3656: result: yes
472
- configure:3666: checking whether sys_errlist is declared
473
- configure:3666: gcc -c -g -O2 -Wall -fvisibility=hidden conftest.c >&5
474
- configure:3666: $? = 0
475
- configure:3666: result: yes
476
- configure:3805: creating ./config.status
281
+ configure:3384: result: no
282
+ configure:3384: checking for minix/config.h
283
+ configure:3384: result: no
284
+ configure:3405: checking whether it is safe to define __EXTENSIONS__
285
+ configure:3423: gcc -c -g -O2 conftest.c >&5
286
+ configure:3423: $? = 0
287
+ configure:3430: result: yes
288
+ configure:3478: checking build system type
289
+ configure:3492: result: x86_64-unknown-linux-gnu
290
+ configure:3512: checking host system type
291
+ configure:3525: result: x86_64-unknown-linux-gnu
292
+ configure:3554: checking size of void*
293
+ configure:3559: gcc -o conftest -g -O2 -Wall -fvisibility=hidden conftest.c >&5
294
+ configure:3559: $? = 0
295
+ configure:3559: ./conftest
296
+ configure:3559: $? = 0
297
+ configure:3573: result: 8
298
+ configure:3617: checking whether _sys_nerr is declared
299
+ configure:3617: gcc -c -g -O2 -Wall -fvisibility=hidden conftest.c >&5
300
+ configure:3617: $? = 0
301
+ configure:3617: result: yes
302
+ configure:3627: checking whether _sys_errlist is declared
303
+ configure:3627: gcc -c -g -O2 -Wall -fvisibility=hidden conftest.c >&5
304
+ configure:3627: $? = 0
305
+ configure:3627: result: yes
306
+ configure:3637: checking whether sys_nerr is declared
307
+ configure:3637: gcc -c -g -O2 -Wall -fvisibility=hidden conftest.c >&5
308
+ configure:3637: $? = 0
309
+ configure:3637: result: yes
310
+ configure:3647: checking whether sys_errlist is declared
311
+ configure:3647: gcc -c -g -O2 -Wall -fvisibility=hidden conftest.c >&5
312
+ configure:3647: $? = 0
313
+ configure:3647: result: yes
314
+ configure:3778: creating ./config.status
477
315
 
478
316
  ## ---------------------- ##
479
317
  ## Running config.status. ##
@@ -488,18 +326,18 @@ generated by GNU Autoconf 2.69. Invocation command line was
488
326
  CONFIG_COMMANDS =
489
327
  $ ./config.status
490
328
 
491
- on donalds-mbp-2.lan
329
+ on c2acabae-7c10-4594-b705-351cc6dcb172-l42f9
492
330
 
493
- config.status:825: creating Makefile
494
- config.status:825: creating src/Makefile
495
- config.status:825: creating test/Makefile
496
- config.status:825: creating src/config.h
331
+ config.status:822: creating Makefile
332
+ config.status:822: creating src/Makefile
333
+ config.status:822: creating test/Makefile
334
+ config.status:822: creating src/config.h
497
335
 
498
336
  ## ---------------- ##
499
337
  ## Cache variables. ##
500
338
  ## ---------------- ##
501
339
 
502
- ac_cv_build=x86_64-apple-darwin18.6.0
340
+ ac_cv_build=x86_64-unknown-linux-gnu
503
341
  ac_cv_c_compiler_gnu=yes
504
342
  ac_cv_env_CC_set=
505
343
  ac_cv_env_CC_value=
@@ -519,8 +357,8 @@ ac_cv_env_host_alias_set=
519
357
  ac_cv_env_host_alias_value=
520
358
  ac_cv_env_target_alias_set=
521
359
  ac_cv_env_target_alias_value=
522
- ac_cv_have_decl__sys_errlist=no
523
- ac_cv_have_decl__sys_nerr=no
360
+ ac_cv_have_decl__sys_errlist=yes
361
+ ac_cv_have_decl__sys_nerr=yes
524
362
  ac_cv_have_decl_sys_errlist=yes
525
363
  ac_cv_have_decl_sys_nerr=yes
526
364
  ac_cv_header_inttypes_h=yes
@@ -534,10 +372,10 @@ ac_cv_header_strings_h=yes
534
372
  ac_cv_header_sys_stat_h=yes
535
373
  ac_cv_header_sys_types_h=yes
536
374
  ac_cv_header_unistd_h=yes
537
- ac_cv_host=x86_64-apple-darwin18.6.0
375
+ ac_cv_host=x86_64-unknown-linux-gnu
538
376
  ac_cv_objext=o
539
- ac_cv_path_EGREP='/usr/bin/grep -E'
540
- ac_cv_path_GREP=/usr/bin/grep
377
+ ac_cv_path_EGREP='/bin/grep -E'
378
+ ac_cv_path_GREP=/bin/grep
541
379
  ac_cv_prog_CPP='gcc -E'
542
380
  ac_cv_prog_ac_ct_CC=gcc
543
381
  ac_cv_prog_cc_c89=
@@ -554,21 +392,21 @@ CFLAGS='-g -O2 -Wall -fvisibility=hidden'
554
392
  CPP='gcc -E'
555
393
  CPPFLAGS=''
556
394
  DEFS='-DHAVE_CONFIG_H'
557
- ECHO_C='\c'
558
- ECHO_N=''
395
+ ECHO_C=''
396
+ ECHO_N='-n'
559
397
  ECHO_T=''
560
- EGREP='/usr/bin/grep -E'
398
+ EGREP='/bin/grep -E'
561
399
  EXEEXT=''
562
400
  FUNCHOOK_CPU='x86_64'
563
401
  FUNCHOOK_OS='unix'
564
- GREP='/usr/bin/grep'
565
- IF_LINUX='#'
566
- IF_OSX=''
402
+ GREP='/bin/grep'
403
+ IF_LINUX=''
404
+ IF_OSX='#'
567
405
  IF_WIN32='#'
568
406
  LDFLAGS=''
569
- LIBFUNCHOOK_SO='libfunchook.dylib'
407
+ LIBFUNCHOOK_SO='libfunchook.so'
570
408
  LIBOBJS=''
571
- LIBS=''
409
+ LIBS='-ldl'
572
410
  LINK_SHARED='$(CC) -shared'
573
411
  LTLIBOBJS=''
574
412
  OBJEXT='o'
@@ -580,24 +418,24 @@ PACKAGE_URL=''
580
418
  PACKAGE_VERSION='0.1'
581
419
  PATH_SEPARATOR=':'
582
420
  PIC_CFLAGS='-fPIC'
583
- SHELL='/bin/sh'
421
+ SHELL='/bin/bash'
584
422
  ac_ct_CC='gcc'
585
423
  bindir='${exec_prefix}/bin'
586
- build='x86_64-apple-darwin18.6.0'
424
+ build='x86_64-unknown-linux-gnu'
587
425
  build_alias=''
588
426
  build_cpu='x86_64'
589
- build_os='darwin18.6.0'
590
- build_vendor='apple'
427
+ build_os='linux-gnu'
428
+ build_vendor='unknown'
591
429
  datadir='${datarootdir}'
592
430
  datarootdir='${prefix}/share'
593
431
  docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
594
432
  dvidir='${docdir}'
595
433
  exec_prefix='${prefix}'
596
- host='x86_64-apple-darwin18.6.0'
434
+ host='x86_64-unknown-linux-gnu'
597
435
  host_alias=''
598
436
  host_cpu='x86_64'
599
- host_os='darwin18.6.0'
600
- host_vendor='apple'
437
+ host_os='linux-gnu'
438
+ host_vendor='unknown'
601
439
  htmldir='${docdir}'
602
440
  includedir='${prefix}/include'
603
441
  infodir='${datarootdir}/info'
@@ -611,6 +449,7 @@ pdfdir='${docdir}'
611
449
  prefix='/usr/local'
612
450
  program_transform_name='s,x,x,'
613
451
  psdir='${docdir}'
452
+ runstatedir='${localstatedir}/run'
614
453
  sbindir='${exec_prefix}/sbin'
615
454
  sharedstatedir='${prefix}/com'
616
455
  sysconfdir='${prefix}/etc'
@@ -643,8 +482,8 @@ target_alias=''
643
482
  #define _POSIX_PTHREAD_SEMANTICS 1
644
483
  #define _TANDEM_SOURCE 1
645
484
  #define SIZEOF_VOIDP 8
646
- #define HAVE_DECL__SYS_NERR 0
647
- #define HAVE_DECL__SYS_ERRLIST 0
485
+ #define HAVE_DECL__SYS_NERR 1
486
+ #define HAVE_DECL__SYS_ERRLIST 1
648
487
  #define HAVE_DECL_SYS_NERR 1
649
488
  #define HAVE_DECL_SYS_ERRLIST 1
650
489