.openbsd.randomdata and .openbsd.wxneeded support

Index: gold/layout.h
--- gold/layout.h.orig
+++ gold/layout.h
@@ -474,6 +474,12 @@ enum Output_section_order
   // first non-RELRO section.
   ORDER_NON_RELRO_FIRST,
 
+  // OpenBSD .openbsd.randomdata
+  ORDER_OPENBSD_RANDOMIZE,
+
+  // OpenBSD .openbsd.wxneeded
+  ORDER_OPENBSD_WXNEEDED,
+
   // The regular data sections come after the RELRO sections.
   ORDER_DATA,
 
@@ -1424,6 +1430,10 @@ class Layout
   Output_segment* relro_segment_;
   // A pointer to the PT_INTERP segment if there is one.
   Output_segment* interp_segment_;
+  // A pointer to the PT_OPENBSD_RANDOMIZE segment if there is one.
+  Output_segment* openbsd_randomize_segment_;
+  // A pointer to the PT_OPENBSD_WXNEEDED segment if there is one.
+  Output_segment* openbsd_wxneeded_segment_;
   // A backend may increase the size of the PT_GNU_RELRO segment if
   // there is one.  This is the amount to increase it by.
   unsigned int increase_relro_;
