CVSROOT: /cvs Module name: src Changes by: guent...@cvs.openbsd.org 2017/01/20 17:45:13
Modified files: lib/csu : crtbegin.c crtbeginS.c crtend.c crtendS.c extern.h lib/csu/arm : md_init.h lib/csu/hppa : md_init.h Log message: Declare the symbols that label the .ctors, .dtors, .eh_frame, and .jcr sections as extern hidden arrays of indefinite size, so that the compiler (well, clang) doesn't believe it knows the exact contents and thus optimize things into infinite loops. Actually set the symbols to be in the sections and insert the leading and trailing values via __asm(). Problem pointed out by patrick@ testing and ok kettenis@