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] [AArch64] Flip sense of erratum_835769_scan.


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

commit 2144188dcf696a50c6dbbacc1bf66645659e1fda
Author: Marcus Shawcroft <marcus.shawcroft@gmail.com>
Date:   Fri Mar 20 18:49:29 2015 +0000

    [AArch64] Flip sense of erratum_835769_scan.

Diff:
---
 bfd/ChangeLog       |  6 ++++++
 bfd/elfnn-aarch64.c | 21 +++++++++++++--------
 2 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 780de27..d7528c9 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,11 @@
 2015-03-23  Marcus Shawcroft  <marcus.shawcroft@arm.com>
 
+	* elfnn-aarch64.c (erratum_835769_scan) Add comment.  Reverse
+	sense of boolean return.
+	(elfNN_aarch64_size_stubs): Adjust for above.
+
+2015-03-23  Marcus Shawcroft  <marcus.shawcroft@arm.com>
+
 	* elfnn-aarch64.c (elf_aarch64_create_or_find_stub_sec):
 	Remove unused parameter.
 	(elfNN_aarch64_size_stubs): Adjust for above.
diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c
index acef708..15db87f 100644
--- a/bfd/elfnn-aarch64.c
+++ b/bfd/elfnn-aarch64.c
@@ -2981,6 +2981,11 @@ elf_aarch64_compare_mapping (const void *a, const void *b)
     return 0;
 }
 
+
+/* Scan for cortex-a53 erratum 835769 sequence.
+
+   Return TRUE else FALSE on abnormal termination.  */
+
 static bfd_boolean
 erratum_835769_scan (bfd *input_bfd,
 		     struct bfd_link_info *info,
@@ -2995,7 +3000,7 @@ erratum_835769_scan (bfd *input_bfd,
   unsigned int fix_table_size = *fix_table_size_p;
 
   if (htab == NULL)
-    return FALSE;
+    return TRUE;
 
   for (section = input_bfd->sections;
        section != NULL;
@@ -3015,7 +3020,7 @@ erratum_835769_scan (bfd *input_bfd,
       if (elf_section_data (section)->this_hdr.contents != NULL)
 	contents = elf_section_data (section)->this_hdr.contents;
       else if (! bfd_malloc_and_get_section (input_bfd, section, &contents))
-	return TRUE;
+	return FALSE;
 
       sec_data = elf_aarch64_section_data (section);
 
@@ -3048,7 +3053,7 @@ erratum_835769_scan (bfd *input_bfd,
 		    sprintf
 		      (stub_name,"__erratum_835769_veneer_%d", num_fixes);
 		  else
-		    return TRUE;
+		    return FALSE;
 
 		  if (num_fixes == fix_table_size)
 		    {
@@ -3059,7 +3064,7 @@ erratum_835769_scan (bfd *input_bfd,
 				       sizeof (struct aarch64_erratum_835769_fix)
 					 * fix_table_size);
 		      if (fixes == NULL)
-			return TRUE;
+			return FALSE;
 		    }
 
 		  fixes[num_fixes].input_bfd = input_bfd;
@@ -3079,7 +3084,7 @@ erratum_835769_scan (bfd *input_bfd,
   *fixes_p = fixes;
   *num_fixes_p = num_fixes;
   *fix_table_size_p = fix_table_size;
-  return FALSE;
+  return TRUE;
 }
 
 /* Find or create a stub section.  */
@@ -3446,9 +3451,9 @@ elfNN_aarch64_size_stubs (bfd *output_bfd,
 	  if (htab->fix_erratum_835769)
 	    {
 	      /* Scan for sequences which might trigger erratum 835769.  */
-	      if (erratum_835769_scan (input_bfd, info, &erratum_835769_fixes,
-				       &num_erratum_835769_fixes,
-				       &erratum_835769_fix_table_size)  != 0)
+	      if (!erratum_835769_scan (input_bfd, info, &erratum_835769_fixes,
+					&num_erratum_835769_fixes,
+					&erratum_835769_fix_table_size))
 		goto error_ret_free_local;
 	    }
 	}


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