xref: /openbsd/regress/libexec/ld.so/hidden/libab/ab.c (revision 6822f9c8)
1*6822f9c8Santon /*      $OpenBSD: ab.c,v 1.3 2024/08/23 12:56:26 anton Exp $       */
29765ae29Skurt 
39765ae29Skurt /*
49765ae29Skurt  * Copyright (c) 2007 Kurt Miller <kurt@openbsd.org>
59765ae29Skurt  *
69765ae29Skurt  * Permission to use, copy, modify, and distribute this software for any
79765ae29Skurt  * purpose with or without fee is hereby granted, provided that the above
89765ae29Skurt  * copyright notice and this permission notice appear in all copies.
99765ae29Skurt  *
109765ae29Skurt  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
119765ae29Skurt  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
129765ae29Skurt  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
139765ae29Skurt  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
149765ae29Skurt  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
159765ae29Skurt  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
169765ae29Skurt  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
179765ae29Skurt  */
189765ae29Skurt 
199765ae29Skurt #include <err.h>
209765ae29Skurt 
219765ae29Skurt void *hidden_check = &hidden_check;
229765ae29Skurt __asm(".hidden hidden_check");
239765ae29Skurt 
24b34a9ff5Skurt extern void *libab_hidden_val;
25b34a9ff5Skurt 
test_ab()269765ae29Skurt void test_ab()
279765ae29Skurt {
28b34a9ff5Skurt 	libab_hidden_val = hidden_check;
299765ae29Skurt 	if (hidden_check != &hidden_check)
30*6822f9c8Santon 		errx(1, "libab: hidden_check != &hidden_check");
319765ae29Skurt }
32