aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorJohn Gilmore <gnu@cygnus>1992-10-15 09:00:09 +0000
committerJohn Gilmore <gnu@cygnus>1992-10-15 09:00:09 +0000
commitf8e01940189dfd4a06f8818d4442ce6d39fd9539 (patch)
tree6100ef7299d0808978b22575fea4c1c4df1ea80d /bfd
parentdac4929a6d43b500b573166e53a6706789c7cad1 (diff)
downloadgdb-f8e01940189dfd4a06f8818d4442ce6d39fd9539.zip
gdb-f8e01940189dfd4a06f8818d4442ce6d39fd9539.tar.gz
gdb-f8e01940189dfd4a06f8818d4442ce6d39fd9539.tar.bz2
* 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.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/ChangeLog7
-rw-r--r--bfd/aout-adobe.c9
-rw-r--r--bfd/aoutf1.h2
-rw-r--r--bfd/archive.c10
-rw-r--r--bfd/bout.c11
-rw-r--r--bfd/coff-rs6000.c2
-rw-r--r--bfd/coffcode.h15
-rw-r--r--bfd/elf.c6
-rw-r--r--bfd/ieee.c20
-rw-r--r--bfd/libaout.h9
-rw-r--r--bfd/libbfd.c183
-rw-r--r--bfd/oasys.c2
-rw-r--r--bfd/sco-core.c26
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 <<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))
+
+*/
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 <errno.h>
- 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. */