summaryrefslogtreecommitdiffstats
path: root/contrib/netbsd-tests/lib/csu/h_initfini3.cxx
blob: 13f54cebdb8ea15432acab1e3558b8cec8365e49 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <dlfcn.h>
#include <err.h>
#include <unistd.h>

int
main(void)
{
	static const char msg1[] = "main started\n";
	static const char msg2[] = "main after dlopen\n";
	static const char msg3[] = "main terminated\n";

	void *handle;

	write(STDOUT_FILENO, msg1, sizeof(msg1) - 1);
	handle = dlopen("h_initfini3_dso.so", RTLD_NOW | RTLD_LOCAL);
	if (handle == NULL)
		err(1, "dlopen");
	write(STDOUT_FILENO, msg2, sizeof(msg2) - 1);
	dlclose(handle);
	write(STDOUT_FILENO, msg3, sizeof(msg3) - 1);
	return 0;
}
OpenPOWER on IntegriCloud