summaryrefslogtreecommitdiff
path: root/gcc/hosthooks.h
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2004-03-11 03:19:04 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2004-03-11 03:19:04 +0000
commit53ee4dac02ad1749d1579c998e8105f5fcff29a9 (patch)
tree1bfb02abe9d554906754df59966f7f6a0f7158fc /gcc/hosthooks.h
parent5b4621d99bbad510a7623b96f00ce86006e773ab (diff)
downloadgcc-53ee4dac02ad1749d1579c998e8105f5fcff29a9.tar.gz
* c-pch.c (c_common_no_more_pch): Update for gt_pch_use_address
extra arguments. * config.host (*-*-solaris2*, *-*-linux*): Add out_host_hook_obj and host_xmake_file fragments. * ggc-common.c (gt_pch_save): Update for gt_pch_get_address change. (gt_pch_restore): Similarly for gt_pch_use_address. (default_gt_pch_get_address): New. (mmap_gt_pch_get_address): Split out of gt_pch_save. (default_gt_pch_use_address): Split out of gt_pch_restore. (mmap_gt_pch_use_address): Likewise. * hooks.c (hook_voidp_size_t_null): Remove. (hook_bool_voidp_size_t_false): Remove. * hooks.h: Likewise. * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): Use one of the default_ or mmap_ definitions. (HOST_HOOKS_GT_PCH_USE_ADDRESS): Likewise. * hosthooks.h (struct host_hooks): Update gt_pch_get_address and gt_pch_use_address. * config/host-linux.c, config/host-solaris.c: New files. * config/x-linux, config/x-solaris: New files. * config/rs6000/host-darwin.c darwin_rs6000_gt_pch_get_address): Update for changed definition. (darwin_rs6000_gt_pch_use_address): Likewise. * doc/hostconfig.texi: Update docs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79295 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/hosthooks.h')
-rw-r--r--gcc/hosthooks.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/hosthooks.h b/gcc/hosthooks.h
index bbc28f69d4d..a3fc0c7c430 100644
--- a/gcc/hosthooks.h
+++ b/gcc/hosthooks.h
@@ -25,8 +25,16 @@ struct host_hooks
{
void (*extra_signals) (void);
- void * (*gt_pch_get_address) (size_t);
- bool (*gt_pch_use_address) (void *, size_t);
+ /* Identify an address that's likely to be free in a subsequent invocation
+ of the compiler. The area should be able to hold SIZE bytes. FD is an
+ open file descriptor if the host would like to probe with mmap. */
+ void * (*gt_pch_get_address) (size_t size, int fd);
+
+ /* ADDR is an address returned by gt_pch_get_address. Attempt to allocate
+ SIZE bytes at the same address and load it with the data from FD at
+ OFFSET. Return -1 if we couldn't allocate memory at ADDR, return 0
+ if the memory is allocated but the data not loaded, return 1 if done. */
+ int (*gt_pch_use_address) (void *addr, size_t size, int fd, size_t offset);
/* Whenever you add entries here, make sure you adjust hosthooks-def.h. */
};