File: test-storage-coll-0.8.3

package info (click to toggle)
sigscheme 0.9.1-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 8,660 kB
  • sloc: lisp: 37,498; ansic: 31,109; sh: 4,368; makefile: 741; asm: 333; ruby: 290
file content (55 lines) | stat: -rw-r--r-- 2,161 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
Description: Upstream changes by gniibe to fix FTBFS on alpha and hppa
 Note that files of *-coll.c are generated files,
 we should change original too.
 On hppa, it failed with 0xdeadbeef or something like that:
   Program received signal SIGSEGV, Segmentation fault.
   0x00013f0c in __canonicalize_funcptr_for_compare ()
Author: NIIBE Yutaka <gniibe@fsij.org>
Last-Update: 2020-08-25
Forwarded: https://github.com/uim/sigscheme/issues/10

Index: sigscheme-0.8.5/test-c/test-storage-coll.c
===================================================================
--- sigscheme-0.8.5.orig/test-c/test-storage-coll.c	2011-02-15 16:55:00.000000000 +0900
+++ sigscheme-0.8.5/test-c/test-storage-coll.c	2011-02-15 16:55:02.000000000 +0900
@@ -231,8 +231,8 @@
 TST_CASE(tst_6, "symbol")
 {
     ScmObj obj;
-    char *p = scm_strdup("abcdefghijklmnopqrstuv");
-    p = (char*)(((intptr_t)p + 7)& (-8));
+    char *p = "abcdefghijklmnopqrstuv";
+    p = (char*)(((intptr_t)p + sizeof(ScmCell)-1)&(-sizeof(ScmCell)));
 
 #define SYMBOL_TST(tst, nam, val)               \
     tst(obj, SYMBOL,                            \
@@ -341,10 +341,10 @@
         CFUNC, FPTR, fun)
 
     typedef ScmFuncType FPTR;
-    FUNC_TST(TST_INIT2, SCM_SYNTAX_VARIADIC_1, (ScmFuncType)0xdeadbeef);
+    FUNC_TST(TST_INIT2, SCM_SYNTAX_VARIADIC_1, (ScmFuncType)0);
     FUNC_TST(TST_SET2, SCM_PROCEDURE_FIXED_4, (ScmFuncType)0);
 #if (SIZEOF_SCMOBJ == SIZEOF_INT64_T)
-    FUNC_TST(TST_INIT2, SCM_SYNTAX_VARIADIC_1, (ScmFuncType)0xdeadbeeffeed);
+    FUNC_TST(TST_INIT2, SCM_SYNTAX_VARIADIC_1, (ScmFuncType)0);
 #endif
 }
 
@@ -409,12 +409,12 @@
         VALUE, FPTR, p)
 
     typedef ScmCFunc FPTR;
-    CFPTR_TST(TST_INIT1, (ScmCFunc)0xdeadbeef);
-    CFPTR_TST(TST_SET1, (ScmCFunc)0xbaddeed);
+    CFPTR_TST(TST_INIT1, (ScmCFunc)0);
+    CFPTR_TST(TST_SET1, (ScmCFunc)0);
 #if (SIZEOF_SCMOBJ == SIZEOF_INT64_T)
     /* both MSB and LSB are set */
-    CFPTR_TST(TST_INIT1, (ScmCFunc)0xadeadbeeffedbeef);
-    CFPTR_TST(TST_SET1, (ScmCFunc)0xbaddeedbeddad);
+    CFPTR_TST(TST_INIT1, (ScmCFunc)0);
+    CFPTR_TST(TST_SET1, (ScmCFunc)0);
 #endif
 }
 #endif /* use sscm extension mechanism */