Patchwork [U-Boot] powerpc: Fix FPU post related link warnings

login
register
mail settings
Submitter Kumar Gala
Date Jan. 25, 2011, 9 a.m.
Message ID <1295946008-11905-1-git-send-email-galak@kernel.crashing.org>
Download mbox | patch
Permalink /patch/80337/
State Accepted
Commit e009cdeb63308f291c54b173484401aab4a3fe54
Headers show

Comments

Kumar Gala - Jan. 25, 2011, 9 a.m.
If we built POST on PPC's that didn't enable CONFIG_SYS_POST_FPU we'd
get the following warning with newer toolchains:

powerpc-linux-gnu-ld: Warning: lib_powerpc/fpu/libpostpowerpcfpu.o
		      uses hard float, libpost.o uses soft float

We actually worked around this sometime ago with the following commit:

commit ce82ff05388b5ddafdf6082ef0776cce72c40b1c
Author: Yuri Tikhonov <yur@emcraft.com>
Date:   Sat Dec 20 14:54:21 2008 +0300

   FPU POST: fix warnings when building with 2.18 binutils

However, this only took into effect if CONFIG_SYS_POST_FPU was enabled.
We can simply move the GNU_FPOST_ATTR out of the CONFIG_SYS_POST_FPU
ifdef block to address the issue.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---

Wolfgang, I request we think about include this patch in v2011.03 tree so we
can all stop getting these build warnings :)

- k

 post/lib_powerpc/fpu/20001122-1.c             |    4 ++--
 post/lib_powerpc/fpu/20010114-2.c             |    4 ++--
 post/lib_powerpc/fpu/20010226-1.c             |    4 ++--
 post/lib_powerpc/fpu/980619-1.c               |    4 ++--
 post/lib_powerpc/fpu/acc1.c                   |    4 ++--
 post/lib_powerpc/fpu/compare-fp-1.c           |    4 ++--
 post/lib_powerpc/fpu/fpu.c                    |    4 ++--
 post/lib_powerpc/fpu/mul-subnormal-single-1.c |    4 ++--
 8 files changed, 16 insertions(+), 16 deletions(-)
Wolfgang Denk - Jan. 25, 2011, 8:16 p.m.
Dear Kumar Gala,

In message <1295946008-11905-1-git-send-email-galak@kernel.crashing.org> you wrote:
> If we built POST on PPC's that didn't enable CONFIG_SYS_POST_FPU we'd
> get the following warning with newer toolchains:
> 
> powerpc-linux-gnu-ld: Warning: lib_powerpc/fpu/libpostpowerpcfpu.o
> 		      uses hard float, libpost.o uses soft float
> 
> We actually worked around this sometime ago with the following commit:
> 
> commit ce82ff05388b5ddafdf6082ef0776cce72c40b1c
> Author: Yuri Tikhonov <yur@emcraft.com>
> Date:   Sat Dec 20 14:54:21 2008 +0300
> 
>    FPU POST: fix warnings when building with 2.18 binutils
> 
> However, this only took into effect if CONFIG_SYS_POST_FPU was enabled.
> We can simply move the GNU_FPOST_ATTR out of the CONFIG_SYS_POST_FPU
> ifdef block to address the issue.
> 
> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
> ---
> 
> Wolfgang, I request we think about include this patch in v2011.03 tree so we
> can all stop getting these build warnings :)
> 
> - k
> 
>  post/lib_powerpc/fpu/20001122-1.c             |    4 ++--
>  post/lib_powerpc/fpu/20010114-2.c             |    4 ++--
>  post/lib_powerpc/fpu/20010226-1.c             |    4 ++--
>  post/lib_powerpc/fpu/980619-1.c               |    4 ++--
>  post/lib_powerpc/fpu/acc1.c                   |    4 ++--
>  post/lib_powerpc/fpu/compare-fp-1.c           |    4 ++--
>  post/lib_powerpc/fpu/fpu.c                    |    4 ++--
>  post/lib_powerpc/fpu/mul-subnormal-single-1.c |    4 ++--
>  8 files changed, 16 insertions(+), 16 deletions(-)

Applied, thanks.

Best regards,

Wolfgang Denk

Patch

diff --git a/post/lib_powerpc/fpu/20001122-1.c b/post/lib_powerpc/fpu/20001122-1.c
index bef80c5..4af300d 100644
--- a/post/lib_powerpc/fpu/20001122-1.c
+++ b/post/lib_powerpc/fpu/20001122-1.c
@@ -28,10 +28,10 @@ 
 
 #include <post.h>
 
-#if CONFIG_POST & CONFIG_SYS_POST_FPU
-
 GNU_FPOST_ATTR
 
+#if CONFIG_POST & CONFIG_SYS_POST_FPU
+
 int fpu_post_test_math1 (void)
 {
 	volatile double a, *p;
diff --git a/post/lib_powerpc/fpu/20010114-2.c b/post/lib_powerpc/fpu/20010114-2.c
index ee564e8..dab4d7e 100644
--- a/post/lib_powerpc/fpu/20010114-2.c
+++ b/post/lib_powerpc/fpu/20010114-2.c
@@ -28,10 +28,10 @@ 
 
 #include <post.h>
 
-#if CONFIG_POST & CONFIG_SYS_POST_FPU
-
 GNU_FPOST_ATTR
 
+#if CONFIG_POST & CONFIG_SYS_POST_FPU
+
 static float rintf (float x)
 {
 	volatile float TWO23 = 8388608.0;
diff --git a/post/lib_powerpc/fpu/20010226-1.c b/post/lib_powerpc/fpu/20010226-1.c
index 099ca4a..c644bc9 100644
--- a/post/lib_powerpc/fpu/20010226-1.c
+++ b/post/lib_powerpc/fpu/20010226-1.c
@@ -28,10 +28,10 @@ 
 
 #include <post.h>
 
-#if CONFIG_POST & CONFIG_SYS_POST_FPU
-
 GNU_FPOST_ATTR
 
+#if CONFIG_POST & CONFIG_SYS_POST_FPU
+
 int fpu_post_test_math3 (void)
 {
 	volatile long double dfrom = 1.1;
diff --git a/post/lib_powerpc/fpu/980619-1.c b/post/lib_powerpc/fpu/980619-1.c
index 46a31ae..0c195c1 100644
--- a/post/lib_powerpc/fpu/980619-1.c
+++ b/post/lib_powerpc/fpu/980619-1.c
@@ -28,10 +28,10 @@ 
 
 #include <post.h>
 
-#if CONFIG_POST & CONFIG_SYS_POST_FPU
-
 GNU_FPOST_ATTR
 
+#if CONFIG_POST & CONFIG_SYS_POST_FPU
+
 int fpu_post_test_math4 (void)
 {
 	volatile float reale = 1.0f;
diff --git a/post/lib_powerpc/fpu/acc1.c b/post/lib_powerpc/fpu/acc1.c
index 9fca9b3..4dc1362 100644
--- a/post/lib_powerpc/fpu/acc1.c
+++ b/post/lib_powerpc/fpu/acc1.c
@@ -28,10 +28,10 @@ 
 
 #include <post.h>
 
-#if CONFIG_POST & CONFIG_SYS_POST_FPU
-
 GNU_FPOST_ATTR
 
+#if CONFIG_POST & CONFIG_SYS_POST_FPU
+
 static double func (const double *array)
 {
 	double d = *array;
diff --git a/post/lib_powerpc/fpu/compare-fp-1.c b/post/lib_powerpc/fpu/compare-fp-1.c
index f836b29..a0859f8 100644
--- a/post/lib_powerpc/fpu/compare-fp-1.c
+++ b/post/lib_powerpc/fpu/compare-fp-1.c
@@ -30,10 +30,10 @@ 
 
 #include <post.h>
 
-#if CONFIG_POST & CONFIG_SYS_POST_FPU
-
 GNU_FPOST_ATTR
 
+#if CONFIG_POST & CONFIG_SYS_POST_FPU
+
 static int failed;
 
 #define TEST(c) if ((c) != ok) failed++
diff --git a/post/lib_powerpc/fpu/fpu.c b/post/lib_powerpc/fpu/fpu.c
index 3f3adea..a4369f1 100644
--- a/post/lib_powerpc/fpu/fpu.c
+++ b/post/lib_powerpc/fpu/fpu.c
@@ -36,12 +36,12 @@ 
 
 #include <post.h>
 
+GNU_FPOST_ATTR
+
 #if CONFIG_POST & CONFIG_SYS_POST_FPU
 
 #include <watchdog.h>
 
-GNU_FPOST_ATTR
-
 extern int fpu_status (void);
 extern void fpu_enable (void);
 extern void fpu_disable (void);
diff --git a/post/lib_powerpc/fpu/mul-subnormal-single-1.c b/post/lib_powerpc/fpu/mul-subnormal-single-1.c
index 1f3732d..23a3f30 100644
--- a/post/lib_powerpc/fpu/mul-subnormal-single-1.c
+++ b/post/lib_powerpc/fpu/mul-subnormal-single-1.c
@@ -30,10 +30,10 @@ 
 
 #include <post.h>
 
-#if CONFIG_POST & CONFIG_SYS_POST_FPU
-
 GNU_FPOST_ATTR
 
+#if CONFIG_POST & CONFIG_SYS_POST_FPU
+
 union uf
 {
 	unsigned int u;