#include #include #include #include #include #include char *testcase_description = "access(2) calls invoked by gcc and the linker"; void testcase(unsigned long long *iterations, unsigned long nr) { while (1) { access("/etc/ld.so.preload", R_OK); access("/bin/sh", X_OK); access("/etc/ld.so.preload", R_OK); access("/etc/ld.so.preload", R_OK); access("/usr/local/sbin/cc", X_OK); access("/usr/local/bin/cc", X_OK); access("/usr/sbin/cc", X_OK); access("/usr/bin/cc", X_OK); access("/usr/local/sbin/cc", X_OK); access("/usr/local/bin/cc", X_OK); access("/usr/sbin/cc", X_OK); access("/usr/bin/cc", X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/", X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/", X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/specs", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/12/specs", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/specs", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/specs", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/", X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper", X_OK); access("/tmp", R_OK|W_OK|X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/cc1", X_OK); access("/etc/ld.so.preload", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/", X_OK); access("/etc/ld.so.preload", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/collect2", X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/Scrt1.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/12/Scrt1.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/Scrt1.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/../lib/Scrt1.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/12/Scrt1.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/crti.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/12/crti.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/crti.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/../lib/crti.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/12/crti.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/crtn.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/12/crtn.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/crtn.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/../lib/crtn.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/12/crtn.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/collect2", X_OK); access("/etc/ld.so.preload", R_OK); access("/usr/bin/ld", X_OK); access("/usr/bin/nm", X_OK); access("/usr/bin/strip", X_OK); access("/usr/bin/cc", X_OK); access("/tmp", R_OK|W_OK|X_OK); access("/etc/ld.so.preload", R_OK); access("/bin/sh", X_OK); access("/etc/ld.so.preload", R_OK); access("/etc/ld.so.preload", R_OK); access("/usr/local/sbin/cc", X_OK); access("/usr/local/bin/cc", X_OK); access("/usr/sbin/cc", X_OK); access("/usr/bin/cc", X_OK); access("/usr/local/sbin/cc", X_OK); access("/usr/local/bin/cc", X_OK); access("/usr/sbin/cc", X_OK); access("/usr/bin/cc", X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/", X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/", X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/specs", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/12/specs", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/specs", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/specs", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/", X_OK); access("/tmp", R_OK|W_OK|X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/cc1", X_OK); access("/etc/ld.so.preload", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/", X_OK); access("/usr/bin/cc", X_OK); access("/etc/ld.so.preload", R_OK); access("/usr/local/sbin/cc", X_OK); access("/usr/local/bin/cc", X_OK); access("/usr/sbin/cc", X_OK); access("/usr/bin/cc", X_OK); access("/usr/local/sbin/cc", X_OK); access("/usr/local/bin/cc", X_OK); access("/usr/sbin/cc", X_OK); access("/usr/bin/cc", X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/", X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/", X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/specs", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/12/specs", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/specs", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/specs", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/", X_OK); access("/tmp", R_OK|W_OK|X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/cc1", X_OK); access("/etc/ld.so.preload", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/", X_OK); access("/etc/ld.so.preload", R_OK); access("/usr/bin/cc", X_OK); access("/etc/ld.so.preload", R_OK); access("/usr/local/sbin/cc", X_OK); access("/usr/local/bin/cc", X_OK); access("/usr/sbin/cc", X_OK); access("/usr/bin/cc", X_OK); access("/usr/local/sbin/cc", X_OK); access("/usr/local/bin/cc", X_OK); access("/usr/sbin/cc", X_OK); access("/usr/bin/cc", X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/", X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/", X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/specs", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/12/specs", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/specs", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/specs", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/", X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper", X_OK); access("/tmp", R_OK|W_OK|X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/cc1", X_OK); access("/etc/ld.so.preload", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/", X_OK); access("/etc/ld.so.preload", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/collect2", X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/Scrt1.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/12/Scrt1.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/Scrt1.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/../lib/Scrt1.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/12/Scrt1.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/crti.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/12/crti.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/crti.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/../lib/crti.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/12/crti.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/crtn.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/12/crtn.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/crtn.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/../lib/crtn.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/12/crtn.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/collect2", X_OK); access("/etc/ld.so.preload", R_OK); access("/usr/bin/ld", X_OK); access("/usr/bin/nm", X_OK); access("/usr/bin/strip", X_OK); access("/usr/bin/cc", X_OK); access("/tmp", R_OK|W_OK|X_OK); access("/etc/ld.so.preload", R_OK); access("/usr/bin/cc", X_OK); access("/etc/ld.so.preload", R_OK); access("/usr/local/sbin/cc", X_OK); access("/usr/local/bin/cc", X_OK); access("/usr/sbin/cc", X_OK); access("/usr/bin/cc", X_OK); access("/usr/local/sbin/cc", X_OK); access("/usr/local/bin/cc", X_OK); access("/usr/sbin/cc", X_OK); access("/usr/bin/cc", X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/", X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/", X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/specs", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/12/specs", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/specs", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/specs", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/", X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/lto-wrapper", X_OK); access("/tmp", R_OK|W_OK|X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/cc1", X_OK); access("/etc/ld.so.preload", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/", X_OK); access("/etc/ld.so.preload", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/collect2", X_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/liblto_plugin.so", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/Scrt1.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/12/Scrt1.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/Scrt1.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/../lib/Scrt1.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/12/Scrt1.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/Scrt1.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/crti.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/12/crti.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/crti.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/../lib/crti.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/12/crti.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crti.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/crtn.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/12/crtn.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/x86_64-linux-gnu/crtn.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/lib/../lib/crtn.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/12/crtn.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/../../../x86_64-linux-gnu/crtn.o", R_OK); access("/usr/lib/gcc/x86_64-linux-gnu/12/collect2", X_OK); access("/etc/ld.so.preload", R_OK); access("/usr/bin/ld", X_OK); access("/usr/bin/nm", X_OK); access("/usr/bin/strip", X_OK); access("/usr/bin/cc", X_OK); access("/tmp", R_OK|W_OK|X_OK); access("/etc/ld.so.preload", R_OK); (*iterations)++; } }