diff options
author | Ian Lance Taylor <ian@airs.com> | 1995-11-08 21:24:33 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1995-11-08 21:24:33 +0000 |
commit | 0bb8ff191ec9e1c54f17a0a2e3faff7ae75cadd7 (patch) | |
tree | 63a163919865fde9239a563010c7b191c03c7bf0 /bfd | |
parent | 7812bf9c25192463489dfb439eb92b2fcd34f305 (diff) | |
download | gdb-0bb8ff191ec9e1c54f17a0a2e3faff7ae75cadd7.zip gdb-0bb8ff191ec9e1c54f17a0a2e3faff7ae75cadd7.tar.gz gdb-0bb8ff191ec9e1c54f17a0a2e3faff7ae75cadd7.tar.bz2 |
* 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.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 8 | ||||
-rw-r--r-- | bfd/aoutx.h | 4 | ||||
-rw-r--r-- | bfd/bfd-in.h | 2 | ||||
-rw-r--r-- | bfd/bfd-in2.h | 2 | ||||
-rw-r--r-- | bfd/libbfd.c | 10 |
5 files changed, 18 insertions, 8 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 1334726..783ea82 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,13 @@ 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. Change all uses. (xcoff_swap_ldhdr_in): New static function. diff --git a/bfd/aoutx.h b/bfd/aoutx.h index 8d7ea3a..8d36de5 100644 --- a/bfd/aoutx.h +++ b/bfd/aoutx.h @@ -1230,7 +1230,7 @@ aout_get_external_symbols (abfd) if (bfd_get_file_window (abfd, 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; 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); 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; strings = (char *) obj_aout_string_window (abfd).data; diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h index 303ce02..de096c5 100644 --- a/bfd/bfd-in.h +++ b/bfd/bfd-in.h @@ -621,7 +621,7 @@ typedef struct _bfd_window { extern void bfd_init_window PARAMS ((bfd_window *)); extern void bfd_free_window PARAMS ((bfd_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. */ diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index 54a7c0c..3621b55 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -621,7 +621,7 @@ typedef struct _bfd_window { extern void bfd_init_window PARAMS ((bfd_window *)); extern void bfd_free_window PARAMS ((bfd_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. */ diff --git a/bfd/libbfd.c b/bfd/libbfd.c index 291b1fd..c2d8b9f 100644 --- a/bfd/libbfd.c +++ b/bfd/libbfd.c @@ -308,7 +308,7 @@ bfd_get_file_window (abfd, offset, size, windowp, writable) file_ptr offset; bfd_size_type size; bfd_window *windowp; - int writable; + boolean writable; { static size_t pagesize; 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, 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); if (i->data == (PTR) -1) { @@ -393,7 +395,7 @@ bfd_get_file_window (abfd, offset, size, windowp, writable) { if (ok_to_map) fprintf (stderr, "not mapping: data=%x mapped=%d\n", - i->data, i->mapped); + i->data, (int) i->mapped); else 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); } 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)) return false; return true; |