* libbfd.c (bfd_get_file_window): Change writable parameter from
int to boolean; update all callers. Pass MAP_SHARED if not writable--it's required on Solaris. Cast fprintf argument to avoid warning. * bfd-in.h (bfd_get_file_window): Update declaration. * bfd-in2.h: Rebuild. * aoutx.h: Update calls to bfd_get_file_window.
This commit is contained in:
parent
7812bf9c25
commit
0bb8ff191e
|
@ -1,5 +1,13 @@
|
||||||
Wed Nov 8 11:31:11 1995 Ian Lance Taylor <ian@cygnus.com>
|
Wed Nov 8 11:31:11 1995 Ian Lance Taylor <ian@cygnus.com>
|
||||||
|
|
||||||
|
* libbfd.c (bfd_get_file_window): Change writable parameter from
|
||||||
|
int to boolean; update all callers. Pass MAP_SHARED if not
|
||||||
|
writable--it's required on Solaris. Cast fprintf argument to
|
||||||
|
avoid warning.
|
||||||
|
* bfd-in.h (bfd_get_file_window): Update declaration.
|
||||||
|
* bfd-in2.h: Rebuild.
|
||||||
|
* aoutx.h: Update calls to bfd_get_file_window.
|
||||||
|
|
||||||
* xcofflink.c (XCOFF_DEF_DYNAMIC): Rename from XCOFF_REF_DYNAMIC.
|
* xcofflink.c (XCOFF_DEF_DYNAMIC): Rename from XCOFF_REF_DYNAMIC.
|
||||||
Change all uses.
|
Change all uses.
|
||||||
(xcoff_swap_ldhdr_in): New static function.
|
(xcoff_swap_ldhdr_in): New static function.
|
||||||
|
|
|
@ -1230,7 +1230,7 @@ aout_get_external_symbols (abfd)
|
||||||
|
|
||||||
if (bfd_get_file_window (abfd,
|
if (bfd_get_file_window (abfd,
|
||||||
obj_sym_filepos (abfd), exec_hdr (abfd)->a_syms,
|
obj_sym_filepos (abfd), exec_hdr (abfd)->a_syms,
|
||||||
&obj_aout_sym_window (abfd), 1) == false)
|
&obj_aout_sym_window (abfd), true) == false)
|
||||||
return false;
|
return false;
|
||||||
syms = (struct external_nlist *) obj_aout_sym_window (abfd).data;
|
syms = (struct external_nlist *) obj_aout_sym_window (abfd).data;
|
||||||
|
|
||||||
|
@ -1253,7 +1253,7 @@ aout_get_external_symbols (abfd)
|
||||||
stringsize = GET_WORD (abfd, string_chars);
|
stringsize = GET_WORD (abfd, string_chars);
|
||||||
|
|
||||||
if (bfd_get_file_window (abfd, obj_str_filepos (abfd), stringsize,
|
if (bfd_get_file_window (abfd, obj_str_filepos (abfd), stringsize,
|
||||||
&obj_aout_string_window (abfd), 1) == false)
|
&obj_aout_string_window (abfd), true) == false)
|
||||||
return false;
|
return false;
|
||||||
strings = (char *) obj_aout_string_window (abfd).data;
|
strings = (char *) obj_aout_string_window (abfd).data;
|
||||||
|
|
||||||
|
|
|
@ -621,7 +621,7 @@ typedef struct _bfd_window {
|
||||||
extern void bfd_init_window PARAMS ((bfd_window *));
|
extern void bfd_init_window PARAMS ((bfd_window *));
|
||||||
extern void bfd_free_window PARAMS ((bfd_window *));
|
extern void bfd_free_window PARAMS ((bfd_window *));
|
||||||
extern boolean bfd_get_file_window
|
extern boolean bfd_get_file_window
|
||||||
PARAMS ((bfd *, file_ptr, bfd_size_type, bfd_window *, int));
|
PARAMS ((bfd *, file_ptr, bfd_size_type, bfd_window *, boolean));
|
||||||
|
|
||||||
/* XCOFF support routines for the linker. */
|
/* XCOFF support routines for the linker. */
|
||||||
|
|
||||||
|
|
|
@ -621,7 +621,7 @@ typedef struct _bfd_window {
|
||||||
extern void bfd_init_window PARAMS ((bfd_window *));
|
extern void bfd_init_window PARAMS ((bfd_window *));
|
||||||
extern void bfd_free_window PARAMS ((bfd_window *));
|
extern void bfd_free_window PARAMS ((bfd_window *));
|
||||||
extern boolean bfd_get_file_window
|
extern boolean bfd_get_file_window
|
||||||
PARAMS ((bfd *, file_ptr, bfd_size_type, bfd_window *, int));
|
PARAMS ((bfd *, file_ptr, bfd_size_type, bfd_window *, boolean));
|
||||||
|
|
||||||
/* XCOFF support routines for the linker. */
|
/* XCOFF support routines for the linker. */
|
||||||
|
|
||||||
|
|
10
bfd/libbfd.c
10
bfd/libbfd.c
|
@ -308,7 +308,7 @@ bfd_get_file_window (abfd, offset, size, windowp, writable)
|
||||||
file_ptr offset;
|
file_ptr offset;
|
||||||
bfd_size_type size;
|
bfd_size_type size;
|
||||||
bfd_window *windowp;
|
bfd_window *windowp;
|
||||||
int writable;
|
boolean writable;
|
||||||
{
|
{
|
||||||
static size_t pagesize;
|
static size_t pagesize;
|
||||||
bfd_window_internal *i = windowp->i;
|
bfd_window_internal *i = windowp->i;
|
||||||
|
@ -367,7 +367,9 @@ bfd_get_file_window (abfd, offset, size, windowp, writable)
|
||||||
}
|
}
|
||||||
i->data = mmap (i->data, real_size,
|
i->data = mmap (i->data, real_size,
|
||||||
writable ? PROT_WRITE | PROT_READ : PROT_READ,
|
writable ? PROT_WRITE | PROT_READ : PROT_READ,
|
||||||
writable ? MAP_FILE | MAP_PRIVATE : MAP_FILE,
|
(writable
|
||||||
|
? MAP_FILE | MAP_PRIVATE
|
||||||
|
: MAP_FILE | MAP_SHARED),
|
||||||
fd, file_offset);
|
fd, file_offset);
|
||||||
if (i->data == (PTR) -1)
|
if (i->data == (PTR) -1)
|
||||||
{
|
{
|
||||||
|
@ -393,7 +395,7 @@ bfd_get_file_window (abfd, offset, size, windowp, writable)
|
||||||
{
|
{
|
||||||
if (ok_to_map)
|
if (ok_to_map)
|
||||||
fprintf (stderr, "not mapping: data=%x mapped=%d\n",
|
fprintf (stderr, "not mapping: data=%x mapped=%d\n",
|
||||||
i->data, i->mapped);
|
i->data, (int) i->mapped);
|
||||||
else
|
else
|
||||||
fprintf (stderr, "not mapping: env var not set\n");
|
fprintf (stderr, "not mapping: env var not set\n");
|
||||||
}
|
}
|
||||||
|
@ -1039,7 +1041,7 @@ _bfd_generic_get_section_contents_in_window (abfd, section, w, offset, count)
|
||||||
return bfd_get_section_contents (abfd, section, w->data, offset, count);
|
return bfd_get_section_contents (abfd, section, w->data, offset, count);
|
||||||
}
|
}
|
||||||
if ((bfd_size_type) (offset+count) > section->_raw_size
|
if ((bfd_size_type) (offset+count) > section->_raw_size
|
||||||
|| (bfd_get_file_window (abfd, section->filepos + offset, count, w, 1)
|
|| (bfd_get_file_window (abfd, section->filepos + offset, count, w, true)
|
||||||
== false))
|
== false))
|
||||||
return false;
|
return false;
|
||||||
return true;
|
return true;
|
||||||
|
|
Loading…
Reference in New Issue