2 # Compiler wrapper with stack-cleaner support (enabled by default).
3 # Usage: ./compiler-wrapper target-compiler args [-f[no-]stack-cleaner]
13 for arg in sys.argv[2:]:
16 "Compiler wrapper with stack-cleaner.\n"
17 "Usage: {} compiler [-f[no-]stack-cleaner] [options]\n".format(sys.argv[0]))
19 elif arg == "-fno-stack-cleaner":
21 elif arg == "-fstack-cleaner":
27 if re.match("^clang", os.path.basename(compiler)):
28 args.insert(0, "-no-integrated-as")
29 args.insert(0, os.path.dirname(sys.argv[0]))
31 args.insert(0, compiler)
33 os.execvp(args[0], args)
34 sys.stderr.write("compiler-wrapper: Could not exec\n")