My copy of the draft spec says: ".preinit_array This section holds an array of function pointers that contributes to a single pre-initialization array for the executable or shared object containing the section." >From the above, it seems incorrect to exclude .preinit_array from shared libs. Do you have an updated spec? -- Alan Modra IBM OzLabs - Linux Technology Centre