diff mbox

[i386,2/3] IA MCU psABI support: changes to libraries.

Message ID 20150622153648.GB2798@msticlxl57.ims.intel.com
State New
Headers show

Commit Message

Kirill Yukhin June 22, 2015, 3:39 p.m. UTC
Hello,
Patch in the bottom adds support of IA MCU psABI to libgcc
(enables soft-fp) and libdecnumber (enables it for IA MCU).

Bootstrapped and regtested on top of [1/3] patch.

config/
    	* dfp.m4 (enable_decimal_float): Also set to yes for
    	 i?86*-*-elfiamcu target.
gcc/
    	* configure: Regenerated.
libdecnumber/
    	* configure: Regenerated.
libgcc/
    	* config.host: Support i[34567]86-*-elfiamcu target.
    	* config/i386/32/t-iamcu: New file.
    	* configure: Regenerated.

Is it OK for trunk?

--
Thanks, K

Comments

Uros Bizjak June 26, 2015, 10:52 a.m. UTC | #1
On Mon, Jun 22, 2015 at 5:39 PM, Kirill Yukhin <kirill.yukhin@gmail.com> wrote:
> Hello,
> Patch in the bottom adds support of IA MCU psABI to libgcc
> (enables soft-fp) and libdecnumber (enables it for IA MCU).
>
> Bootstrapped and regtested on top of [1/3] patch.
>
> config/
>         * dfp.m4 (enable_decimal_float): Also set to yes for
>          i?86*-*-elfiamcu target.
> gcc/
>         * configure: Regenerated.
> libdecnumber/
>         * configure: Regenerated.
> libgcc/
>         * config.host: Support i[34567]86-*-elfiamcu target.
>         * config/i386/32/t-iamcu: New file.
>         * configure: Regenerated.
>
> Is it OK for trunk?

Please introduce config/t-softfp-sfdftf as an union of t-softfp-sfdf
and t-softfp-tf and use it instead of config/t-softfp-sfdf. You will
be able to remove all softfp stuff from t-iamcu then.

OK with the above improvement.

Thanks,
Uros.

> --
> Thanks, K
>
> diff --git a/config/dfp.m4 b/config/dfp.m4
> index 48683f0..5b29089 100644
> --- a/config/dfp.m4
> +++ b/config/dfp.m4
> @@ -21,7 +21,7 @@ Valid choices are 'yes', 'bid', 'dpd', and 'no'.]) ;;
>  [
>    case $1 in
>      powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux* | s390*-*-linux* | \
> -    i?86*-*-gnu* | \
> +    i?86*-*-elfiamcu | i?86*-*-gnu* | \
>      i?86*-*-mingw* | x86_64*-*-mingw* | \
>      i?86*-*-cygwin* | x86_64*-*-cygwin*)
>        enable_decimal_float=yes
> diff --git a/gcc/configure b/gcc/configure
> index b26a86f..64eeac6 100755
> --- a/gcc/configure
> +++ b/gcc/configure
> @@ -7317,7 +7317,7 @@ else
>
>    case $target in
>      powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux* | s390*-*-linux* | \
> -    i?86*-*-gnu* | \
> +    i?86*-*-elfiamcu | i?86*-*-gnu* | \
>      i?86*-*-mingw* | x86_64*-*-mingw* | \
>      i?86*-*-cygwin* | x86_64*-*-cygwin*)
>        enable_decimal_float=yes
> diff --git a/libdecnumber/configure b/libdecnumber/configure
> index 2720f46..964837d 100755
> --- a/libdecnumber/configure
> +++ b/libdecnumber/configure
> @@ -4614,7 +4614,7 @@ else
>
>    case $target in
>      powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux* | s390*-*-linux* | \
> -    i?86*-*-gnu* | \
> +    i?86*-*-elfiamcu | i?86*-*-gnu* | \
>      i?86*-*-mingw* | x86_64*-*-mingw* | \
>      i?86*-*-cygwin* | x86_64*-*-cygwin*)
>        enable_decimal_float=yes
> diff --git a/libgcc/config.host b/libgcc/config.host
> index 46666df..dd8e356 100644
> --- a/libgcc/config.host
> +++ b/libgcc/config.host
> @@ -562,6 +562,9 @@ x86_64-*-darwin*)
>         tm_file="$tm_file i386/darwin-lib.h"
>         extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
>         ;;
> +i[34567]86-*-elfiamcu)
> +       tmake_file="$tmake_file i386/t-crtstuff t-softfp-sfdf i386/32/t-softfp i386/32/t-iamcu i386/t-softfp t-softfp t-dfprules"
> +       ;;
>  i[34567]86-*-elf*)
>         tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
>         ;;
> diff --git a/libgcc/config/i386/32/t-iamcu b/libgcc/config/i386/32/t-iamcu
> new file mode 100644
> index 0000000..0752bff
> --- /dev/null
> +++ b/libgcc/config/i386/32/t-iamcu
> @@ -0,0 +1,6 @@
> +softfp_float_modes += tf
> +softfp_extensions += sftf dftf xftf
> +softfp_truncations += tfsf tfdf tfxf
> +softfp_exclude_libgcc2 := n
> +
> +HOST_LIBGCC2_CFLAGS += -mlong-double-80
> diff --git a/libgcc/configure b/libgcc/configure
> index ce66d1d..e22cbcb 100644
> --- a/libgcc/configure
> +++ b/libgcc/configure
> @@ -4436,7 +4436,7 @@ else
>
>    case $host in
>      powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux* | s390*-*-linux* | \
> -    i?86*-*-gnu* | \
> +    i?86*-*-elfiamcu | i?86*-*-gnu* | \
>      i?86*-*-mingw* | x86_64*-*-mingw* | \
>      i?86*-*-cygwin* | x86_64*-*-cygwin*)
>        enable_decimal_float=yes
>
>
>
diff mbox

Patch

diff --git a/config/dfp.m4 b/config/dfp.m4
index 48683f0..5b29089 100644
--- a/config/dfp.m4
+++ b/config/dfp.m4
@@ -21,7 +21,7 @@  Valid choices are 'yes', 'bid', 'dpd', and 'no'.]) ;;
 [
   case $1 in
     powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux* | s390*-*-linux* | \
-    i?86*-*-gnu* | \
+    i?86*-*-elfiamcu | i?86*-*-gnu* | \
     i?86*-*-mingw* | x86_64*-*-mingw* | \
     i?86*-*-cygwin* | x86_64*-*-cygwin*)
       enable_decimal_float=yes
diff --git a/gcc/configure b/gcc/configure
index b26a86f..64eeac6 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -7317,7 +7317,7 @@  else

   case $target in
     powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux* | s390*-*-linux* | \
-    i?86*-*-gnu* | \
+    i?86*-*-elfiamcu | i?86*-*-gnu* | \
     i?86*-*-mingw* | x86_64*-*-mingw* | \
     i?86*-*-cygwin* | x86_64*-*-cygwin*)
       enable_decimal_float=yes
diff --git a/libdecnumber/configure b/libdecnumber/configure
index 2720f46..964837d 100755
--- a/libdecnumber/configure
+++ b/libdecnumber/configure
@@ -4614,7 +4614,7 @@  else

   case $target in
     powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux* | s390*-*-linux* | \
-    i?86*-*-gnu* | \
+    i?86*-*-elfiamcu | i?86*-*-gnu* | \
     i?86*-*-mingw* | x86_64*-*-mingw* | \
     i?86*-*-cygwin* | x86_64*-*-cygwin*)
       enable_decimal_float=yes
diff --git a/libgcc/config.host b/libgcc/config.host
index 46666df..dd8e356 100644
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -562,6 +562,9 @@  x86_64-*-darwin*)
 	tm_file="$tm_file i386/darwin-lib.h"
 	extra_parts="$extra_parts crtprec32.o crtprec64.o crtprec80.o crtfastmath.o"
 	;;
+i[34567]86-*-elfiamcu)
+	tmake_file="$tmake_file i386/t-crtstuff t-softfp-sfdf i386/32/t-softfp i386/32/t-iamcu i386/t-softfp t-softfp t-dfprules"
+	;;
 i[34567]86-*-elf*)
 	tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
 	;;
diff --git a/libgcc/config/i386/32/t-iamcu b/libgcc/config/i386/32/t-iamcu
new file mode 100644
index 0000000..0752bff
--- /dev/null
+++ b/libgcc/config/i386/32/t-iamcu
@@ -0,0 +1,6 @@ 
+softfp_float_modes += tf
+softfp_extensions += sftf dftf xftf
+softfp_truncations += tfsf tfdf tfxf
+softfp_exclude_libgcc2 := n
+
+HOST_LIBGCC2_CFLAGS += -mlong-double-80
diff --git a/libgcc/configure b/libgcc/configure
index ce66d1d..e22cbcb 100644
--- a/libgcc/configure
+++ b/libgcc/configure
@@ -4436,7 +4436,7 @@  else

   case $host in
     powerpc*-*-linux* | i?86*-*-linux* | x86_64*-*-linux* | s390*-*-linux* | \
-    i?86*-*-gnu* | \
+    i?86*-*-elfiamcu | i?86*-*-gnu* | \
     i?86*-*-mingw* | x86_64*-*-mingw* | \
     i?86*-*-cygwin* | x86_64*-*-cygwin*)
       enable_decimal_float=yes