+ if (place == NULL)
+ {
+ /* For other combinations, we have to give up, except we make
+ sure not to place the orphan section after the
+ linker-generated register section; that'd make it continue
+ the reg section and we never want that to happen for orphan
+ sections. */
+ lang_output_section_statement_type *before;
+ lang_output_section_statement_type *lookup;
+ static struct orphan_save hold_nonreg =
+ {
+ NULL,
+ SEC_READONLY,
+ 0, 0, 0, 0
+ };
+
+ if (hold_nonreg.os == NULL)
+ {
+ before = lang_output_section_find (MMIX_REG_CONTENTS_SECTION_NAME);
+
+ /* If we have no such section, all fine; we don't care where
+ it's placed. */
+ if (before == NULL)
+ return NULL;