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