2 * SPDX-License-Identifier: MIT
4 * Copyright (C) 2016 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 int testint
__attribute__((weak
, visibility("hidden")));
13 void *testptr
__attribute__((weak
, visibility("hidden")));
16 } testsym_24_bytes
__attribute__((weak
, visibility("hidden")));
18 void *testfct_int(void);
19 void *testfct_ptr(void);
20 void *testfct_24_bytes(void);
22 void *testlibfct1_int(void);
23 void *testlibfct1_ptr(void);
24 void *testlibfct1_24_bytes(void);
26 void *testlibfct2_int(void);
27 void *testlibfct2_ptr(void);
28 void *testlibfct2_24_bytes(void);
33 MATCH_PROGRAM_24_BYTES
,
40 static bool match_matrix
[NR_MATCH
];
44 plan_tests(NUM_TESTS
);
46 if (testfct_int() == &testint
)
47 match_matrix
[MATCH_PROGRAM_INT
] = true;
48 if (testfct_ptr() == &testptr
)
49 match_matrix
[MATCH_PROGRAM_PTR
] = true;
50 if (testfct_24_bytes() == &testsym_24_bytes
)
51 match_matrix
[MATCH_PROGRAM_24_BYTES
] = true;
53 if (testlibfct1_int() == testlibfct2_int())
54 match_matrix
[MATCH_LIB_INT
] = true;
55 if (testlibfct1_ptr() == testlibfct2_ptr())
56 match_matrix
[MATCH_LIB_PTR
] = true;
57 if (testlibfct1_24_bytes() == testlibfct2_24_bytes())
58 match_matrix
[MATCH_LIB_24_BYTES
] = true;
60 diag("Address of weak symbol with hidden visibility %s between compile units within same module for main program (4 bytes integer object)",
61 match_matrix
[MATCH_PROGRAM_INT
] ? "match" : "MISMATCH");
62 diag("Address of weak symbol with hidden visibility %s between compile units within same module for main program (pointer object)",
63 match_matrix
[MATCH_PROGRAM_PTR
] ? "match" : "MISMATCH");
64 diag("Address of weak symbol with hidden visibility %s between compile units within same module for main program (24 bytes structure object)",
65 match_matrix
[MATCH_PROGRAM_24_BYTES
] ? "match" : "MISMATCH");
67 diag("Address of weak symbol with hidden visibility %s between compile units within same module for shared library (4 bytes integer object)",
68 match_matrix
[MATCH_LIB_INT
] ? "match" : "MISMATCH");
69 diag("Address of weak symbol with hidden visibility %s between compile units within same module for shared library (pointer object)",
70 match_matrix
[MATCH_LIB_PTR
] ? "match" : "MISMATCH");
71 diag("Address of weak symbol with hidden visibility %s between compile units within same module for shared library (24 bytes structure object)",
72 match_matrix
[MATCH_LIB_24_BYTES
] ? "match" : "MISMATCH");
74 ok(match_matrix
[MATCH_PROGRAM_INT
] == match_matrix
[MATCH_PROGRAM_PTR
],
75 "Weak-hidden behavior is the same for 4 bytes integer and pointer objects within main program");
76 ok(match_matrix
[MATCH_LIB_INT
] == match_matrix
[MATCH_LIB_PTR
],
77 "Weak-hidden behavior is the same for 4 bytes integer and pointer objects within shared library");
This page took 0.030445 seconds and 4 git commands to generate.