[PATCH v1 1/1] ld: microblaze: Add error detail for mxl-gp-opt flag

Neal Frager neal.frager@amd.com
Wed Sep 27 13:48:21 GMT 2023
Compiler will give error messages in more detail
for microblaze mxl-gp-opt flag.

This patch has been tested for years of AMD Xilinx Yocto
releases as part of the following patch set:

https://github.com/Xilinx/meta-xilinx/tree/master/meta-microblaze/recipes-devtools/binutils/binutils

Signed-off-by: Neal Frager <neal.frager@amd.com>
---
 ld/ldmain.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/ld/ldmain.c b/ld/ldmain.c
index 06ac2c64fa8..aca3d84ccf1 100644
--- a/ld/ldmain.c
+++ b/ld/ldmain.c
@@ -1575,6 +1575,16 @@ reloc_overflow (struct bfd_link_info *info,
 	  break;
 	case bfd_link_hash_defined:
 	case bfd_link_hash_defweak:
+	  if((strcmp(reloc_name,"R_MICROBLAZE_SRW32") == 0) &&  entry->type == bfd_link_hash_defined)
+	  {
+	  einfo (_(" relocation truncated to fit: don't enable small data pointer optimizations[mxl-gp-opt] if extern or multiple declarations used: "
+		 "%s against symbol `%T' defined in %A section in %B"),
+		 reloc_name, entry->root.string,
+		 entry->u.def.section,
+		 entry->u.def.section == bfd_abs_section_ptr
+		 ? info->output_bfd : entry->u.def.section->owner);
+	  break;
+	  }	
 	  einfo (_(" relocation truncated to fit: "
 		   "%s against symbol `%pT' defined in %pA section in %pB"),
 		 reloc_name, entry->root.string,
-- 
2.25.1



More information about the Binutils mailing list