* aoutx.h, archive.c: Add casts to avoid warnings from SVR4 cc.

* ecoff.c, ecofflink.c, ecoffswap.h, srec.c: Likewise.
	* elf32-i386.c: Likewise.
	* elfcode.h (bfd_section_from_shdr): Make i unsigned; remove old
	#if 0 code.
	(elf_write_phdrs): Make i unsigned.
	(map_program_segments): Make i and n_left unsigned.
	(assign_file_positions_except_relocs): Make i unsigned.
	(write_shdrs_and_ehdr): Make count unsigned.
	(assign_file_positions_for_relocs): Make i unsigned.
	(NAME(bfd,elf_write_object_contents)): Make count unsigned.
	(section_from_elf_index): Make index argument unsigned.
This commit is contained in:
Ian Lance Taylor 1994-02-26 18:25:23 +00:00
parent 3d51f02f4c
commit 68241b2b3f
7 changed files with 137 additions and 92 deletions

View File

@ -1,3 +1,22 @@
Sat Feb 26 10:00:45 1994 Ian Lance Taylor (ian@cygnus.com)
* reloc.c (_bfd_relocate_contents): Adjust handling of overflow to
avoid depending upon right shifts of signed numbers, and to
correct handling of src_mask with lower bits zero.
* aoutx.h, archive.c: Add casts to avoid warnings from SVR4 cc.
* ecoff.c, ecofflink.c, ecoffswap.h, srec.c: Likewise.
* elf32-i386.c: Likewise.
* elfcode.h (bfd_section_from_shdr): Make i unsigned; remove old
#if 0 code.
(elf_write_phdrs): Make i unsigned.
(map_program_segments): Make i and n_left unsigned.
(assign_file_positions_except_relocs): Make i unsigned.
(write_shdrs_and_ehdr): Make count unsigned.
(assign_file_positions_for_relocs): Make i unsigned.
(NAME(bfd,elf_write_object_contents)): Make count unsigned.
(section_from_elf_index): Make index argument unsigned.
Fri Feb 25 21:34:58 1994 Ian Lance Taylor (ian@cygnus.com)
* elfcode.h: Don't include assert.h.

View File

@ -287,7 +287,7 @@ DEFUN(NAME(aout,swap_exec_header_in),(abfd, raw_bytes, execp),
configuration (IE for i960), so ensure that all such uninitialized
fields are zero'd out. There are places where two of these structs
are memcmp'd, and thus the contents do matter. */
memset (execp, 0, sizeof (struct internal_exec));
memset ((PTR) execp, 0, sizeof (struct internal_exec));
/* Now fill in fields in the execp, from the bytes in the raw data. */
execp->a_info = bfd_h_get_32 (abfd, bytes->e_info);
execp->a_text = GET_WORD (abfd, bytes->e_text);
@ -364,7 +364,7 @@ DEFUN(NAME(aout,some_aout_object_p),(abfd, execp, callback_to_real_object_p),
rawptr = (struct aout_data_struct *) bfd_zalloc (abfd, sizeof (struct aout_data_struct ));
if (rawptr == NULL) {
bfd_error = no_memory;
bfd_set_error (bfd_error_no_memory);
return 0;
}
@ -552,13 +552,13 @@ DEFUN(NAME(aout,mkobject),(abfd),
{
struct aout_data_struct *rawptr;
bfd_error = system_call_error;
bfd_set_error (bfd_error_system_call);
/* Use an intermediate variable for clarity */
rawptr = (struct aout_data_struct *)bfd_zalloc (abfd, sizeof (struct aout_data_struct ));
if (rawptr == NULL) {
bfd_error = no_memory;
bfd_set_error (bfd_error_no_memory);
return false;
}
@ -878,7 +878,7 @@ DEFUN (NAME(aout,adjust_sizes_and_vmas), (abfd, text_size, text_end),
if ((obj_textsec (abfd) == NULL) || (obj_datasec (abfd) == NULL))
{
bfd_error = invalid_operation;
bfd_set_error (bfd_error_invalid_operation);
return false;
}
if (adata(abfd).magic != undecided_magic) return true;
@ -1104,7 +1104,7 @@ DEFUN (translate_from_native_sym_flags, (sym_pointer, cache_ptr, abfd),
if (!copy || !reloc)
{
bfd_error = no_memory;
bfd_set_error (bfd_error_no_memory);
return false;
}
@ -1136,7 +1136,7 @@ DEFUN (translate_from_native_sym_flags, (sym_pointer, cache_ptr, abfd),
cache_ptr->type = N_BSS;
break;
default:
bfd_error = bad_value;
bfd_set_error (bfd_error_bad_value);
return false;
}
@ -1338,14 +1338,14 @@ DEFUN(translate_to_native_sym_flags,(sym_pointer, cache_ptr, abfd),
else if (bfd_get_output_section(cache_ptr) == NULL) {
/* Protect the bfd_is_com_section call.
This case occurs, e.g., for the *DEBUG* section of a COFF file. */
bfd_error = nonrepresentable_section;
bfd_set_error (bfd_error_nonrepresentable_section);
return false;
}
else if (bfd_is_com_section (bfd_get_output_section (cache_ptr))) {
sym_pointer->e_type[0] = (N_UNDF | N_EXT);
}
else {
bfd_error = nonrepresentable_section;
bfd_set_error (bfd_error_nonrepresentable_section);
return false;
}
@ -1393,7 +1393,7 @@ DEFUN(NAME(aout,make_empty_symbol),(abfd),
(aout_symbol_type *)bfd_zalloc (abfd, sizeof (aout_symbol_type));
if (!new)
{
bfd_error = no_memory;
bfd_set_error (bfd_error_no_memory);
return NULL;
}
new->symbol.the_bfd = abfd;
@ -1475,7 +1475,7 @@ DEFUN(NAME(aout,slurp_symbol_table),(abfd),
symbol_size = exec_hdr(abfd)->a_syms;
if (symbol_size == 0)
{
bfd_error = no_symbols;
bfd_set_error (bfd_error_no_symbols);
return false;
}
@ -1505,7 +1505,7 @@ DEFUN(NAME(aout,slurp_symbol_table),(abfd),
syms = (struct external_nlist *) malloc(symbol_size);
if (!strings || !cached || !syms)
{
bfd_error = no_memory;
bfd_set_error (bfd_error_no_memory);
return false;
}
bfd_seek (abfd, obj_sym_filepos (abfd), SEEK_SET);
@ -1843,7 +1843,7 @@ add_to_stringtab (abfd, str, tab)
bfd_alloc_by_size_t (abfd, sizeof (struct stringtab_entry));
if (!entry)
{
bfd_error = no_memory;
bfd_set_error (bfd_error_no_memory);
abort(); /* FIXME */
}
@ -2336,7 +2336,7 @@ DEFUN(NAME(aout,slurp_reloc_table),(abfd, asect, symbols),
reloc_size = exec_hdr(abfd)->a_trsize;
else
{
bfd_error = invalid_operation;
bfd_set_error (bfd_error_invalid_operation);
return false;
}
@ -2361,7 +2361,7 @@ DEFUN(NAME(aout,slurp_reloc_table),(abfd, asect, symbols),
if (!reloc_cache)
{
nomem:
bfd_error = no_memory;
bfd_set_error (bfd_error_no_memory);
return false;
}
@ -2376,7 +2376,7 @@ DEFUN(NAME(aout,slurp_reloc_table),(abfd, asect, symbols),
{
bfd_release (abfd, relocs);
bfd_release (abfd, reloc_cache);
bfd_error = system_call_error;
bfd_set_error (bfd_error_system_call);
return false;
}
@ -2467,7 +2467,7 @@ DEFUN(NAME(aout,squirt_out_relocs),(abfd, section),
natsize = each_size * count;
native = (unsigned char *) bfd_zalloc (abfd, natsize);
if (!native) {
bfd_error = no_memory;
bfd_set_error (bfd_error_no_memory);
return false;
}
@ -2540,7 +2540,7 @@ DEFUN(NAME(aout,get_reloc_upper_bound),(abfd, asect),
bfd_size_type dynrel_count = 0;
if (bfd_get_format (abfd) != bfd_object) {
bfd_error = invalid_operation;
bfd_set_error (bfd_error_invalid_operation);
return 0;
}
if (asect->flags & SEC_CONSTRUCTOR) {
@ -2568,7 +2568,7 @@ DEFUN(NAME(aout,get_reloc_upper_bound),(abfd, asect),
((exec_hdr(abfd)->a_trsize / obj_reloc_entry_size (abfd))
+ dynrel_count + 1));
bfd_error = invalid_operation;
bfd_set_error (bfd_error_invalid_operation);
return 0;
}
@ -2831,7 +2831,7 @@ aout_link_hash_newfunc (entry, table, string)
bfd_hash_allocate (table, sizeof (struct aout_link_hash_entry)));
if (ret == (struct aout_link_hash_entry *) NULL)
{
bfd_error = no_memory;
bfd_set_error (bfd_error_no_memory);
return (struct bfd_hash_entry *) ret;
}
@ -2858,7 +2858,7 @@ NAME(aout,link_hash_table_create) (abfd)
malloc (sizeof (struct aout_link_hash_table)));
if (ret == (struct aout_link_hash_table *) NULL)
{
bfd_error = no_memory;
bfd_set_error (bfd_error_no_memory);
return (struct bfd_link_hash_table *) NULL;
}
if (! _bfd_link_hash_table_init (&ret->root, abfd,
@ -2905,7 +2905,7 @@ NAME(aout,link_add_symbols) (abfd, info)
return _bfd_generic_link_add_archive_symbols
(abfd, info, aout_link_check_archive_element);
default:
bfd_error = wrong_format;
bfd_set_error (bfd_error_wrong_format);
return false;
}
}
@ -2992,7 +2992,7 @@ aout_link_get_symbols (abfd)
malloc ((size_t) count * EXTERNAL_NLIST_SIZE));
if (syms == (struct external_nlist *) NULL)
{
bfd_error = no_memory;
bfd_set_error (bfd_error_no_memory);
return false;
}
@ -3010,7 +3010,7 @@ aout_link_get_symbols (abfd)
strings = (char *) malloc ((size_t) stringsize);
if (strings == NULL)
{
bfd_error = no_memory;
bfd_set_error (bfd_error_no_memory);
return false;
}
@ -3200,7 +3200,7 @@ aout_link_add_symbols (abfd, info)
* sizeof (struct aout_link_hash_entry *))));
if (!sym_hash)
{
bfd_error = no_memory;
bfd_set_error (bfd_error_no_memory);
return false;
}
obj_aout_sym_hashes (abfd) = sym_hash;

View File

@ -550,7 +550,8 @@ ecoff_swap_rndx_in (bigend, ext_copy, intern)
intern->index = ((ext->r_bits[1] & RNDX_BITS1_INDEX_LITTLE)
>> RNDX_BITS1_INDEX_SH_LITTLE)
| (ext->r_bits[2] << RNDX_BITS2_INDEX_SH_LEFT_LITTLE)
| (ext->r_bits[3] << RNDX_BITS3_INDEX_SH_LEFT_LITTLE);
| ((unsigned int) ext->r_bits[3]
<< RNDX_BITS3_INDEX_SH_LEFT_LITTLE);
}
#ifdef TEST
@ -820,7 +821,7 @@ ecoff_make_empty_symbol (abfd)
bfd_set_error (bfd_error_no_memory);
return (asymbol *) NULL;
}
memset (new, 0, sizeof *new);
memset ((PTR) new, 0, sizeof *new);
new->symbol.section = (asection *) NULL;
new->fdr = (FDR *) NULL;
new->local = false;
@ -2759,7 +2760,7 @@ ecoff_write_object_contents (abfd)
asymbol *sym;
struct internal_reloc in;
memset (&in, 0, sizeof in);
memset ((PTR) &in, 0, sizeof in);
reloc = *reloc_ptr_ptr;
sym = *reloc->sym_ptr_ptr;
@ -3355,7 +3356,7 @@ ecoff_link_hash_newfunc (entry, table, string)
ret->indx = -1;
ret->abfd = NULL;
}
memset (&ret->esym, 0, sizeof ret->esym);
memset ((PTR) &ret->esym, 0, sizeof ret->esym);
return (struct bfd_hash_entry *) ret;
}

View File

@ -932,7 +932,7 @@ bfd_ecoff_debug_accumulate_other (handle, output_bfd, output_debug,
asymbol **sym_end;
PTR external_fdr;
memset (&fdr, 0, sizeof fdr);
memset ((PTR) &fdr, 0, sizeof fdr);
sec = bfd_get_section_by_name (input_bfd, ".text");
if (sec != NULL)
@ -971,7 +971,7 @@ bfd_ecoff_debug_accumulate_other (handle, output_bfd, output_debug,
if (((*sym_ptr)->flags & BSF_EXPORT) != 0)
continue;
memset (&internal_sym, 0, sizeof internal_sym);
memset ((PTR) &internal_sym, 0, sizeof internal_sym);
internal_sym.iss = ecoff_add_string (ainfo, info, output_debug, &fdr,
(*sym_ptr)->name);
@ -1168,7 +1168,7 @@ ecoff_align_debug (abfd, debug, swap)
if (add != debug_align)
{
if (debug->line != (unsigned char *) NULL)
memset (debug->line + symhdr->cbLine, 0, add);
memset ((PTR) (debug->line + symhdr->cbLine), 0, add);
symhdr->cbLine += add;
}
@ -1176,7 +1176,7 @@ ecoff_align_debug (abfd, debug, swap)
if (add != debug_align)
{
if (debug->ss != (char *) NULL)
memset (debug->ss + symhdr->issMax, 0, add);
memset ((PTR) (debug->ss + symhdr->issMax), 0, add);
symhdr->issMax += add;
}
@ -1184,7 +1184,7 @@ ecoff_align_debug (abfd, debug, swap)
if (add != debug_align)
{
if (debug->ssext != (char *) NULL)
memset (debug->ssext + symhdr->issExtMax, 0, add);
memset ((PTR) (debug->ssext + symhdr->issExtMax), 0, add);
symhdr->issExtMax += add;
}
@ -1192,7 +1192,7 @@ ecoff_align_debug (abfd, debug, swap)
if (add != aux_align)
{
if (debug->external_aux != (union aux_ext *) NULL)
memset (debug->external_aux + symhdr->iauxMax, 0,
memset ((PTR) (debug->external_aux + symhdr->iauxMax), 0,
add * sizeof (union aux_ext));
symhdr->iauxMax += add;
}
@ -1201,8 +1201,8 @@ ecoff_align_debug (abfd, debug, swap)
if (add != rfd_align)
{
if (debug->external_rfd != (PTR) NULL)
memset (((char *) debug->external_rfd
+ symhdr->crfd * swap->external_rfd_size),
memset ((PTR) ((char *) debug->external_rfd
+ symhdr->crfd * swap->external_rfd_size),
0, add * swap->external_rfd_size);
symhdr->crfd += add;
}
@ -1263,6 +1263,8 @@ ecoff_write_symhdr (abfd, debug, swap, where)
where += swap->external_hdr_size;
symhdr->magic = swap->sym_magic;
/* Fill in the file offsets. */
#define SET(offset, count, size) \
if (symhdr->count == 0) \
@ -1376,7 +1378,7 @@ ecoff_write_shuffle (abfd, swap, shuffle, space)
i = swap->debug_align - (total & (swap->debug_align - 1));
s = (bfd_byte *) alloca (i);
memset (s, 0, i);
memset ((PTR) s, 0, i);
if (bfd_write ((PTR) s, 1, i, abfd) != i)
return false;
}
@ -1450,7 +1452,7 @@ bfd_ecoff_write_accumulated_debug (handle, abfd, debug, swap, info, where)
i = swap->debug_align - (total & (swap->debug_align - 1));
s = (bfd_byte *) alloca (i);
memset (s, 0, i);
memset ((PTR) s, 0, i);
if (bfd_write ((PTR) s, 1, i, abfd) != i)
return false;
}
@ -1469,7 +1471,7 @@ bfd_ecoff_write_accumulated_debug (handle, abfd, debug, swap, info, where)
i = (swap->debug_align
- (debug->symbolic_header.issExtMax & (swap->debug_align - 1)));
s = (bfd_byte *) alloca (i);
memset (s, 0, i);
memset ((PTR) s, 0, i);
if (bfd_write ((PTR) s, 1, i, abfd) != i)
return false;
}

View File

@ -17,10 +17,6 @@ You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
/*
* This file contains changes from the Open Software Foundation.
*/
#include "bfd.h"
#include "sysdep.h"
#include "libbfd.h"
@ -31,12 +27,16 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
enum reloc_type
{
R_386_NONE = 0,
R_386_32, R_386_PC32,
R_386_GOT32, R_386_PLT32,
R_386_32,
R_386_PC32,
R_386_GOT32,
R_386_PLT32,
R_386_COPY,
R_386_GLOB_DAT, R_386_JUMP_SLOT,
R_386_GLOB_DAT,
R_386_JUMP_SLOT,
R_386_RELATIVE,
R_386_GOTOFF, R_386_GOTPC,
R_386_GOTOFF,
R_386_GOTPC,
R_386_max
};
@ -44,22 +44,32 @@ enum reloc_type
static CONST char *CONST reloc_type_names[] =
{
"R_386_NONE",
"R_386_32", "R_386_PC32",
"R_386_GOT32", "R_386_PLT32",
"R_386_32",
"R_386_PC32",
"R_386_GOT32",
"R_386_PLT32",
"R_386_COPY",
"R_386_GLOB_DAT", "R_386_JUMP_SLOT",
"R_386_GLOB_DAT",
"R_386_JUMP_SLOT",
"R_386_RELATIVE",
"R_386_GOTOFF", "R_386_GOTPC",
"R_386_GOTOFF",
"R_386_GOTPC",
};
#endif
static reloc_howto_type elf_howto_table[]=
{
HOWTO(R_386_NONE, 0,0, 0,false,0, complain_overflow_dont, 0,"R_386_NONE", false,0x00000000,0x00000000,false),
HOWTO(R_386_32, 0,2,32,false,0, complain_overflow_bitfield, 0,"R_386_32", false,0xffffffff,0xffffffff,false),
HOWTO(R_386_PC32, 0,2,32,true, 0, complain_overflow_signed, 0,"R_386_PC32", false,0xffffffff,0xffffffff,false),
HOWTO(R_386_GOT32, 0,2,32,false,0, complain_overflow_bitfield, 0,"R_386_GOT32",false,0xffffffff,0xffffffff,false)
HOWTO(R_386_NONE, 0,0, 0,false,0,complain_overflow_bitfield, bfd_elf_generic_reloc,"R_386_NONE", true,0x00000000,0x00000000,false),
HOWTO(R_386_32, 0,2,32,false,0,complain_overflow_bitfield, bfd_elf_generic_reloc,"R_386_32", true,0xffffffff,0xffffffff,false),
HOWTO(R_386_PC32, 0,2,32,true, 0,complain_overflow_bitfield, bfd_elf_generic_reloc,"R_386_PC32", true,0xffffffff,0xffffffff,true),
HOWTO(R_386_GOT32, 0,2,32,false,0,complain_overflow_bitfield, bfd_elf_generic_reloc,"R_386_GOT32", true,0xffffffff,0xffffffff,false),
HOWTO(R_386_PLT32, 0,2,32,false,0,complain_overflow_bitfield, bfd_elf_generic_reloc,"R_386_PLT32", true,0xffffffff,0xffffffff,false),
HOWTO(R_386_COPY, 0,2,32,false,0,complain_overflow_bitfield, bfd_elf_generic_reloc,"R_386_COPY", true,0xffffffff,0xffffffff,false),
HOWTO(R_386_GLOB_DAT, 0,2,32,false,0,complain_overflow_bitfield, bfd_elf_generic_reloc,"R_386_GLOB_DAT", true,0xffffffff,0xffffffff,false),
HOWTO(R_386_JUMP_SLOT, 0,2,32,false,0,complain_overflow_bitfield, bfd_elf_generic_reloc,"R_386_JUMP_SLOT",true,0xffffffff,0xffffffff,false),
HOWTO(R_386_RELATIVE, 0,2,32,false,0,complain_overflow_bitfield, bfd_elf_generic_reloc,"R_386_RELATIVE", true,0xffffffff,0xffffffff,false),
HOWTO(R_386_GOTOFF, 0,2,32,false,0,complain_overflow_bitfield, bfd_elf_generic_reloc,"R_386_GOTOFF", true,0xffffffff,0xffffffff,false),
HOWTO(R_386_GOTPC, 0,2,32,false,0,complain_overflow_bitfield, bfd_elf_generic_reloc,"R_386_GOTPC", true,0xffffffff,0xffffffff,false),
};
#ifdef DEBUG_GEN_RELOC
@ -87,8 +97,40 @@ DEFUN (elf_i386_reloc_type_lookup, (abfd, code),
TRACE ("BFD_RELOC_PC32");
return &elf_howto_table[ (int)R_386_PC32 ];
case BFD_RELOC_386_GOT32:
TRACE ("BFD_RELOC_386_GOT32");
return &elf_howto_table[ (int)R_386_GOT32 ];
case BFD_RELOC_386_PLT32:
TRACE ("BFD_RELOC_386_PLT32");
return &elf_howto_table[ (int)R_386_PLT32 ];
case BFD_RELOC_386_COPY:
TRACE ("BFD_RELOC_386_COPY");
return &elf_howto_table[ (int)R_386_COPY ];
case BFD_RELOC_386_GLOB_DAT:
TRACE ("BFD_RELOC_386_GLOB_DAT");
return &elf_howto_table[ (int)R_386_GLOB_DAT ];
case BFD_RELOC_386_JUMP_SLOT:
TRACE ("BFD_RELOC_386_JUMP_SLOT");
return &elf_howto_table[ (int)R_386_JUMP_SLOT ];
case BFD_RELOC_386_RELATIVE:
TRACE ("BFD_RELOC_386_RELATIVE");
return &elf_howto_table[ (int)R_386_RELATIVE ];
case BFD_RELOC_386_GOTOFF:
TRACE ("BFD_RELOC_386_GOTOFF");
return &elf_howto_table[ (int)R_386_GOTOFF ];
case BFD_RELOC_386_GOTPC:
TRACE ("BFD_RELOC_386_GOTPC");
return &elf_howto_table[ (int)R_386_GOTPC ];
default:
abort ();
break;
}
TRACE ("Unknown");
@ -101,7 +143,7 @@ DEFUN(elf_i386_info_to_howto, (abfd, cache_ptr, dst),
arelent *cache_ptr AND
Elf32_Internal_Rela *dst)
{
BFD_ASSERT (ELF32_R_TYPE(dst->r_info) < R_386_GOT32);
BFD_ASSERT (ELF32_R_TYPE(dst->r_info) < (unsigned int) R_386_max);
cache_ptr->howto = &elf_howto_table[ELF32_R_TYPE(dst->r_info)];
}
@ -112,7 +154,7 @@ DEFUN(elf_i386_info_to_howto_rel, (abfd, cache_ptr, dst),
arelent *cache_ptr AND
Elf32_Internal_Rel *dst)
{
BFD_ASSERT (ELF32_R_TYPE(dst->r_info) < R_386_GOT32);
BFD_ASSERT (ELF32_R_TYPE(dst->r_info) < (unsigned int) R_386_max);
cache_ptr->howto = &elf_howto_table[ELF32_R_TYPE(dst->r_info)];
}
@ -120,8 +162,10 @@ DEFUN(elf_i386_info_to_howto_rel, (abfd, cache_ptr, dst),
#define TARGET_LITTLE_SYM bfd_elf32_i386_vec
#define TARGET_LITTLE_NAME "elf32-i386"
#define ELF_ARCH bfd_arch_i386
#define ELF_MACHINE_CODE EM_386
#define elf_info_to_howto elf_i386_info_to_howto
#define elf_info_to_howto_rel elf_i386_info_to_howto_rel
#define bfd_elf32_bfd_reloc_type_lookup elf_i386_reloc_type_lookup
#define ELF_MAXPAGESIZE 0x1000
#include "elf32-target.h"

View File

@ -118,7 +118,7 @@ struct elf_sect_data {
/* Forward declarations of static functions */
static struct sec * section_from_elf_index PARAMS ((bfd *, int));
static struct sec * section_from_elf_index PARAMS ((bfd *, unsigned int));
static int elf_section_from_bfd_section PARAMS ((bfd *, struct sec *));
@ -556,7 +556,7 @@ DEFUN (bfd_section_from_shdr, (abfd, shindex),
return true;
}
{
int i;
unsigned int i;
for (i = 1; i < ehdr->e_shnum; i++)
{
@ -841,7 +841,7 @@ DEFUN (elf_object_p, (abfd), bfd * abfd)
Elf_Internal_Ehdr *i_ehdrp; /* Elf file header, internal form */
Elf_External_Shdr x_shdr; /* Section header table entry, external form */
Elf_Internal_Shdr *i_shdrp; /* Section header table, internal form */
int shindex;
unsigned int shindex;
char *shstrtab; /* Internal copy of section header stringtab */
struct elf_backend_data *ebd;
struct elf_obj_tdata *preserved_tdata = elf_tdata (abfd);
@ -981,27 +981,6 @@ DEFUN (elf_object_p, (abfd), bfd * abfd)
bfd_section_from_shdr (abfd, i_ehdrp->e_shstrndx);
}
#if 0
for (shindex = i_ehdrp->e_shnum - 1; shindex >= 0; shindex--)
{
if (!strcmp (elf_string_from_elf_strtab (abfd,
i_shdrp[shindex].sh_name),
".strtab"))
{
elf_tdata(abfd)->strtab_hdr = i_shdrp[shindex];
elf_elfsections(abfd)[shindex] = &elf_tdata(abfd)->strtab_hdr;
}
else if (!strcmp (elf_string_from_elf_strtab (abfd,
i_shdrp[shindex].sh_name),
".symtab"))
{
elf_tdata(abfd)->symtab_hdr = i_shdrp[shindex];
elf_elfsections(abfd)[shindex] = &elf_tdata(abfd)->symtab_hdr;
elf_onesymtab (abfd) = shindex;
}
}
#endif
/* Read in the string table containing the names of the sections. We
will need the base pointer to this table later. */
/* We read this inline now, so that we don't have to go through
@ -1548,7 +1527,7 @@ DEFUN (elf_write_phdrs, (abfd, i_ehdrp, i_phdrp, phdr_cnt),
{
/* first program header entry goes after the file header */
int outbase = i_ehdrp->e_phoff;
int i;
unsigned int i;
Elf_External_Phdr x_phdr;
for (i = 0; i < phdr_cnt; i++)
@ -1697,7 +1676,7 @@ map_program_segments (abfd)
Elf_Internal_Shdr *i_shdrp;
Elf_Internal_Phdr *phdr;
char *done;
int i, n_left = 0;
unsigned int i, n_left = 0;
file_ptr lowest_offset = 0;
struct seg_info *seg = NULL;
@ -1885,7 +1864,7 @@ assign_file_positions_except_relocs (abfd)
struct elf_obj_tdata *t = elf_tdata (abfd);
file_ptr off;
int i;
unsigned int i;
Elf_Internal_Shdr **i_shdrpp = elf_elfsections (abfd);
Elf_Internal_Shdr *i_shdrp;
Elf_Internal_Ehdr *i_ehdrp = elf_elfheader (abfd);
@ -2284,7 +2263,7 @@ write_shdrs_and_ehdr (abfd)
Elf_Internal_Ehdr *i_ehdrp; /* Elf file header, internal form */
Elf_External_Shdr *x_shdrp; /* Section header table, external form */
Elf_Internal_Shdr **i_shdrp; /* Section header table, internal form */
int count;
unsigned int count;
struct strtab *shstrtab;
i_ehdrp = elf_elfheader (abfd);
@ -2329,7 +2308,7 @@ assign_file_positions_for_relocs (abfd)
bfd *abfd;
{
file_ptr off = elf_tdata(abfd)->next_file_pos;
int i;
unsigned int i;
Elf_Internal_Shdr **shdrpp = elf_elfsections (abfd);
Elf_Internal_Shdr *shdrp;
for (i = 1; i < elf_elfheader(abfd)->e_shnum; i++)
@ -2349,7 +2328,7 @@ DEFUN (NAME(bfd_elf,write_object_contents), (abfd), bfd * abfd)
struct elf_backend_data *bed = get_elf_backend_data (abfd);
Elf_Internal_Ehdr *i_ehdrp;
Elf_Internal_Shdr **i_shdrp;
int count;
unsigned int count;
/* We don't know how to write dynamic objects. Specifically, we
don't know how to construct the program header. */
@ -2406,7 +2385,7 @@ DEFUN (NAME(bfd_elf,write_object_contents), (abfd), bfd * abfd)
static struct sec *
DEFUN (section_from_elf_index, (abfd, index),
bfd * abfd AND
int index)
unsigned int index)
{
/* @@ Is bfd_com_section really correct in all the places it could
be returned from this routine? */

View File

@ -586,7 +586,7 @@ DEFUN (srec_set_section_contents, (abfd, section, location, offset, bytes_to_do)
bfd_set_error (bfd_error_no_memory);
return false;
}
memcpy (data, location, bytes_to_do);
memcpy ((PTR) data, location, bytes_to_do);
if ((section->lma + offset + bytes_to_do) <= 0xffff)
{