This lot mainly cleans up `comparison between signed and unsigned' gcc
authorAlan Modra <amodra@gmail.com>
Mon, 21 Feb 2000 12:01:27 +0000 (12:01 +0000)
committerAlan Modra <amodra@gmail.com>
Mon, 21 Feb 2000 12:01:27 +0000 (12:01 +0000)
warnings.  One usused var, and a macro parenthesis fix too.  Also check
input sections are elf when doing gc in elflink.h.

18 files changed:
bfd/ChangeLog
bfd/archures.c
bfd/bfd-in2.h
bfd/elflink.h
bfd/libbfd.c
bfd/section.c
bfd/trad-core.c
binutils/ChangeLog
binutils/objdump.c
gas/ChangeLog
gas/config/tc-i386.c
gas/listing.c
include/ChangeLog
include/dis-asm.h
ld/ChangeLog
ld/ldlang.c
opcodes/ChangeLog
opcodes/dis-buf.c

index ecb6642..d5bf4dd 100644 (file)
@@ -1,3 +1,20 @@
+2000-02-21  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+       * archures.c (bfd_octets_per_byte): Return unsigned int.
+       (bfd_arch_mach_octets_per_byte): Ditto.
+       * libbfd.c (bfd_read, bfd_seek): Quell signed vs. unsigned
+       comparison warning.
+       * section.c (bfd_get_section_size_before_reloc): Quell signed
+       vs. unsigned comparison warning.
+       (bfd_get_section_size_after_reloc): Same here.  Fix parentheses too.
+       * trad-core.c (trad_unix_core_file_p): Correct 2000-01-27
+       change.  What was I thinking?
+       * bfd-in2.h: Regenerate.
+
+       * elflink.h (elf_gc_sweep): Skip non-elf input bfds.
+       (elf_gc_sections): Same here.
+       (elf_gc_common_finalize_got_offsets): And here.
+
 2000-02-21  Ian Lance Taylor  <ian@zembu.com>
 
        ELF HPPA doesn't work at present; remove it until it does.
index 3c7dc13..21e980e 100644 (file)
@@ -934,7 +934,7 @@ FUNCTION
        bfd_octets_per_byte
 
 SYNOPSIS
-       int bfd_octets_per_byte(bfd *abfd);
+       unsigned int bfd_octets_per_byte(bfd *abfd);
 
 DESCRIPTION
        Return the number of octets (8-bit quantities) per target byte
@@ -943,7 +943,7 @@ DESCRIPTION
 
 */
 
-int
+unsigned int
 bfd_octets_per_byte (abfd)
      bfd * abfd;
 {
@@ -956,8 +956,8 @@ FUNCTION
        bfd_arch_mach_octets_per_byte
 
 SYNOPSIS
-       int bfd_arch_mach_octets_per_byte(enum bfd_architecture arch,
-                                          unsigned long machine);
+       unsigned int bfd_arch_mach_octets_per_byte(enum bfd_architecture arch,
+                                                   unsigned long machine);
 
 DESCRIPTION
        See bfd_octets_per_byte.
@@ -966,7 +966,7 @@ DESCRIPTION
         available
 */
 
-int
+unsigned int
 bfd_arch_mach_octets_per_byte (arch, mach)
     enum bfd_architecture arch;
     unsigned long mach;
@@ -977,4 +977,3 @@ bfd_arch_mach_octets_per_byte (arch, mach)
       return ap->bits_per_byte / 8;
     return 1;
 }
-
index d7b52db..99bc67f 100644 (file)
@@ -1219,9 +1219,11 @@ extern const struct symbol_cache_entry * const bfd_com_symbol;
 extern const struct symbol_cache_entry * const bfd_und_symbol;
 extern const struct symbol_cache_entry * const bfd_ind_symbol;
 #define bfd_get_section_size_before_reloc(section) \
-     (section->reloc_done ? (abort(),1): (section)->_raw_size)
+     ((section)->reloc_done ? (abort (), (bfd_size_type) 1) \
+                            : (section)->_raw_size)
 #define bfd_get_section_size_after_reloc(section) \
-     ((section->reloc_done) ? (section)->_cooked_size: (abort(),1))
+     ((section)->reloc_done ? (section)->_cooked_size \
+                            : (abort (), (bfd_size_type) 1))
 asection *
 bfd_get_section_by_name PARAMS ((bfd *abfd, CONST char *name));
 
@@ -1467,10 +1469,10 @@ const char *
 bfd_printable_arch_mach
  PARAMS ((enum bfd_architecture arch, unsigned long machine));
 
-int 
+unsigned int 
 bfd_octets_per_byte PARAMS ((bfd *abfd));
 
-int 
+unsigned int 
 bfd_arch_mach_octets_per_byte PARAMS ((enum bfd_architecture arch,
     unsigned long machine));
 
index 78a5e34..54577a6 100644 (file)
@@ -6202,6 +6202,9 @@ elf_gc_sweep (info, gc_sweep_hook)
     {
       asection *o;
 
+      if (bfd_get_flavour (sub) != bfd_target_elf_flavour)
+       continue;
+
       for (o = sub->sections; o != NULL; o = o->next)
        {
          /* Keep special sections.  Keep .debug sections.  */
@@ -6416,6 +6419,10 @@ elf_gc_sections (abfd, info)
   for (sub = info->input_bfds; sub != NULL; sub = sub->link_next)
     {
       asection *o;
+
+      if (bfd_get_flavour (sub) != bfd_target_elf_flavour)
+       continue;
+
       for (o = sub->sections; o != NULL; o = o->next)
        {
          if (o->flags & SEC_KEEP)
@@ -6571,10 +6578,14 @@ elf_gc_common_finalize_got_offsets (abfd, info)
   /* Do the local .got entries first.  */
   for (i = info->input_bfds; i; i = i->link_next)
     {
-      bfd_signed_vma *local_got = elf_local_got_refcounts (i);
+      bfd_signed_vma *local_got;
       bfd_size_type j, locsymcount;
       Elf_Internal_Shdr *symtab_hdr;
 
+      if (bfd_get_flavour (i) != bfd_target_elf_flavour)
+       continue;
+
+      local_got = elf_local_got_refcounts (i);
       if (!local_got)
        continue;
 
index fb833f6..881af73 100644 (file)
@@ -274,7 +274,7 @@ bfd_read (ptr, size, nitems, abfd)
       get = size * nitems;
       if (abfd->where + get > bim->size)
        {
-         if (bim->size < abfd->where)
+         if (bim->size < (bfd_size_type) abfd->where)
            get = 0;
          else
            get = bim->size - abfd->where;
@@ -689,7 +689,7 @@ bfd_seek (abfd, position, direction)
       else
        abfd->where += position;
       
-      if (abfd->where > bim->size)
+      if ((bfd_size_type) abfd->where > bim->size)
        {
          abfd->where = bim->size;
          bfd_set_error (bfd_error_file_truncated);
index 6e50d16..b3b7608 100644 (file)
@@ -508,9 +508,11 @@ CODE_FRAGMENT
 .extern const struct symbol_cache_entry * const bfd_und_symbol;
 .extern const struct symbol_cache_entry * const bfd_ind_symbol;
 .#define bfd_get_section_size_before_reloc(section) \
-.     (section->reloc_done ? (abort(),1): (section)->_raw_size)
+.     ((section)->reloc_done ? (abort (), (bfd_size_type) 1) \
+.                            : (section)->_raw_size)
 .#define bfd_get_section_size_after_reloc(section) \
-.     ((section->reloc_done) ? (section)->_cooked_size: (abort(),1))
+.     ((section)->reloc_done ? (section)->_cooked_size \
+.                            : (abort (), (bfd_size_type) 1))
 */
 
 /* We use a macro to initialize the static asymbol structures because
index 92c5b63..633c53d 100644 (file)
@@ -202,7 +202,7 @@ trad_unix_core_file_p (abfd)
      0 is at the place pointed to by u_ar0 (by setting the vma of the start
      of the section to -u_ar0).  GDB uses this info to locate the regs,
      using minor trickery to get around the offset-or-absolute-addr problem. */
-  core_regsec (abfd)->vma = (asection *) (0 - (bfd_vma) u.u_ar0);
+  core_regsec (abfd)->vma = - (bfd_vma) u.u_ar0;
 
   core_datasec (abfd)->filepos = NBPG * UPAGES;
   core_stacksec (abfd)->filepos = (NBPG * UPAGES) + NBPG * u.u_dsize
index c7b1716..89376b9 100644 (file)
@@ -1,3 +1,11 @@
+2000-02-21  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+       * objdump.c (dump_section_header): Change `opb' to unsigned.
+       (find_symbol_for_address): Same here.
+       (disassemble_data): And here.  Change `addr_offset',
+       `stop_offset', `nextstop_offset' to unsigned long.
+       (dump_data): Change opb to unsigned.
+
 2000-02-18  Frank Ch. Eigler  <fche@redhat.com>
 
        * resrc.c: Remove unmatched #if for cygwin.
index deaf991..488d4f3 100644 (file)
@@ -340,7 +340,7 @@ dump_section_header (abfd, section, ignored)
      PTR ignored ATTRIBUTE_UNUSED;
 {
   char *comma = "";
-  int opb = bfd_octets_per_byte (abfd);
+  unsigned int opb = bfd_octets_per_byte (abfd);
 
   printf ("%3d %-13s %08lx  ", section->index,
          bfd_get_section_name (abfd, section),
@@ -743,7 +743,7 @@ find_symbol_for_address (abfd, sec, vma, require_sec, place)
   long min = 0;
   long max = sorted_symcount;
   long thisplace;
-  int opb = bfd_octets_per_byte (abfd); 
+  unsigned int opb = bfd_octets_per_byte (abfd); 
 
   if (sorted_symcount < 1)
     return NULL;
@@ -1574,12 +1574,12 @@ static void
 disassemble_data (abfd)
      bfd *abfd;
 {
-  long addr_offset;
+  unsigned long addr_offset;
   disassembler_ftype disassemble_fn;
   struct disassemble_info disasm_info;
   struct objdump_disasm_info aux;
   asection *section;
-  int opb = bfd_octets_per_byte (abfd);
+  unsigned int opb = bfd_octets_per_byte (abfd);
 
   print_files = NULL;
   prev_functionname = NULL;
@@ -1659,7 +1659,7 @@ disassemble_data (abfd)
       arelent **relbuf = NULL;
       arelent **relpp = NULL;
       arelent **relppend = NULL;
-      long stop_offset;
+      unsigned long stop_offset;
       asymbol *sym = NULL;
       long place = 0;
 
@@ -1743,7 +1743,7 @@ disassemble_data (abfd)
       while (addr_offset < stop_offset)
        {
          asymbol *nextsym;
-         long nextstop_offset;
+         unsigned long nextstop_offset;
          boolean insns;
          
          if (sym != NULL && bfd_asymbol_value (sym) <= section->vma + addr_offset)
@@ -2264,7 +2264,7 @@ dump_data (abfd)
   bfd_size_type datasize = 0;
   bfd_size_type addr_offset;
   bfd_size_type start_offset, stop_offset;
-  int opb = bfd_octets_per_byte (abfd);
+  unsigned int opb = bfd_octets_per_byte (abfd);
 
   for (section = abfd->sections; section != NULL; section =
        section->next)
index 8eeb49b..1b944a9 100644 (file)
@@ -1,3 +1,14 @@
+2000-02-21  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+       * listing.c (print_lines): Remove unused variable `end'.
+
+       * config/tc-i386.c (md_assemble): Use `reloc()' to select reloc
+       type for JumpInterSegment output. Use enum bfd_reloc_code_real for
+       reloc_type when BFD_ASSEMBLER. 
+       (md_estimate_size_before_relax): Use enum bfd_reloc_code_real for
+       reloc_type when BFD_ASSEMBLER. Move common code out of switch
+       statement and quell signed vs. unsigned comparison warning. 
+
 2000-02-18  Nick Clifton  <nickc@cygnus.com>
 
        * config/tc-d10v.c (find_opcode): Add a symbol's value to
index 5e7bb78..43886d1 100644 (file)
@@ -892,7 +892,7 @@ tc_i386_force_relocation (fixp)
   return 0;
 #else
   /* For COFF */
-  return fixp->fx_r_type==7;
+  return fixp->fx_r_type == 7;
 #endif
 }
 
@@ -2204,7 +2204,6 @@ md_assemble (line)
     else if (i.tm.opcode_modifier & JumpInterSegment)
       {
        int size;
-       int reloc_type;
        int prefix;
        int code16;
 
@@ -2221,12 +2220,8 @@ md_assemble (line)
          }
 
        size = 4;
-       reloc_type = BFD_RELOC_32;
        if (code16)
-         {
-           size = 2;
-           reloc_type = BFD_RELOC_16;
-         }
+         size = 2;
 
        if (i.prefixes != 0 && !intel_syntax)
          as_warn (_("skipping prefixes on this instruction"));
@@ -2249,7 +2244,7 @@ md_assemble (line)
          }
        else
          fix_new_exp (frag_now, p - frag_now->fr_literal, size,
-                      i.imms[1], 0, reloc_type);
+                      i.imms[1], 0, reloc (size, 0, i.disp_reloc[0]));
        if (i.imms[0]->X_op != O_constant)
          as_bad (_("can't handle non absolute segment in `%s'"),
                  i.tm.name);
@@ -2424,7 +2419,11 @@ md_assemble (line)
                        /* Need a 32-bit fixup (don't support 8bit
                           non-absolute ims).  Try to support other
                           sizes ... */
-                       int r_type;
+#ifdef BFD_ASSEMBLER
+                       enum bfd_reloc_code_real reloc_type;
+#else
+                       int reloc_type;
+#endif
                        int size;
                        int pcrel = 0;
 
@@ -2436,9 +2435,9 @@ md_assemble (line)
                          size = 4;
                        insn_size += size;
                        p = frag_more (size);
-                       r_type = reloc (size, 0, i.disp_reloc[0]);
+                       reloc_type = reloc (size, 0, i.disp_reloc[0]);
 #ifdef BFD_ASSEMBLER
-                       if (r_type == BFD_RELOC_32
+                       if (reloc_type == BFD_RELOC_32
                            && GOT_symbol
                            && GOT_symbol == i.imms[n]->X_add_symbol
                            && (i.imms[n]->X_op == O_symbol
@@ -2447,12 +2446,12 @@ md_assemble (line)
                                         (i.imms[n]->X_op_symbol)->X_op)
                                        == O_subtract))))
                          {
-                           r_type = BFD_RELOC_386_GOTPC;
+                           reloc_type = BFD_RELOC_386_GOTPC;
                            i.imms[n]->X_add_number += 3;
                          }
 #endif
                        fix_new_exp (frag_now, p - frag_now->fr_literal, size,
-                                    i.imms[n], pcrel, r_type);
+                                    i.imms[n], pcrel, reloc_type);
                      }
                  }
              }
@@ -3643,7 +3642,24 @@ md_estimate_size_before_relax (fragP, segment)
       /* symbol is undefined in this segment */
       int code16 = fragP->fr_subtype & CODE16;
       int size = code16 ? 2 : 4;
-      int pcrel_reloc = code16 ? BFD_RELOC_16_PCREL : BFD_RELOC_32_PCREL;
+#ifdef BFD_ASSEMBLER
+      enum bfd_reloc_code_real reloc_type;
+#else
+      int reloc_type;
+#endif
+
+      if (GOT_symbol /* Not quite right - we should switch on presence of
+                       @PLT, but I cannot see how to get to that from
+                       here.  We should have done this in md_assemble to
+                       really get it right all of the time, but I think it
+                       does not matter that much, as this will be right
+                       most of the time. ERY  */
+         && S_GET_SEGMENT(fragP->fr_symbol) == undefined_section)
+       reloc_type = BFD_RELOC_386_PLT32;
+      else if (code16)
+       reloc_type = BFD_RELOC_16_PCREL;
+      else
+       reloc_type = BFD_RELOC_32_PCREL;
 
       switch (opcode[0])
        {
@@ -3653,31 +3669,19 @@ md_estimate_size_before_relax (fragP, segment)
          fix_new (fragP, old_fr_fix, size,
                   fragP->fr_symbol,
                   fragP->fr_offset, 1,
-                  (GOT_symbol && /* Not quite right - we should switch on
-                                    presence of @PLT, but I cannot see how
-                                    to get to that from here.  We should have
-                                    done this in md_assemble to really
-                                    get it right all of the time, but I
-                                    think it does not matter that much, as
-                                    this will be right most of the time. ERY*/
-                   S_GET_SEGMENT(fragP->fr_symbol) == undefined_section)
-                  ? BFD_RELOC_386_PLT32 : pcrel_reloc);
+                  reloc_type);
          break;
 
        default:
          /* This changes the byte-displacement jump 0x7N
-            to the dword-displacement jump 0x0f8N.  */
+            to the dword-displacement jump 0x0f,0x8N.  */
          opcode[1] = opcode[0] + 0x10;
-         opcode[0] = TWO_BYTE_OPCODE_ESCAPE;   /* two-byte escape */
+         opcode[0] = TWO_BYTE_OPCODE_ESCAPE;
          fragP->fr_fix += 1 + size;    /* we've added an opcode byte */
          fix_new (fragP, old_fr_fix + 1, size,
                   fragP->fr_symbol,
                   fragP->fr_offset, 1,
-                  (GOT_symbol &&  /* Not quite right - we should switch on
-                                     presence of @PLT, but I cannot see how
-                                     to get to that from here.  ERY */
-                   S_GET_SEGMENT(fragP->fr_symbol) == undefined_section)
-                  ? BFD_RELOC_386_PLT32 : pcrel_reloc);
+                  reloc_type);
          break;
        }
       frag_wane (fragP);
index 0df6aa1..205d628 100644 (file)
@@ -679,7 +679,6 @@ print_lines (list, lineno, string, address)
   unsigned int lines;
   unsigned int octet_in_word = 0;
   char *src = data_buffer;
-  int end = strlen(src);
   int cur;
 
   /* Print the stuff on the first line */
index 13faae4..f377d21 100644 (file)
@@ -1,3 +1,10 @@
+2000-02-21  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+       * dis-asm.h (struct disassemble_info): Change `length' param of
+       read_memory_func to unsigned.  Change type of `buffer_length' and
+       `octets_per_byte' to unsigned.
+       (buffer_read_memory): Change `length' param to unsigned.
+
 2000-02-16  Nick Clifton  <nickc@cygnus.com>
 
        * dis-asm.h: Add prototypes for ARM register name functions.
index ee86961..1f835d3 100644 (file)
@@ -78,7 +78,7 @@ typedef struct disassemble_info {
      INFO is a pointer to this struct.
      Returns an errno value or 0 for success.  */
   int (*read_memory_func)
-    PARAMS ((bfd_vma memaddr, bfd_byte *myaddr, int length,
+    PARAMS ((bfd_vma memaddr, bfd_byte *myaddr, unsigned int length,
             struct disassemble_info *info));
 
   /* Function which should be called if we get an error that we can't
@@ -105,7 +105,7 @@ typedef struct disassemble_info {
   /* These are for buffer_read_memory.  */
   bfd_byte *buffer;
   bfd_vma buffer_vma;
-  int buffer_length;
+  unsigned int buffer_length;
 
   /* This variable may be set by the instruction decoder.  It suggests
       the number of bytes objdump should display on a single line.  If
@@ -124,7 +124,7 @@ typedef struct disassemble_info {
   /* Number of octets per incremented target address 
      Normally one, but some DSPs have byte sizes of 16 or 32 bits
    */
-  int octets_per_byte;
+  unsigned int octets_per_byte;
 
   /* Results from instruction decoders.  Not all decoders yet support
      this information.  This info is set each time an instruction is
@@ -213,7 +213,7 @@ extern void disassembler_usage          PARAMS ((FILE *));
 /* Here is a function which callers may wish to use for read_memory_func.
    It gets bytes from a buffer.  */
 extern int buffer_read_memory
-  PARAMS ((bfd_vma, bfd_byte *, int, struct disassemble_info *));
+  PARAMS ((bfd_vma, bfd_byte *, unsigned int, struct disassemble_info *));
 
 /* This function goes with buffer_read_memory.
    It prints a message using info->fprintf_func and info->stream.  */
index b42e949..7d6db0e 100644 (file)
@@ -1,3 +1,12 @@
+2000-02-21  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+       * ldlang.c (print_input_section, print_data_statement,
+       print_reloc_statement, print_padding_statement, insert_pad,
+       size_input_section, lang_check_section_addresses,
+       lang_size_sections, lang_do_assignments, lang_set_startof,
+       lang_one_common): Change `opb' to unsigned. 
+       (lang_do_assignments): Also change `size' to unsigned.
+
 2000-02-16  Richard Henderson  <rth@cygnus.com>
 
        * scripttempl/elf.sc: Place OTHER_PLT_RELOC_SECTION.
index a514ea0..d40ff07 100644 (file)
@@ -2169,8 +2169,8 @@ print_input_section (in)
 {
   asection *i = in->section;
   bfd_size_type size = i->_cooked_size != 0 ? i->_cooked_size : i->_raw_size;
-  int opb = bfd_arch_mach_octets_per_byte (ldfile_output_architecture, 
-                                           ldfile_output_machine);
+  unsigned opb = bfd_arch_mach_octets_per_byte (ldfile_output_architecture, 
+                                               ldfile_output_machine);
   if (size != 0)
     {
       print_space ();
@@ -2236,8 +2236,8 @@ print_data_statement (data)
   bfd_vma addr;
   bfd_size_type size;
   const char *name;
-  int opb = bfd_arch_mach_octets_per_byte (ldfile_output_architecture, 
-                                           ldfile_output_machine);
+  unsigned opb = bfd_arch_mach_octets_per_byte (ldfile_output_architecture, 
+                                               ldfile_output_machine);
 
   for (i = 0; i < SECTION_NAME_MAP_LENGTH; i++)
     print_space ();
@@ -2307,8 +2307,8 @@ print_reloc_statement (reloc)
   int i;
   bfd_vma addr;
   bfd_size_type size;
-  int opb = bfd_arch_mach_octets_per_byte (ldfile_output_architecture, 
-                                           ldfile_output_machine); 
+  unsigned opb = bfd_arch_mach_octets_per_byte (ldfile_output_architecture, 
+                                               ldfile_output_machine); 
 
   for (i = 0; i < SECTION_NAME_MAP_LENGTH; i++)
     print_space ();
@@ -2339,8 +2339,8 @@ print_padding_statement (s)
 {
   int len;
   bfd_vma addr;
-  int opb = bfd_arch_mach_octets_per_byte (ldfile_output_architecture, 
-                                           ldfile_output_machine); 
+  unsigned opb = bfd_arch_mach_octets_per_byte (ldfile_output_architecture, 
+                                               ldfile_output_machine); 
 
   minfo (" *fill*");
 
@@ -2556,8 +2556,8 @@ insert_pad (this_ptr, fill, power, output_section_statement, dot)
      inserting a magic 'padding' statement.
      */
 
-  int opb = bfd_arch_mach_octets_per_byte (ldfile_output_architecture, 
-                                           ldfile_output_machine); 
+  unsigned opb = bfd_arch_mach_octets_per_byte (ldfile_output_architecture, 
+                                               ldfile_output_machine); 
   unsigned int alignment_needed = align_power (dot, power) - dot;
 
   if (alignment_needed != 0)
@@ -2599,8 +2599,8 @@ size_input_section (this_ptr, output_section_statement, fill, dot, relax)
 {
   lang_input_section_type *is = &((*this_ptr)->input_section);
   asection *i = is->section;
-  int opb = bfd_arch_mach_octets_per_byte (ldfile_output_architecture, 
-                                           ldfile_output_machine); 
+  unsigned opb = bfd_arch_mach_octets_per_byte (ldfile_output_architecture, 
+                                               ldfile_output_machine); 
 
   if (is->ifile->just_syms_flag == false)
     {
@@ -2643,7 +2643,7 @@ static void
 lang_check_section_addresses ()
 {
   asection * s;
-  int opb = bfd_octets_per_byte (output_bfd);
+  unsigned opb = bfd_octets_per_byte (output_bfd);
 
   /* Scan all sections in the output list.  */
   for (s = output_bfd->sections; s != NULL; s = s->next)
@@ -2744,8 +2744,8 @@ lang_size_sections (s, output_section_statement, prev, fill, dot, relax)
      bfd_vma dot;
      boolean relax;
 {
-  int opb = bfd_arch_mach_octets_per_byte (ldfile_output_architecture, 
-                                           ldfile_output_machine);
+  unsigned opb = bfd_arch_mach_octets_per_byte (ldfile_output_architecture, 
+                                               ldfile_output_machine);
 
   /* Size up the sections from their constituent parts.  */
   for (; s != (lang_statement_union_type *) NULL; s = s->next)
@@ -3119,8 +3119,8 @@ lang_do_assignments (s, output_section_statement, fill, dot)
      fill_type fill;
      bfd_vma dot;
 {
-  int opb = bfd_arch_mach_octets_per_byte (ldfile_output_architecture, 
-                                           ldfile_output_machine); 
+  unsigned opb = bfd_arch_mach_octets_per_byte (ldfile_output_architecture, 
+                                               ldfile_output_machine); 
 
   for (; s != (lang_statement_union_type *) NULL; s = s->next)
     {
@@ -3185,7 +3185,7 @@ lang_do_assignments (s, output_section_statement, fill, dot)
              einfo (_("%F%P: invalid data statement\n"));
          }
           {
-            int size;
+            unsigned int size;
             switch (s->data_statement.type)
               {
               default:
@@ -3309,8 +3309,8 @@ lang_set_startof ()
       h = bfd_link_hash_lookup (link_info.hash, buf, false, false, true);
       if (h != NULL && h->type == bfd_link_hash_undefined)
        {
-          int opb = bfd_arch_mach_octets_per_byte (ldfile_output_architecture, 
-                                                   ldfile_output_machine); 
+          unsigned opb = bfd_arch_mach_octets_per_byte (ldfile_output_architecture, 
+                                                       ldfile_output_machine);
          h->type = bfd_link_hash_defined;
          if (s->_cooked_size != 0)
            h->u.def.value = s->_cooked_size / opb;
@@ -3492,8 +3492,8 @@ lang_one_common (h, info)
   unsigned int power_of_two;
   bfd_vma size;
   asection *section;
-  int opb = bfd_arch_mach_octets_per_byte (ldfile_output_architecture, 
-                                           ldfile_output_machine); 
+  unsigned opb = bfd_arch_mach_octets_per_byte (ldfile_output_architecture, 
+                                               ldfile_output_machine); 
 
   if (h->type != bfd_link_hash_common)
     return true;
index 2c7e9f5..6c3815c 100644 (file)
@@ -1,3 +1,8 @@
+2000-02-21  Alan Modra  <alan@spri.levels.unisa.edu.au>
+
+       * dis-buf.c (buffer_read_memory): Change `length' param and all int
+       vars to unsigned.
+
 Thu Feb 17 00:18:12 2000  J"orn Rennecke <amylaar@cygnus.co.uk>
 
        * sh-dis.c (print_movxy, print_insn_ddt, print_dsp_reg): New functions.
index 65b1edb..b828206 100644 (file)
@@ -26,13 +26,13 @@ int
 buffer_read_memory (memaddr, myaddr, length, info)
      bfd_vma memaddr;
      bfd_byte *myaddr;
-     int length;
+     unsigned int length;
      struct disassemble_info *info;
 {
-  int opb = info->octets_per_byte;
-  int end_addr_offset = length / opb;
-  int max_addr_offset = info->buffer_length / opb; 
-  int octets = (memaddr - info->buffer_vma) * opb;
+  unsigned int opb = info->octets_per_byte;
+  unsigned int end_addr_offset = length / opb;
+  unsigned int max_addr_offset = info->buffer_length / opb; 
+  unsigned int octets = (memaddr - info->buffer_vma) * opb;
 
   if (memaddr < info->buffer_vma
       || memaddr - info->buffer_vma + end_addr_offset > max_addr_offset)