diff options
| -rwxr-xr-x | cgcc | 15 |
1 files changed, 7 insertions, 8 deletions
@@ -326,15 +326,10 @@ sub add_specs { &define_size_t ("long unsigned int") . ' -D__SIZEOF_POINTER__=' . ($m64 ? '8' : '4')); } elsif ($spec eq 'arm') { - chomp (my $gccmachine = `$ccom -dumpmachine`); - my $cppsymbols = ' -m32'; - - if ($gccmachine eq 'arm-linux-gnueabihf') { - $cppsymbols .= ' -D__ARM_PCS_VFP=1'; - } - - return ($cppsymbols . + return (' -m32' . &float_types (1, 1, 36, [24,8], [53,11], [53, 11])); + } elsif ($spec eq 'arm+hf') { + return &add_specs ('arm') . ' -D__ARM_PCS_VFP=1'; } elsif ($spec eq 'aarch64') { return (' -m64' . &float_types (1, 1, 36, [24,8], [53,11], [113,15])); @@ -362,6 +357,10 @@ sub add_specs { } elsif ($arch =~ /^(sparc64)$/i) { return &add_specs ('sparc64'); } elsif ($arch =~ /^arm(?:v[78]l)?$/i) { + chomp (my $gccmachine = `$ccom -dumpmachine`); + if ($gccmachine eq 'arm-linux-gnueabihf') { + return &add_specs ('arm+hf'); + } return &add_specs ('arm'); } elsif ($arch =~ /^(aarch64)$/i) { return &add_specs ('aarch64'); |
