From f8e01940189dfd4a06f8818d4442ce6d39fd9539 Mon Sep 17 00:00:00 2001 From: John Gilmore Date: Thu, 15 Oct 1992 09:00:09 +0000 Subject: [PATCH] * aout-adobe.c, aoutf1.h, archive.c, bout.c, coff-rs6000.c, coffcode.h, elf.c, ieee.c, libaout.h, libbfd.c, oasys.c, sco-core.c: Lint: Second argument of bfd_seek is always file_ptr. Third argument is SEEK_SET or SEEK_CUR. Result is always 0 or -1. --- bfd/ChangeLog | 7 +++ bfd/aout-adobe.c | 9 ++- bfd/aoutf1.h | 2 +- bfd/archive.c | 10 +-- bfd/bout.c | 11 ++-- bfd/coff-rs6000.c | 2 +- bfd/coffcode.h | 15 +---- bfd/elf.c | 6 +- bfd/ieee.c | 20 ++---- bfd/libaout.h | 9 ++- bfd/libbfd.c | 183 ++++++++++++++++++++++++++++++++---------------------- bfd/oasys.c | 2 +- bfd/sco-core.c | 26 ++++---- 13 files changed, 162 insertions(+), 140 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 22aa069..e69851e 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,10 @@ +Thu Oct 15 01:32:22 1992 John Gilmore (gnu@cygnus.com) + + * aout-adobe.c, aoutf1.h, archive.c, bout.c, coff-rs6000.c, + coffcode.h, elf.c, ieee.c, libaout.h, libbfd.c, oasys.c, + sco-core.c: Lint: Second argument of bfd_seek is always file_ptr. + Third argument is SEEK_SET or SEEK_CUR. Result is always 0 or -1. + Fri Oct 9 03:46:37 1992 John Gilmore (gnu@cygnus.com) * configure.host: New file, contains mapping of host configs diff --git a/bfd/aout-adobe.c b/bfd/aout-adobe.c index 526d7f8..6a7fb82 100644 --- a/bfd/aout-adobe.c +++ b/bfd/aout-adobe.c @@ -309,7 +309,7 @@ aout_adobe_write_object_contents (abfd) aout_adobe_swap_exec_header_out (abfd, exec_hdr (abfd), &swapped_hdr); - bfd_seek (abfd, 0L, SEEK_SET); + bfd_seek (abfd, (file_ptr) 0, SEEK_SET); bfd_write ((PTR) &swapped_hdr, 1, EXEC_BYTES_SIZE, abfd); /* Now write out the section information. Text first, data next, rest @@ -337,12 +337,11 @@ aout_adobe_write_object_contents (abfd) /* Now write out reloc info, followed by syms and strings */ if (bfd_get_symcount (abfd) != 0) { - bfd_seek (abfd, - (long)(N_SYMOFF(*exec_hdr(abfd))), SEEK_SET); + bfd_seek (abfd, (file_ptr)(N_SYMOFF(*exec_hdr(abfd))), SEEK_SET); aout_32_write_syms (abfd); - bfd_seek (abfd, (long)(N_TRELOFF(*exec_hdr(abfd))), SEEK_SET); + bfd_seek (abfd, (file_ptr)(N_TRELOFF(*exec_hdr(abfd))), SEEK_SET); for (sect = abfd->sections; sect; sect = sect->next) { if (sect->flags & SEC_CODE) { @@ -351,7 +350,7 @@ aout_adobe_write_object_contents (abfd) } } - bfd_seek (abfd, (long)(N_DRELOFF(*exec_hdr(abfd))), SEEK_SET); + bfd_seek (abfd, (file_ptr)(N_DRELOFF(*exec_hdr(abfd))), SEEK_SET); for (sect = abfd->sections; sect; sect = sect->next) { if (sect->flags & SEC_DATA) { diff --git a/bfd/aoutf1.h b/bfd/aoutf1.h index e7aa1ed..da933cd 100644 --- a/bfd/aoutf1.h +++ b/bfd/aoutf1.h @@ -393,7 +393,7 @@ DEFUN(sunos4_core_file_p,(abfd), if (core_size > 20000) return 0; - if (bfd_seek (abfd, 0L, false) < 0) return 0; + if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) < 0) return 0; mergem = (struct mergem *)bfd_zalloc (abfd, core_size + sizeof (struct mergem)); if (mergem == NULL) { diff --git a/bfd/archive.c b/bfd/archive.c index 747745a..a46372c 100644 --- a/bfd/archive.c +++ b/bfd/archive.c @@ -562,7 +562,7 @@ bfd_slurp_bsd_armap (abfd) but fail for any other size... */ if (bfd_read ((PTR)nextname, 1, 16, abfd) == 16) { /* The archive has at least 16 bytes in it */ - bfd_seek (abfd, -16L, SEEK_CUR); + bfd_seek (abfd, (file_ptr) -16, SEEK_CUR); /* This should be using RANLIBMAG, but at least it can be grepped for in this comment. */ @@ -637,7 +637,7 @@ bfd_slurp_coff_armap (abfd) bfd_vma (*swap)(); result = bfd_read ((PTR)&nextname, 1, 1, abfd); - bfd_seek (abfd, -1L, SEEK_CUR); + bfd_seek (abfd, (file_ptr) -1, SEEK_CUR); if (result != 1 || nextname != '/') { /* Actually I think this is an error for a COFF archive */ @@ -755,7 +755,7 @@ _bfd_slurp_extended_name_table (abfd) we probably don't want to return true. */ if (bfd_read ((PTR)nextname, 1, 16, abfd) == 16) { - bfd_seek (abfd, -16L, SEEK_CUR); + bfd_seek (abfd, (file_ptr) -16, SEEK_CUR); if (strncmp (nextname, "ARFILENAMES/ ", 16) != 0 && strncmp (nextname, "// ", 16) != 0) @@ -1172,7 +1172,7 @@ _bfd_write_archive_contents (arch) if (!bfd_construct_extended_name_table (arch, &etable, &elength)) return false; - bfd_seek (arch, 0, SEEK_SET); + bfd_seek (arch, (file_ptr) 0, SEEK_SET); #ifdef GNU960 bfd_write (BFD_GNU960_ARMAG(arch), 1, SARMAG, arch); #else @@ -1212,7 +1212,7 @@ _bfd_write_archive_contents (arch) bfd_error = system_call_error; return false; } - if (bfd_seek (current, 0L, SEEK_SET) != 0L) goto syserr; + if (bfd_seek (current, (file_ptr) 0, SEEK_SET) != 0) goto syserr; while (remaining) { unsigned int amt = DEFAULT_BUFFERSIZE; diff --git a/bfd/bout.c b/bfd/bout.c index 0e3c0ec..020ca13 100644 --- a/bfd/bout.c +++ b/bfd/bout.c @@ -238,21 +238,20 @@ b_out_write_object_contents (abfd) bout_swap_exec_header_out (abfd, exec_hdr (abfd), &swapped_hdr); - bfd_seek (abfd, 0L, SEEK_SET); + bfd_seek (abfd, (file_ptr) 0, SEEK_SET); bfd_write ((PTR) &swapped_hdr, 1, EXEC_BYTES_SIZE, abfd); /* Now write out reloc info, followed by syms and strings */ if (bfd_get_symcount (abfd) != 0) { - bfd_seek (abfd, - (long)(N_SYMOFF(*exec_hdr(abfd))), SEEK_SET); + bfd_seek (abfd, (file_ptr)(N_SYMOFF(*exec_hdr(abfd))), SEEK_SET); aout_32_write_syms (abfd); - bfd_seek (abfd, (long)(N_TROFF(*exec_hdr(abfd))), SEEK_SET); + bfd_seek (abfd, (file_ptr)(N_TROFF(*exec_hdr(abfd))), SEEK_SET); if (!b_out_squirt_out_relocs (abfd, obj_textsec (abfd))) return false; - bfd_seek (abfd, (long)(N_DROFF(*exec_hdr(abfd))), SEEK_SET); + bfd_seek (abfd, (file_ptr)(N_DROFF(*exec_hdr(abfd))), SEEK_SET); if (!b_out_squirt_out_relocs (abfd, obj_datasec (abfd))) return false; } @@ -459,7 +458,7 @@ b_out_slurp_reloc_table (abfd, asect, symbols) return false; doit: - bfd_seek (abfd, (long)(asect->rel_filepos), SEEK_SET); + bfd_seek (abfd, (file_ptr)(asect->rel_filepos), SEEK_SET); count = reloc_size / sizeof (struct relocation_info); relocs = (struct relocation_info *) bfd_xmalloc (reloc_size); diff --git a/bfd/coff-rs6000.c b/bfd/coff-rs6000.c index 8ee70d6..0d6d4f3 100644 --- a/bfd/coff-rs6000.c +++ b/bfd/coff-rs6000.c @@ -171,7 +171,7 @@ rs6000coff_get_elt_at_filepos (archive, filepos) n_nfd = look_for_bfd_in_cache (archive, filepos); if (n_nfd) return n_nfd; - if (0 > bfd_seek (archive, filepos, SEEK_SET)) { + if (0 != bfd_seek (archive, filepos, SEEK_SET)) { bfd_error = system_call_error; return NULL; } diff --git a/bfd/coffcode.h b/bfd/coffcode.h index a104051..6b311f9 100644 --- a/bfd/coffcode.h +++ b/bfd/coffcode.h @@ -1230,7 +1230,7 @@ DEFUN(coff_object_p,(abfd), } /* Seek past the opt hdr stuff */ - bfd_seek(abfd, internal_f.f_opthdr + FILHSZ, SEEK_SET); + bfd_seek(abfd, (file_ptr) (internal_f.f_opthdr + FILHSZ), SEEK_SET); /* if the optional header is NULL or not the correct size then quit; the only difference I can see between m88k dgux headers (MC88DMAGIC) @@ -2263,15 +2263,10 @@ coff_section_symbol (abfd, name) bfd *abfd; char *name; { - asection *sec = bfd_get_section_by_name (abfd, name); + asection *sec = bfd_make_section_old_way (abfd, name); asymbol *sym; combined_entry_type *csym; - if (!sec) - { - /* create empty symbol */ - abort (); - } sym = sec->symbol; if (coff_symbol_from (abfd, sym)) csym = coff_symbol_from (abfd, sym)->native; @@ -2409,10 +2404,6 @@ DEFUN(coff_write_object_contents,(abfd), current->target_index = count; count++; } - - - - if(abfd->output_has_begun == false) { coff_compute_section_file_positions(abfd); @@ -2696,7 +2687,7 @@ DEFUN(coff_write_object_contents,(abfd), internal_f.f_nsyms = bfd_get_symcount(abfd); /* now write them */ - if (bfd_seek(abfd, 0L, SEEK_SET) != 0) + if (bfd_seek(abfd, (file_ptr) 0, SEEK_SET) != 0) return false; { FILHDR buff; diff --git a/bfd/elf.c b/bfd/elf.c index 1c3fd09..7f3a430 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -947,7 +947,7 @@ DEFUN(elf_corefile_note, (abfd, hdr), if (hdr -> p_filesz > 0 && (buf = (char *) bfd_xmalloc (hdr -> p_filesz)) != NULL - && bfd_seek (abfd, hdr -> p_offset, SEEK_SET) != -1L + && bfd_seek (abfd, hdr -> p_offset, SEEK_SET) != -1 && bfd_read ((PTR) buf, hdr -> p_filesz, 1, abfd) == hdr -> p_filesz) { x_note_p = (Elf_External_Note *) buf; @@ -1788,7 +1788,7 @@ DEFUN (elf_write_object_contents, (abfd), bfd *abfd) /* swap the header before spitting it out... */ elf_swap_ehdr_out (abfd, i_ehdrp, &x_ehdr); - bfd_seek (abfd, 0L, SEEK_SET); + bfd_seek (abfd, (file_ptr) 0, SEEK_SET); bfd_write ((PTR) &x_ehdr, sizeof(x_ehdr), 1, abfd); outbase += i_ehdrp->e_shentsize * i_ehdrp->e_shnum; @@ -1828,7 +1828,7 @@ DEFUN (elf_write_object_contents, (abfd), bfd *abfd) } /* sample use of bfd: - * bfd_seek (abfd, 0L, false); + * bfd_seek (abfd, (file_ptr) 0, SEEK_SET); * bfd_write ((PTR) &exec_bytes, 1, EXEC_BYTES_SIZE, abfd); * if (bfd_seek(abfd, scn_base, SEEK_SET) != 0) * return false; diff --git a/bfd/ieee.c b/bfd/ieee.c index 09d268b..87e15ee 100644 --- a/bfd/ieee.c +++ b/bfd/ieee.c @@ -992,7 +992,7 @@ DEFUN(ieee_archive_p,(abfd), unsigned int i; uint8e_type buffer[512]; struct obstack ob; - int buffer_offset = 0; + file_ptr buffer_offset = 0; ieee_ar_data_type *save = abfd->tdata.ieee_ar_data; ieee_ar_data_type *ieee ; abfd->tdata.ieee_ar_data = (ieee_ar_data_type *)bfd_alloc(abfd, sizeof(ieee_ar_data_type)); @@ -1113,7 +1113,7 @@ DEFUN(ieee_object_p,(abfd), ieee_mkobject(abfd); ieee = IEEE_DATA(abfd); - bfd_seek(abfd, 0, 0); + bfd_seek(abfd, (file_ptr) 0, SEEK_SET); /* Read the first few bytes in to see if it makes sense */ bfd_read((PTR)buffer, 1, sizeof(buffer), abfd); @@ -1185,7 +1185,7 @@ DEFUN(ieee_object_p,(abfd), IEEE_DATA(abfd)->h.first_byte = (uint8e_type *) bfd_alloc(ieee->h.abfd, ieee->w.r.me_record + 50); - bfd_seek(abfd, 0, 0); + bfd_seek(abfd, (file_ptr) 0, SEEK_SET); bfd_read((PTR)(IEEE_DATA(abfd)->h.first_byte), 1, ieee->w.r.me_record+50, abfd); ieee_slurp_sections(abfd); @@ -2706,19 +2706,13 @@ DEFUN(ieee_write_object_contents,(abfd), unsigned int i; file_ptr old; /* Fast forward over the header area */ - bfd_seek(abfd, 0, 0); + bfd_seek(abfd, (file_ptr) 0, SEEK_SET); ieee_write_byte(abfd, ieee_module_beginning_enum); ieee_write_id(abfd, bfd_printable_name(abfd)); ieee_write_id(abfd, abfd->filename); - - - /* Fast forward over the variable bits */ - - - ieee_write_byte(abfd, ieee_address_descriptor_enum); /* Bits per MAU */ @@ -2727,10 +2721,8 @@ DEFUN(ieee_write_object_contents,(abfd), ieee_write_byte(abfd, bfd_arch_bits_per_address(abfd) / bfd_arch_bits_per_byte(abfd)); - old = bfd_tell(abfd); - bfd_seek(abfd, 8 * N_W_VARIABLES, 1); - + bfd_seek(abfd, (file_ptr) (8 * N_W_VARIABLES), SEEK_CUR); ieee->w.r.extension_record = bfd_tell(abfd); bfd_write((char *)exten, 1, sizeof(exten), abfd); @@ -2776,7 +2768,7 @@ DEFUN(ieee_write_object_contents,(abfd), /* Generate the header */ - bfd_seek(abfd, old, false); + bfd_seek(abfd, old, SEEK_SET); for (i= 0; i < N_W_VARIABLES; i++) { ieee_write_2bytes(abfd,ieee_assign_value_to_variable_enum); diff --git a/bfd/libaout.h b/bfd/libaout.h index c37ae7e..52b47ed 100644 --- a/bfd/libaout.h +++ b/bfd/libaout.h @@ -290,21 +290,20 @@ PROTO(char *, aout_stab_name, (int code)); obj_reloc_entry_size (abfd)); \ NAME(aout,swap_exec_header_out) (abfd, execp, &exec_bytes); \ \ - bfd_seek (abfd, 0L, false); \ + bfd_seek (abfd, (file_ptr) 0, SEEK_SET); \ bfd_write ((PTR) &exec_bytes, 1, EXEC_BYTES_SIZE, abfd); \ /* Now write out reloc info, followed by syms and strings */ \ \ if (bfd_get_symcount (abfd) != 0) \ { \ - bfd_seek (abfd, \ - (long)(N_SYMOFF(*execp)), false); \ + bfd_seek (abfd, (file_ptr)(N_SYMOFF(*execp)), SEEK_SET); \ \ NAME(aout,write_syms)(abfd); \ \ - bfd_seek (abfd, (long)(N_TRELOFF(*execp)), false); \ + bfd_seek (abfd, (file_ptr)(N_TRELOFF(*execp)), SEEK_SET); \ \ if (!NAME(aout,squirt_out_relocs) (abfd, obj_textsec (abfd))) return false; \ - bfd_seek (abfd, (long)(N_DRELOFF(*execp)), false); \ + bfd_seek (abfd, (file_ptr)(N_DRELOFF(*execp)), SEEK_SET); \ \ if (!NAME(aout,squirt_out_relocs)(abfd, obj_datasec (abfd))) return false; \ } \ diff --git a/bfd/libbfd.c b/bfd/libbfd.c index 394ac5e..f48b78f 100644 --- a/bfd/libbfd.c +++ b/bfd/libbfd.c @@ -18,14 +18,19 @@ 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. */ -/* $Id$ */ - #include "bfd.h" #include "sysdep.h" #include "libbfd.h" -/** Dummies for targets that don't want or need to implement - certain operations */ +/* +SECTION + libbfd + +DESCRIPTION + This file contains various routines which are used within BFD. + They are not intended for export, but are documented here for + completeness. +*/ boolean DEFUN(_bfd_dummy_new_section_hook,(ignore, ignore_newsect), @@ -125,10 +130,18 @@ DEFUN(zalloc,(size), } #endif -/*proto-internal* bfd_xmalloc -bfd_xmalloc -- Like malloc, but exit if no more memory. -*; PROTO(PTR, bfd_xmalloc,( bfd_size_type size)); +/* +INTERNAL_FUNCTION + bfd_xmalloc + +SYNOPSIS + PTR bfd_xmalloc( bfd_size_type size); + +DESCRIPTION + Like malloc, but exit if no more memory. + */ + /** There is major inconsistency in how running out of memory is handled. Some routines return a NULL, and set bfd_error to no_memory. However, obstack routines can't do this ... */ @@ -137,11 +150,10 @@ bfd_xmalloc -- Like malloc, but exit if no more memory. DEFUN(PTR bfd_xmalloc,(size), bfd_size_type size) { - static char no_memory_message[] = "Virtual memory exhausted!\n"; + static CONST char no_memory_message[] = "Virtual memory exhausted!\n"; PTR ptr; if (size == 0) size = 1; ptr = (PTR)malloc(size); - if (ptr == NULL) if (!ptr) { write (2, no_memory_message, sizeof(no_memory_message)-1); @@ -189,9 +201,18 @@ DEFUN(bfd_write,(ptr, size, nitems, abfd), return fwrite (ptr, 1, (int)(size*nitems), bfd_cache_lookup(abfd)); } -/*proto-internal* bfd_write_bigendian_4byte_int +/* +INTERNAL_FUNCTION + bfd_write_bigendian_4byte_int + +SYNOPSIS + void bfd_write_bigendian_4byte_int(bfd *abfd, int i); + +DESCRIPTION + Writes a 4 byte integer to the outputing bfd, in big endian + mode regardless of what else is going on. This is usefull in + archives. -*; PROTO(void, bfd_write_bigendian_4byte_int,( bfd *abfd, int i)); */ void DEFUN(bfd_write_bigendian_4byte_int,(abfd, i), @@ -307,60 +328,69 @@ DEFUN(bfd_add_to_string_table,(table, new_string, table_length, free_ptr), functions in swap.h #ifdef __GNUC__. Gprof them later and find out. */ -/*proto* -*i bfd_put_size -*i bfd_get_size -These macros as used for reading and writing raw data in sections; -each access (except for bytes) is vectored through the target format -of the BFD and mangled accordingly. The mangling performs any -necessary endian translations and removes alignment restrictions. -*+ -#define bfd_put_8(abfd, val, ptr) \ - (*((char *)ptr) = (char)val) -#define bfd_get_8(abfd, ptr) \ - (*((char *)ptr)) -#define bfd_put_16(abfd, val, ptr) \ - BFD_SEND(abfd, bfd_putx16, (val,ptr)) -#define bfd_get_16(abfd, ptr) \ - BFD_SEND(abfd, bfd_getx16, (ptr)) -#define bfd_put_32(abfd, val, ptr) \ - BFD_SEND(abfd, bfd_putx32, (val,ptr)) -#define bfd_get_32(abfd, ptr) \ - BFD_SEND(abfd, bfd_getx32, (ptr)) -#define bfd_put_64(abfd, val, ptr) \ - BFD_SEND(abfd, bfd_putx64, (val, ptr)) -#define bfd_get_64(abfd, ptr) \ - BFD_SEND(abfd, bfd_getx64, (ptr)) -*- -*-*/ - -/*proto* -*i bfd_h_put_size -*i bfd_h_get_size -These macros have the same function as their @code{bfd_get_x} -bretherin, except that they are used for removing information for the -header records of object files. Believe it or not, some object files -keep their header records in big endian order, and their data in little -endan order. -*+ -#define bfd_h_put_8(abfd, val, ptr) \ - (*((char *)ptr) = (char)val) -#define bfd_h_get_8(abfd, ptr) \ - (*((char *)ptr)) -#define bfd_h_put_16(abfd, val, ptr) \ - BFD_SEND(abfd, bfd_h_putx16,(val,ptr)) -#define bfd_h_get_16(abfd, ptr) \ - BFD_SEND(abfd, bfd_h_getx16,(ptr)) -#define bfd_h_put_32(abfd, val, ptr) \ - BFD_SEND(abfd, bfd_h_putx32,(val,ptr)) -#define bfd_h_get_32(abfd, ptr) \ - BFD_SEND(abfd, bfd_h_getx32,(ptr)) -#define bfd_h_put_64(abfd, val, ptr) \ - BFD_SEND(abfd, bfd_h_putx64,(val, ptr)) -#define bfd_h_get_64(abfd, ptr) \ - BFD_SEND(abfd, bfd_h_getx64,(ptr)) -*- -*-*/ +/* +FUNCTION + bfd_put_size +FUNCTION + bfd_get_size + +DESCRIPTION + These macros as used for reading and writing raw data in + sections; each access (except for bytes) is vectored through + the target format of the BFD and mangled accordingly. The + mangling performs any necessary endian translations and + removes alignment restrictions. + +.#define bfd_put_8(abfd, val, ptr) \ +. (*((char *)ptr) = (char)val) +.#define bfd_get_8(abfd, ptr) \ +. (*((char *)ptr)) +.#define bfd_put_16(abfd, val, ptr) \ +. BFD_SEND(abfd, bfd_putx16, (val,ptr)) +.#define bfd_get_16(abfd, ptr) \ +. BFD_SEND(abfd, bfd_getx16, (ptr)) +.#define bfd_put_32(abfd, val, ptr) \ +. BFD_SEND(abfd, bfd_putx32, (val,ptr)) +.#define bfd_get_32(abfd, ptr) \ +. BFD_SEND(abfd, bfd_getx32, (ptr)) +.#define bfd_put_64(abfd, val, ptr) \ +. BFD_SEND(abfd, bfd_putx64, (val, ptr)) +.#define bfd_get_64(abfd, ptr) \ +. BFD_SEND(abfd, bfd_getx64, (ptr)) + +*/ + +/* +FUNCTION + bfd_h_put_size +FUNCTION + bfd_h_get_size + +DESCRIPTION + These macros have the same function as their <> + bretherin, except that they are used for removing information + for the header records of object files. Believe it or not, + some object files keep their header records in big endian + order, and their data in little endan order. + +.#define bfd_h_put_8(abfd, val, ptr) \ +. (*((char *)ptr) = (char)val) +.#define bfd_h_get_8(abfd, ptr) \ +. (*((char *)ptr)) +.#define bfd_h_put_16(abfd, val, ptr) \ +. BFD_SEND(abfd, bfd_h_putx16,(val,ptr)) +.#define bfd_h_get_16(abfd, ptr) \ +. BFD_SEND(abfd, bfd_h_getx16,(ptr)) +.#define bfd_h_put_32(abfd, val, ptr) \ +. BFD_SEND(abfd, bfd_h_putx32,(val,ptr)) +.#define bfd_h_get_32(abfd, ptr) \ +. BFD_SEND(abfd, bfd_h_getx32,(ptr)) +.#define bfd_h_put_64(abfd, val, ptr) \ +. BFD_SEND(abfd, bfd_h_putx64,(val, ptr)) +.#define bfd_h_get_64(abfd, ptr) \ +. BFD_SEND(abfd, bfd_h_getx64,(ptr)) + +*/ bfd_vma DEFUN(_do_getb16,(addr), @@ -532,8 +562,8 @@ DEFUN(bfd_generic_get_section_contents, (abfd, section, location, offset, count) { if (count == 0) return true; - if ((bfd_size_type)(offset+count) > section->size - || bfd_seek(abfd,(file_ptr)( section->filepos + offset), SEEK_SET) == -1 + if ((bfd_size_type)(offset+count) > section->_raw_size + || bfd_seek(abfd, (file_ptr)(section->filepos + offset), SEEK_SET) == -1 || bfd_read(location, (bfd_size_type)1, count, abfd) != count) return (false); /* on error */ return (true); @@ -553,19 +583,24 @@ DEFUN(bfd_generic_set_section_contents, (abfd, section, location, offset, count) { if (count == 0) return true; - if ((bfd_size_type)(offset+count) > section->size + if ((bfd_size_type)(offset+count) > bfd_get_section_size_after_reloc(section) || bfd_seek(abfd, (file_ptr)(section->filepos + offset), SEEK_SET) == -1 || bfd_write(location, (bfd_size_type)1, count, abfd) != count) return (false); /* on error */ return (true); } -/*proto-internal* -*i bfd_log2 -Return the log base 2 of the value supplied, rounded up. eg an arg -of 1025 would return 11. -*; PROTO(bfd_vma, bfd_log2,(bfd_vma x)); -*-*/ +/* +INTERNAL_FUNCTION + bfd_log2 + +DESCRIPTION + Return the log base 2 of the value supplied, rounded up. eg an + arg of 1025 would return 11. + +SYNOPSIS + bfd_vma bfd_log2(bfd_vma x); +*/ bfd_vma bfd_log2(x) bfd_vma x; diff --git a/bfd/oasys.c b/bfd/oasys.c index 7a01015..d3cd294 100644 --- a/bfd/oasys.c +++ b/bfd/oasys.c @@ -282,7 +282,7 @@ DEFUN(oasys_archive_p,(abfd), filepos = header.mod_tbl_offset; for (i = 0; i < header.mod_count; i++) { - bfd_seek(abfd , filepos, SEEK_SET); + bfd_seek(abfd, filepos, SEEK_SET); /* There are two ways of specifying the archive header */ diff --git a/bfd/sco-core.c b/bfd/sco-core.c index 1485b7c..fefbbd8 100644 --- a/bfd/sco-core.c +++ b/bfd/sco-core.c @@ -49,15 +49,17 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include - struct trad_core_struct - { - asection *data_section; - asection *stack_section; - asection *reg_section; +/* This struct is just for allocating two things with one zalloc, so + they will be freed together, without violating alignment constraints. */ - struct user u; - } *rawptr; +struct trad_core_struct + { + asection *data_section; + asection *stack_section; + asection *reg_section; + struct user u; + } *rawptr; #define core_upage(bfd) (&((bfd)->tdata.trad_core_data->u)) #define core_datasec(bfd) ((bfd)->tdata.trad_core_data->data_section) @@ -74,11 +76,8 @@ sco_core_file_p (abfd) { int val; struct user u; - /* This struct is just for allocating two things with one zalloc, so - they will be freed together, without violating alignment constraints. */ - - bfd_seek(abfd, 0, SEEK_SET); + bfd_seek(abfd, (file_ptr) 0, SEEK_SET); val = bfd_read ((void *)&u, 1, sizeof u, abfd); if (val != sizeof u) return 0; /* Too small to be a core file */ @@ -89,7 +88,8 @@ sco_core_file_p (abfd) /* Allocate both the upage and the struct core_data at once, so a single free() will free them both. */ - rawptr = (struct trad_core_struct *)bfd_zalloc (abfd, sizeof (struct trad_core_struct)); + rawptr = (struct trad_core_struct *) + bfd_zalloc (abfd, sizeof (struct trad_core_struct)); if (rawptr == NULL) { bfd_error = no_memory; return 0; @@ -97,7 +97,7 @@ sco_core_file_p (abfd) abfd->tdata.trad_core_data = rawptr; - rawptr->u = u; /*Copy the uarea into the tdata part of the bfd */ + rawptr->u = u; /* Copy the uarea into the tdata part of the bfd */ /* Create the sections. This is raunchy, but bfd_close wants to free them separately. */ -- 2.7.4