This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb] 2015-07-09 Catherine Moore <clm at codesourcery dot com>


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=3350cc01deccb8289c1c26938628f996df3e390c

commit 3350cc01deccb8289c1c26938628f996df3e390c
Author: Catherine Moore <clm@codesourcery.com>
Date:   Thu Jul 9 08:24:54 2015 -0700

    2015-07-09  Catherine Moore  <clm@codesourcery.com>
    
            include/
            * elf/mips/mips.h (Val_GNU_MIPS_ABI_FP_NAN2008): New.
    
            gas/
            * config/tc-mips.c (check_fpabi):  Handle
            VAL_GNU_MIPS_ABI_FP_NAN2008.
    
            binutils/
            * readelf.c (print_mips_fp_abi_value): Handle
            Val_GNU_MIPS_ABI_FP_NAN2008.
    
            ld/testsuite/
            * ld-mips-elf/attr-gnu-4-08.d: Update expected output.
            * ld-mips-elf/attr-gnu-4-09.d: New.
            * ld-mips-elf/attr-gnu-4-19.d: New.
            * ld-mips-elf/attr-gnu-4-29.d: New.
            * ld-mips-elf/attr-gnu-4-39.d: New.
            * ld-mips-elf/attr-gnu-4-49.d: New.
            * ld-mips-elf/attr-gnu-4-59.d: New.
            * ld-mips-elf/attr-gnu-4-69.d: New.
            * ld-mips-elf/attr-gnu-4-79.d: New.
            * ld-mips-elf/attr-gnu-4-89.d: New.
            * ld-mips-elf/attr-gnu-4-9.s: New.
            * ld-mips-elf/mips-elf.exp: Run new tests.

Diff:
---
 binutils/ChangeLog                       |  5 +++++
 binutils/readelf.c                       |  3 +++
 gas/ChangeLog                            |  5 +++++
 gas/config/tc-mips.c                     |  4 ++++
 include/ChangeLog                        |  4 ++++
 include/elf/mips.h                       |  4 ++++
 ld/testsuite/ChangeLog                   | 15 +++++++++++++++
 ld/testsuite/ld-mips-elf/attr-gnu-4-08.d |  4 ++--
 ld/testsuite/ld-mips-elf/attr-gnu-4-09.d | 21 +++++++++++++++++++++
 ld/testsuite/ld-mips-elf/attr-gnu-4-19.d | 22 ++++++++++++++++++++++
 ld/testsuite/ld-mips-elf/attr-gnu-4-29.d | 22 ++++++++++++++++++++++
 ld/testsuite/ld-mips-elf/attr-gnu-4-39.d | 22 ++++++++++++++++++++++
 ld/testsuite/ld-mips-elf/attr-gnu-4-49.d |  6 ++++++
 ld/testsuite/ld-mips-elf/attr-gnu-4-59.d |  4 ++++
 ld/testsuite/ld-mips-elf/attr-gnu-4-69.d |  4 ++++
 ld/testsuite/ld-mips-elf/attr-gnu-4-79.d |  4 ++++
 ld/testsuite/ld-mips-elf/attr-gnu-4-89.d |  4 ++++
 ld/testsuite/ld-mips-elf/attr-gnu-4-9.s  |  1 +
 ld/testsuite/ld-mips-elf/mips-elf.exp    |  4 ++--
 19 files changed, 154 insertions(+), 4 deletions(-)

diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index ab36fd9..53b69ca 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,8 @@
+2015-07-09  Catherine Moore  <clm@codesourcery.com>
+
+        * readelf.c (print_mips_fp_abi_value): Handle
+        Val_GNU_MIPS_ABI_FP_NAN2008.
+
 2015-06-26  Matthew Fortune  <matthew.fortune@imgtec.com>
 
 	* readelf.c (get_mips_dynamic_type): Handle DT_MIPS_RLD_MAP_REL.
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 398a165..ceedf3d 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -13197,6 +13197,9 @@ print_mips_fp_abi_value (int val)
     case Val_GNU_MIPS_ABI_FP_64A:
       printf (_("Hard float compat (32-bit CPU, 64-bit FPU)\n"));
       break;
+    case Val_GNU_MIPS_ABI_FP_NAN2008:
+      printf (_("NaN 2008 compatibility\n"));
+      break;
     default:
       printf ("??? (%d)\n", val);
       break;
diff --git a/gas/ChangeLog b/gas/ChangeLog
index e54d8a7..5374c5e 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2015-07-09  Catherine Moore  <clm@codesourcery.com>
+
+        * config/tc-mips.c (check_fpabi):  Handle
+        VAL_GNU_MIPS_ABI_FP_NAN2008.
+
 2015-07-08  Ciro Santilli  <ciro.santilli@gmail.com>
 
 	* doc/as.texinfo: Clarify case requirements for pseudo ops.
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index 8f2ec65..f67fbd0 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -3797,6 +3797,10 @@ check_fpabi (int fpabi)
 	       Tag_GNU_MIPS_ABI_FP, fpabi);
       break;
 
+    case Val_GNU_MIPS_ABI_FP_NAN2008:
+      /* Silently ignore compatibility value.  */
+      break;
+
     default:
       as_warn (_(".gnu_attribute %d,%d is not a recognized"
 	         " floating-point ABI"), Tag_GNU_MIPS_ABI_FP, fpabi);
diff --git a/include/ChangeLog b/include/ChangeLog
index 015e304..cd83b28 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,7 @@
+2015-07-09  Catherine Moore  <clm@codesourcery.com>
+
+        * elf/mips/mips.h (Val_GNU_MIPS_ABI_FP_NAN2008): New.
+
 2015-07-08  Pitchumani Sivanupandi <pitchumani.s@atmel.com>
 
 	* elf/avr.h: Add new 32 bit PC relative relocation.
diff --git a/include/elf/mips.h b/include/elf/mips.h
index 3926380..57de3bc 100644
--- a/include/elf/mips.h
+++ b/include/elf/mips.h
@@ -1298,6 +1298,10 @@ enum
   /* Using -mips32r2 -mfp64 -mno-odd-spreg.  */
   Val_GNU_MIPS_ABI_FP_64A = 7,
 
+  /* This is reserved for backward-compatibility with an earlier
+     implementation of the MIPS NaN2008 functionality.  */
+  Val_GNU_MIPS_ABI_FP_NAN2008 = 8,
+
   /* Values defined for Tag_GNU_MIPS_ABI_MSA.  */
 
   /* Not tagged or not using any ABIs affected by the differences.  */
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 9bf1e5b..410359c 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,18 @@
+2015-07-09  Catherine Moore  <clm@codesourcery.com>
+
+        * ld-mips-elf/attr-gnu-4-08.d: Update expected output.
+        * ld-mips-elf/attr-gnu-4-09.d: New.
+        * ld-mips-elf/attr-gnu-4-19.d: New.
+        * ld-mips-elf/attr-gnu-4-29.d: New.
+        * ld-mips-elf/attr-gnu-4-39.d: New.
+        * ld-mips-elf/attr-gnu-4-49.d: New.
+        * ld-mips-elf/attr-gnu-4-59.d: New.
+        * ld-mips-elf/attr-gnu-4-69.d: New.
+        * ld-mips-elf/attr-gnu-4-79.d: New.
+        * ld-mips-elf/attr-gnu-4-89.d: New.
+        * ld-mips-elf/attr-gnu-4-9.s: New.
+        * ld-mips-elf/mips-elf.exp: Run new tests.
+
 2015-07-08  Pitchumani Sivanupandi <pitchumani.s@atmel.com>
 
 	* ld-avr/gc-section-debugline.d: New test.
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-08.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-08.d
index 3eb1797..82215b0 100644
--- a/ld/testsuite/ld-mips-elf/attr-gnu-4-08.d
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-08.d
@@ -5,7 +5,7 @@
 
 Attribute Section: gnu
 File Attributes
-  Tag_GNU_MIPS_ABI_FP: \?\?\? \(8\)
+  Tag_GNU_MIPS_ABI_FP: NaN 2008 compatibility
 
 MIPS ABI Flags Version: 0
 
@@ -13,7 +13,7 @@ ISA: MIPS.*
 GPR size: .*
 CPR1 size: .*
 CPR2 size: 0
-FP ABI: \?\?\? \(8\)
+FP ABI: NaN 2008 compatibility
 ISA Extension: .*
 ASEs:
 	None
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-09.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-09.d
new file mode 100644
index 0000000..20c0eba
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-09.d
@@ -0,0 +1,21 @@
+#source: attr-gnu-4-0.s
+#source: attr-gnu-4-9.s -W
+#ld: -r
+#readelf: -A
+
+Attribute Section: gnu
+File Attributes
+  Tag_GNU_MIPS_ABI_FP: \?\?\? \(9\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: \?\?\? \(9\)
+ISA Extension: .*
+ASEs:
+	None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-19.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-19.d
new file mode 100644
index 0000000..008dcc1
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-19.d
@@ -0,0 +1,22 @@
+#source: attr-gnu-4-1.s
+#source: attr-gnu-4-9.s -W
+#ld: -r
+#readelf: -A
+#warning: Warning: .* uses -mdouble-float \(set by .*\), .* uses unknown floating point ABI 9
+
+Attribute Section: gnu
+File Attributes
+  Tag_GNU_MIPS_ABI_FP: Hard float \(double precision\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(double precision\)
+ISA Extension: .*
+ASEs:
+	None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-29.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-29.d
new file mode 100644
index 0000000..dd460e5
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-29.d
@@ -0,0 +1,22 @@
+#source: attr-gnu-4-2.s
+#source: attr-gnu-4-9.s -W
+#ld: -r
+#readelf: -A
+#warning: Warning: .* uses -msingle-float \(set by .*\), .* uses unknown floating point ABI 9
+
+Attribute Section: gnu
+File Attributes
+  Tag_GNU_MIPS_ABI_FP: Hard float \(single precision\)
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Hard float \(single precision\)
+ISA Extension: .*
+ASEs:
+	None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-39.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-39.d
new file mode 100644
index 0000000..458c129
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-39.d
@@ -0,0 +1,22 @@
+#source: attr-gnu-4-3.s
+#source: attr-gnu-4-9.s -W
+#ld: -r
+#readelf: -A
+#warning: Warning: .* uses -msoft-float \(set by .*\), .* uses unknown floating point ABI 9
+
+Attribute Section: gnu
+File Attributes
+  Tag_GNU_MIPS_ABI_FP: Soft float
+
+MIPS ABI Flags Version: 0
+
+ISA: MIPS.*
+GPR size: .*
+CPR1 size: .*
+CPR2 size: 0
+FP ABI: Soft float
+ISA Extension: .*
+ASEs:
+	None
+FLAGS 1: 0000000.
+FLAGS 2: 00000000
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-49.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-49.d
new file mode 100644
index 0000000..d03074e
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-49.d
@@ -0,0 +1,6 @@
+#source: attr-gnu-4-4.s -W
+#source: attr-gnu-4-9.s -W
+#ld: -r
+#error: \A[^\n]*: Warning: .* uses -mips32r2 -mfp64 \(12 callee-saved\) \(set by .*\), .* uses unknown floating point ABI 9\n
+#error:   [^\n]*: [^\n]* linking -mfp32 module with previous -mfp64 modules\n
+#error:   [^\n]*: failed to merge target specific data of file [^\n]*\.o\Z
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-59.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-59.d
new file mode 100644
index 0000000..59516ce
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-59.d
@@ -0,0 +1,4 @@
+#source: attr-gnu-4-5.s
+#source: attr-gnu-4-9.s -W -mips32r2
+#ld: -r
+#warning: Warning: .* uses -mfpxx \(set by .*\), .* uses unknown floating point ABI 9 
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-69.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-69.d
new file mode 100644
index 0000000..abf8e3e
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-69.d
@@ -0,0 +1,4 @@
+#source: attr-gnu-4-6.s
+#source: attr-gnu-4-9.s -W -mips32r2
+#ld: -r
+#warning: Warning: .* uses -mgp32 -mfp64 \(set by .*\), .* uses unknown floating point ABI 9
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-79.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-79.d
new file mode 100644
index 0000000..a70a22f
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-79.d
@@ -0,0 +1,4 @@
+#source: attr-gnu-4-7.s
+#source: attr-gnu-4-9.s -W -mips32r2
+#ld: -r
+#warning: Warning: .* uses -mgp32 -mfp64 -mno-odd-spreg \(set by .*\), .* uses unknown floating point ABI 9
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-89.d b/ld/testsuite/ld-mips-elf/attr-gnu-4-89.d
new file mode 100644
index 0000000..331a3ef
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-89.d
@@ -0,0 +1,4 @@
+#source: attr-gnu-4-8.s
+#source: attr-gnu-4-9.s -W -mips32r2
+#ld: -r
+#warning: Warning: .* uses -mgp32 -mfp64 -mno-odd-spreg \(set by .*\), .* uses unknown floating point ABI 8
diff --git a/ld/testsuite/ld-mips-elf/attr-gnu-4-9.s b/ld/testsuite/ld-mips-elf/attr-gnu-4-9.s
new file mode 100644
index 0000000..49c7a87
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/attr-gnu-4-9.s
@@ -0,0 +1 @@
+.gnu_attribute 4,9
diff --git a/ld/testsuite/ld-mips-elf/mips-elf.exp b/ld/testsuite/ld-mips-elf/mips-elf.exp
index 923d8df..dd8b228 100644
--- a/ld/testsuite/ld-mips-elf/mips-elf.exp
+++ b/ld/testsuite/ld-mips-elf/mips-elf.exp
@@ -674,12 +674,12 @@ foreach firstfpabi [list 0 1 2 3 4 5 6 7 ] {
   }
 }
 foreach firstfpabi [list 4 5 6 7 ] {
-  foreach secondfpabi [list 0 1 2 3 8] {
+  foreach secondfpabi [list 0 1 2 3 8 9] {
     run_dump_test "attr-gnu-4-${firstfpabi}${secondfpabi}" $o32flagslist
   }
 }
 foreach firstfpabi [list 0 1 2 3 ] {
-  foreach secondfpabi [list 0 1 2 3 8] {
+  foreach secondfpabi [list 0 1 2 3 8 9] {
     run_dump_test "attr-gnu-4-${firstfpabi}${secondfpabi}"
   }
 }


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]