This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB 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]

[rfc] [4/6] Remove macro SMASH_TEXT_ADDRESS


Hello,

this patch removes macro SMASH_TEXT_ADDRESS from gdbarch.sh.


ChangeLog: * gdbarch.sh (SMASH_TEXT_ADDRESS): Replace by gdbarch_smash_text_address. * somread.c (som_symtab_read): Likewise. * elfread.c (record_minimal_symbol): Likewise. * dbxread.c (process_one_symbol): Likewise. * coffread.c (coff_symtab_read): Likewise. * gdbarch.c, gdbarch.h: Regenerate.

Is this ok to commit?

--
Markus Deuling
GNU Toolchain for Linux on Cell BE
deuling@de.ibm.com






diff -urN src/gdb/coffread.c dev/gdb/coffread.c
--- src/gdb/coffread.c	2007-06-08 05:38:50.000000000 +0200
+++ dev/gdb/coffread.c	2007-06-11 20:16:42.000000000 +0200
@@ -910,7 +910,8 @@
 		      cs->c_sclass == C_EXT || cs->c_sclass == C_THUMBEXTFUNC
 		      || cs->c_sclass == C_THUMBEXT ?
 		      mst_text : mst_file_text;
-		    tmpaddr = SMASH_TEXT_ADDRESS (tmpaddr);
+		    tmpaddr = gdbarch_smash_text_address
+				(current_gdbarch, tmpaddr);
 		  }
 		else if (bfd_section->flags & SEC_ALLOC
 			 && bfd_section->flags & SEC_LOAD)
diff -urN src/gdb/dbxread.c dev/gdb/dbxread.c
--- src/gdb/dbxread.c	2007-04-03 02:09:54.000000000 +0200
+++ dev/gdb/dbxread.c	2007-06-11 20:14:54.000000000 +0200
@@ -2738,7 +2738,7 @@
 
       /* Relocate for dynamic loading.  */
       valu += ANOFFSET (section_offsets, SECT_OFF_TEXT (objfile));
-      valu = SMASH_TEXT_ADDRESS (valu);
+      valu = gdbarch_smash_text_address (current_gdbarch, valu);
       last_function_start = valu;
 
       goto define_a_symbol;
diff -urN src/gdb/elfread.c dev/gdb/elfread.c
--- src/gdb/elfread.c	2007-06-08 05:38:50.000000000 +0200
+++ dev/gdb/elfread.c	2007-06-11 20:14:54.000000000 +0200
@@ -96,7 +96,7 @@
 		       asection *bfd_section, struct objfile *objfile)
 {
   if (ms_type == mst_text || ms_type == mst_file_text)
-    address = SMASH_TEXT_ADDRESS (address);
+    address = gdbarch_smash_text_address (current_gdbarch, address);
 
   return prim_record_minimal_symbol_and_info
     (name, address, ms_type, NULL, bfd_section->index, bfd_section, objfile);
diff -urN src/gdb/gdbarch.c dev/gdb/gdbarch.c
--- src/gdb/gdbarch.c	2007-06-11 11:31:56.000000000 +0200
+++ dev/gdb/gdbarch.c	2007-06-11 20:15:46.000000000 +0200
@@ -1223,12 +1223,6 @@
   fprintf_unfiltered (file,
                       "gdbarch_dump: skip_trampoline_code = <0x%lx>\n",
                       (long) current_gdbarch->skip_trampoline_code);
-#ifdef SMASH_TEXT_ADDRESS
-  fprintf_unfiltered (file,
-                      "gdbarch_dump: %s # %s\n",
-                      "SMASH_TEXT_ADDRESS(addr)",
-                      XSTRING (SMASH_TEXT_ADDRESS (addr)));
-#endif
   fprintf_unfiltered (file,
                       "gdbarch_dump: smash_text_address = <0x%lx>\n",
                       (long) current_gdbarch->smash_text_address);
diff -urN src/gdb/gdbarch.h dev/gdb/gdbarch.h
--- src/gdb/gdbarch.h	2007-06-11 11:31:56.000000000 +0200
+++ dev/gdb/gdbarch.h	2007-06-11 20:15:37.000000000 +0200
@@ -846,18 +846,12 @@
 extern CORE_ADDR gdbarch_addr_bits_remove (struct gdbarch *gdbarch, CORE_ADDR addr);
 extern void set_gdbarch_addr_bits_remove (struct gdbarch *gdbarch, gdbarch_addr_bits_remove_ftype *addr_bits_remove);
 
-/* It is not at all clear why SMASH_TEXT_ADDRESS is not folded into
+/* It is not at all clear why gdbarch_smash_text_address is not folded into
    gdbarch_addr_bits_remove. */
 
 typedef CORE_ADDR (gdbarch_smash_text_address_ftype) (CORE_ADDR addr);
 extern CORE_ADDR gdbarch_smash_text_address (struct gdbarch *gdbarch, CORE_ADDR addr);
 extern void set_gdbarch_smash_text_address (struct gdbarch *gdbarch, gdbarch_smash_text_address_ftype *smash_text_address);
-#if !defined (GDB_TM_FILE) && defined (SMASH_TEXT_ADDRESS)
-#error "Non multi-arch definition of SMASH_TEXT_ADDRESS"
-#endif
-#if !defined (SMASH_TEXT_ADDRESS)
-#define SMASH_TEXT_ADDRESS(addr) (gdbarch_smash_text_address (current_gdbarch, addr))
-#endif
 
 /* FIXME/cagney/2001-01-18: This should be split in two.  A target method that
    indicates if the target needs software single step.  An ISA method to
diff -urN src/gdb/gdbarch.sh dev/gdb/gdbarch.sh
--- src/gdb/gdbarch.sh	2007-06-11 11:31:56.000000000 +0200
+++ dev/gdb/gdbarch.sh	2007-06-11 20:15:29.000000000 +0200
@@ -596,9 +596,9 @@
 # sort of generic thing to handle alignment or segmentation (it's
 # possible it should be in TARGET_READ_PC instead).
 f::CORE_ADDR:addr_bits_remove:CORE_ADDR addr:addr::core_addr_identity::0
-# It is not at all clear why SMASH_TEXT_ADDRESS is not folded into
+# It is not at all clear why gdbarch_smash_text_address is not folded into
 # gdbarch_addr_bits_remove.
-f:=:CORE_ADDR:smash_text_address:CORE_ADDR addr:addr::core_addr_identity::0
+f::CORE_ADDR:smash_text_address:CORE_ADDR addr:addr::core_addr_identity::0
 
 # FIXME/cagney/2001-01-18: This should be split in two.  A target method that
 # indicates if the target needs software single step.  An ISA method to
diff -urN src/gdb/somread.c dev/gdb/somread.c
--- src/gdb/somread.c	2007-06-06 05:21:54.000000000 +0200
+++ dev/gdb/somread.c	2007-06-11 20:17:48.000000000 +0200
@@ -133,7 +133,8 @@
 	      symname = bufp->name.n_strx + stringtab;
 	      ms_type = mst_text;
 	      bufp->symbol_value += text_offset;
-	      bufp->symbol_value = SMASH_TEXT_ADDRESS (bufp->symbol_value);
+	      bufp->symbol_value = gdbarch_smash_text_address
+				     (current_gdbarch, bufp->symbol_value);
 	      break;
 
 	    case ST_ENTRY:
@@ -146,14 +147,16 @@
 	      else
 		ms_type = mst_text;
 	      bufp->symbol_value += text_offset;
-	      bufp->symbol_value = SMASH_TEXT_ADDRESS (bufp->symbol_value);
+	      bufp->symbol_value = gdbarch_smash_text_address
+				     (current_gdbarch, bufp->symbol_value);
 	      break;
 
 	    case ST_STUB:
 	      symname = bufp->name.n_strx + stringtab;
 	      ms_type = mst_solib_trampoline;
 	      bufp->symbol_value += text_offset;
-	      bufp->symbol_value = SMASH_TEXT_ADDRESS (bufp->symbol_value);
+	      bufp->symbol_value = gdbarch_smash_text_address
+				     (current_gdbarch, bufp->symbol_value);
 	      break;
 
 	    case ST_DATA:
@@ -181,7 +184,8 @@
 	      symname = bufp->name.n_strx + stringtab;
 	      ms_type = mst_file_text;
 	      bufp->symbol_value += text_offset;
-	      bufp->symbol_value = SMASH_TEXT_ADDRESS (bufp->symbol_value);
+	      bufp->symbol_value = gdbarch_smash_text_address
+				     (current_gdbarch, bufp->symbol_value);
 
 	    check_strange_names:
 	      /* Utah GCC 2.5, FSF GCC 2.6 and later generate correct local
@@ -212,7 +216,8 @@
 	      symname = bufp->name.n_strx + stringtab;
 	      ms_type = mst_file_text;
 	      bufp->symbol_value += text_offset;
-	      bufp->symbol_value = SMASH_TEXT_ADDRESS (bufp->symbol_value);
+	      bufp->symbol_value = gdbarch_smash_text_address
+				     (current_gdbarch, bufp->symbol_value);
 	      break;
 
 	    case ST_ENTRY:
@@ -223,14 +228,16 @@
 		 we do for SS_UNIVERSAL and SS_EXTERNAL symbols above.  */
 	      ms_type = mst_file_text;
 	      bufp->symbol_value += text_offset;
-	      bufp->symbol_value = SMASH_TEXT_ADDRESS (bufp->symbol_value);
+	      bufp->symbol_value = gdbarch_smash_text_address
+				     (current_gdbarch, bufp->symbol_value);
 	      break;
 
 	    case ST_STUB:
 	      symname = bufp->name.n_strx + stringtab;
 	      ms_type = mst_solib_trampoline;
 	      bufp->symbol_value += text_offset;
-	      bufp->symbol_value = SMASH_TEXT_ADDRESS (bufp->symbol_value);
+	      bufp->symbol_value = gdbarch_smash_text_address
+				     (current_gdbarch, bufp->symbol_value);
 	      break;
 
 


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