+union lang_statement_union;
+
+enum phase_enum {
+ /* We step through the first four states here as we see the
+ associated linker script tokens. */
+ exp_dataseg_none,
+ exp_dataseg_align_seen,
+ exp_dataseg_relro_seen,
+ exp_dataseg_end_seen,
+ /* The last three states are final, and affect the value returned
+ by DATA_SEGMENT_ALIGN. */
+ exp_dataseg_relro_adjust,
+ exp_dataseg_adjust,
+ exp_dataseg_done
+};
+
+enum relro_enum {
+ exp_dataseg_relro_none,
+ exp_dataseg_relro_start,
+ exp_dataseg_relro_end,
+};
+