// Make the binary compatible with data execution prevention schemes.
cmd.add_no_exec();
+ // OBJECT-FILES-YES
+ add_local_crate_metadata_objects(cmd, crate_type, codegen_results);
+
// NO-OPT-OUT, OBJECT-FILES-NO
// Avoid linking to dynamic libraries unless they satisfy some undefined symbols
// at the point at which they are specified on the command line.
// Must be passed before any dynamic libraries.
+ // On solaris-like systems, this also will ignore unreferenced ELF sections
+ // from relocatable objects. For that reason, we move the metadata objects
+ // to before this flag as they would otherwise be removed.
cmd.add_as_needed();
// NO-OPT-OUT, OBJECT-FILES-NO
// dynamic library.
cmd.export_symbols(tmpdir, crate_type);
- // OBJECT-FILES-YES
- add_local_crate_metadata_objects(cmd, crate_type, codegen_results);
-
// OBJECT-FILES-YES
add_local_crate_allocator_objects(cmd, codegen_results);