diff options
author | Iain Sandoe <iain@sandoe.co.uk> | 2019-06-27 19:08:16 +0000 |
---|---|---|
committer | Iain Sandoe <iains@gcc.gnu.org> | 2019-06-27 19:08:16 +0000 |
commit | 08b219921f7f4430fe66391ed8e3302b4fd049f1 (patch) | |
tree | bf10cbd0c5e6d37e55f9e7f43d5869235e1b8a8a /gcc | |
parent | 6986c632a27b5e16ea1e481055f83a54121aef18 (diff) | |
download | gcc-08b219921f7f4430fe66391ed8e3302b4fd049f1.zip gcc-08b219921f7f4430fe66391ed8e3302b4fd049f1.tar.gz gcc-08b219921f7f4430fe66391ed8e3302b4fd049f1.tar.bz2 |
[Darwin, PPC] Allow the user to override the use of hard float in kexts.
The default for the kernel is soft-float, however a user writing a kernel
extension might want to make use of hard float. This change makes
" -mkernel -mhard-float " work as expected.
2019-06-27 Iain Sandoe <iain@sandoe.co.uk>
* config/rs6000/rs6000.c (darwin_rs6000_override_options): Honour
user-specified float mode choice for kernel mode code.
From-SVN: r272760
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/rs6000/rs6000.c | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c0432a9..4b739e3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2019-06-27 Iain Sandoe <iain@sandoe.co.uk> + * config/rs6000/rs6000.c (darwin_rs6000_override_options): Honour + user-specified float mode choice for kernel mode code. + +2019-06-27 Iain Sandoe <iain@sandoe.co.uk> + * config/rs6000/darwin.h (ENDFILE_SPEC): Correct whitespace in the spec. diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index fbff6bd..5e80673 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -3430,7 +3430,10 @@ darwin_rs6000_override_options (void) if (flag_mkernel) { rs6000_default_long_calls = 1; - rs6000_isa_flags |= OPTION_MASK_SOFT_FLOAT; + + /* Allow a kext author to do -mkernel -mhard-float. */ + if (! (rs6000_isa_flags_explicit & OPTION_MASK_SOFT_FLOAT)) + rs6000_isa_flags |= OPTION_MASK_SOFT_FLOAT; } /* Make -m64 imply -maltivec. Darwin's 64-bit ABI includes |