Amittai Aviram <amittai.aviram@xxxxxxxx> writes: > I have been creating a modified version of GCC's libgomp library to support a special version of OpenMP. In order for it to work properly, at the end of the main function in an OpenMP program, I have to insert a call to a special clean-up function (say, "clean_up()"), just before the "return" statement. (I define my clean_up function in my version of libgomp.) I would like to modify GCC so that it inserts the call to clean_u automatically, just before the code representing the return statement, such as the RET instruction in x86 assembly code. How might I go about this? > > Alternatively, it might work if GCC inserted the function call into the boilerplate code of __exit. How might I enable GCC to do that? Would it work to just use atexit? If that works, perhaps you could just add a global constructor which calls atexit with your cleanup function. Ian