I know this isn't the right list, but where is the right list? I'm wondering why GNU ld version 2.21.51.0.6-6.fc15 20110118 on fedora of course, has this as part of the default load script (from ld --verbose): .init_array : { PROVIDE_HIDDEN (__init_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array)) KEEP (*(EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } That's not right is it? ctors don't go in the init_array. Right? Patrick