[committed] Fix signed warnings from som.c with GCC 4.0.0

John David Anglin dave@hiauly1.hia.nrc.ca
Sun May 22 21:06:00 GMT 2005


The title says it all.  Tested on hppa2.0w-hp-hpux11.11 with gcc 3.4.4
and 4.0.0 with no regressions in the testsuite.  Committed to trunk.

Dave
-- 
J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)

2005-05-22  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* som.c (try_prev_fixup): Changed type of subspace_reloc_sizep to
	unsigned int *.
	(som_write_space_strings): Change type of tmp_space and p to char *.
	(som_write_symbol_strings): Likewise.  Also change type of comp to
	char *comp[4].
	(som_begin_writing): Change type of strings_size to unsigned int.
	(som_finish_writing): Likewise.
	(som_slurp_reloc_table): Change type of external_relocs to unsigned
	char *.
	* som.h (struct som_section_data_struct): Change type of reloc_stream
	field to unsigned char *.

Index: som.c
===================================================================
RCS file: /cvs/src/src/bfd/som.c,v
retrieving revision 1.56
diff -u -3 -p -r1.56 som.c
--- som.c	4 May 2005 15:53:38 -0000	1.56
+++ som.c	22 May 2005 19:19:35 -0000
@@ -1054,7 +1054,7 @@ som_reloc_queue_find (unsigned char *p,
 
 static unsigned char *
 try_prev_fixup (bfd *abfd ATTRIBUTE_UNUSED,
-		int *subspace_reloc_sizep,
+		unsigned int *subspace_reloc_sizep,
 		unsigned char *p,
 		unsigned int size,
 		struct reloc_queue *queue)
@@ -2958,8 +2958,8 @@ som_write_space_strings (bfd *abfd,
   /* Chunk of memory that we can use as buffer space, then throw
      away.  */
   size_t tmp_space_size = SOM_TMP_BUFSIZE;
-  unsigned char *tmp_space = alloca (tmp_space_size);
-  unsigned char *p = tmp_space;
+  char *tmp_space = alloca (tmp_space_size);
+  char *p = tmp_space;
   unsigned int strings_size = 0;
   asection *section;
   bfd_size_type amt;
@@ -3063,11 +3063,11 @@ som_write_symbol_strings (bfd *abfd,
   /* Chunk of memory that we can use as buffer space, then throw
      away.  */
   size_t tmp_space_size = SOM_TMP_BUFSIZE;
-  unsigned char *tmp_space = alloca (tmp_space_size);
-  unsigned char *p = tmp_space;
+  char *tmp_space = alloca (tmp_space_size);
+  char *p = tmp_space;
 
   unsigned int strings_size = 0;
-  unsigned char *comp[4];
+  char *comp[4];
   bfd_size_type amt;
 
   /* This gets a bit gruesome because of the compilation unit.  The
@@ -3227,7 +3227,7 @@ static bfd_boolean
 som_begin_writing (bfd *abfd)
 {
   unsigned long current_offset = 0;
-  int strings_size = 0;
+  unsigned int strings_size = 0;
   unsigned long num_spaces, num_subspaces, i;
   asection *section;
   unsigned int total_subspaces = 0;
@@ -3576,12 +3576,12 @@ som_finish_writing (bfd *abfd)
 {
   int num_spaces = som_count_spaces (abfd);
   asymbol **syms = bfd_get_outsymbols (abfd);
-  int i, num_syms, strings_size;
+  int i, num_syms;
   int subspace_index = 0;
   file_ptr location;
   asection *section;
   unsigned long current_offset;
-  unsigned int total_reloc_size;
+  unsigned int strings_size, total_reloc_size;
   bfd_size_type amt;
 
   /* We must set up the version identifier here as objcopy/strip copy
@@ -4842,7 +4842,7 @@ som_slurp_reloc_table (bfd *abfd,
 		       asymbol **symbols,
 		       bfd_boolean just_count)
 {
-  char *external_relocs;
+  unsigned char *external_relocs;
   unsigned int fixup_stream_size;
   arelent *internal_relocs;
   unsigned int num_relocs;
Index: som.h
===================================================================
RCS file: /cvs/src/src/bfd/som.h,v
retrieving revision 1.14
diff -u -3 -p -r1.14 som.h
--- som.h	4 May 2005 15:53:39 -0000	1.14
+++ som.h	22 May 2005 19:19:35 -0000
@@ -214,7 +214,7 @@ struct som_section_data_struct
 {
   struct som_copyable_section_data_struct *copy_data;
   unsigned int reloc_size;
-  char *reloc_stream;
+  unsigned char *reloc_stream;
   struct space_dictionary_record *space_dict;
   struct som_subspace_dictionary_record *subspace_dict;
 };



More information about the Binutils mailing list