From 1dd53816296062b1692306e8db13eee8789fd658 Mon Sep 17 00:00:00 2001 From: Andreas Krebbel Date: Thu, 6 Sep 2012 08:23:25 +0000 Subject: 2012-09-06 Andreas Krebbel * config/tc-s390.c (set_highgprs_p): New variable. (s390_machinemode): New function. (md_pseudo_table): Add new pseudo command machinemode. (md_parse_option): Set set_highgprs_p to TRUE if -mzarch was specified on command line. (s390_elf_final_processing): Set the highgprs flag in the ELF header depending on set_highgprs_p. * doc/c-s390.texi: Document new pseudo machinemode. --- gas/doc/c-s390.texi | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'gas/doc') diff --git a/gas/doc/c-s390.texi b/gas/doc/c-s390.texi index 7971327..76dc144 100644 --- a/gas/doc/c-s390.texi +++ b/gas/doc/c-s390.texi @@ -873,6 +873,19 @@ restored with @code{.machine pop}. Be aware that the cpu string has to be put into double quotes in case it contains characters not appropriate for identifiers. So you have to write @code{"z9-109"} instead of just @code{z9-109}. + +@cindex @code{.machinemode} directive, s390 +@item .machinemode string +This directive allows to change the architecture mode for which code +is being generated. @code{string} may be @code{esa}, @code{zarch}, +@code{zarch_nohighgprs}, @code{push}, or @code{pop}. +@code{.machinemode zarch_nohighgprs} can be used to prevent the +@code{highgprs} flag from being set in the ELF header of the output +file. This is useful in situations where the code is gated with a +runtime check which makes sure that the code is only executed on +kernels providing the @code{highgprs} feature. +@code{.machinemode push} saves the currently selected mode, which may +be restored with @code{.machinemode pop}. @end table @node s390 Floating Point -- cgit v1.1