[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Preemptively fix warnings that will be caused by -Wmissing-p
From: |
Samuel Thibault |
Subject: |
Re: [PATCH] Preemptively fix warnings that will be caused by -Wmissing-prototypes |
Date: |
Tue, 10 Jan 2023 22:18:50 +0100 |
User-agent: |
NeoMutt/20170609 (1.8.3) |
Applied, thanks!
Flavio Cruz, le mar. 10 janv. 2023 01:00:37 -0500, a ecrit:
> Declared RPCs in ipc/mach_port.c and ddb/db_ext_symtab.c in their
> corresponding headers.
> Ideally these should be used by mig instead of mig declaring its own
> prototypes.
> ---
> Makefrag.am | 1 +
> ddb/db_ext_symtab.c | 1 +
> ipc/mach_port.c | 1 -
> ipc/mach_port.h | 103 ++++++++++++++++++++++++++++++++++++++++++--
> kern/mach_debug.h | 40 +++++++++++++++++
> 5 files changed, 142 insertions(+), 4 deletions(-)
> create mode 100644 kern/mach_debug.h
>
> diff --git a/Makefrag.am b/Makefrag.am
> index e2b4a3ba..8a82caee 100644
> --- a/Makefrag.am
> +++ b/Makefrag.am
> @@ -170,6 +170,7 @@ libkernel_a_SOURCES += \
> kern/log2.h \
> kern/mach_clock.c \
> kern/mach_clock.h \
> + kern/mach_debug.h \
> kern/mach_factor.c \
> kern/mach_factor.h \
> kern/machine.c \
> diff --git a/ddb/db_ext_symtab.c b/ddb/db_ext_symtab.c
> index e1bdfd8b..9c89fb95 100644
> --- a/ddb/db_ext_symtab.c
> +++ b/ddb/db_ext_symtab.c
> @@ -35,6 +35,7 @@
> #include <vm/vm_kern.h>
> #include <vm/vm_user.h>
> #include <kern/host.h>
> +#include <kern/mach_debug.h>
> #include <kern/task.h>
> #include <ddb/db_sym.h>
>
> diff --git a/ipc/mach_port.c b/ipc/mach_port.c
> index e5a5e978..1c9cdc97 100644
> --- a/ipc/mach_port.c
> +++ b/ipc/mach_port.c
> @@ -62,7 +62,6 @@
> #include <ipc/mach_port.h>
>
>
> -
> /*
> * Routine: mach_port_names_helper
> * Purpose:
> diff --git a/ipc/mach_port.h b/ipc/mach_port.h
> index 83641ae6..c93c48df 100644
> --- a/ipc/mach_port.h
> +++ b/ipc/mach_port.h
> @@ -30,6 +30,12 @@
> #include <ipc/ipc_types.h>
> #include <ipc/ipc_entry.h>
>
> +#if MACH_KDB
> +void db_debug_port_references (boolean_t enable);
> +#endif /* MACH_KDB */
> +
> +/* RPCs */
> +
> extern kern_return_t
> mach_port_allocate_name (
> ipc_space_t space,
> @@ -65,8 +71,99 @@ mach_port_get_receive_status(
> mach_port_name_t name,
> mach_port_status_t *statusp);
>
> -#if MACH_KDB
> -void db_debug_port_references (boolean_t enable);
> -#endif /* MACH_KDB */
> +kern_return_t
> +mach_port_names(
> + ipc_space_t space,
> + mach_port_name_t **namesp,
> + mach_msg_type_number_t *namesCnt,
> + mach_port_type_t **typesp,
> + mach_msg_type_number_t *typesCnt);
> +
> +kern_return_t
> +mach_port_type(
> + ipc_space_t space,
> + mach_port_name_t name,
> + mach_port_type_t *typep);
> +
> +kern_return_t
> +mach_port_rename(
> + ipc_space_t space,
> + mach_port_name_t oname,
> + mach_port_name_t nname);
> +
> +kern_return_t
> +mach_port_get_refs(
> + ipc_space_t space,
> + mach_port_name_t name,
> + mach_port_right_t right,
> + mach_port_urefs_t *urefsp);
> +
> +kern_return_t
> +mach_port_mod_refs(
> + ipc_space_t space,
> + mach_port_name_t name,
> + mach_port_right_t right,
> + mach_port_delta_t delta);
> +
> +kern_return_t
> +mach_port_set_qlimit(
> + ipc_space_t space,
> + mach_port_name_t name,
> + mach_port_msgcount_t qlimit);
> +
> +kern_return_t
> +mach_port_set_mscount(
> + ipc_space_t space,
> + mach_port_name_t name,
> + mach_port_mscount_t mscount);
> +
> +kern_return_t
> +mach_port_set_seqno(
> + ipc_space_t space,
> + mach_port_name_t name,
> + mach_port_seqno_t seqno);
> +
> +kern_return_t
> +mach_port_get_set_status(
> + ipc_space_t space,
> + mach_port_name_t name,
> + mach_port_name_t **members,
> + mach_msg_type_number_t *membersCnt);
> +
> +kern_return_t
> +mach_port_move_member(
> + ipc_space_t space,
> + mach_port_name_t member,
> + mach_port_name_t after);
> +
> +kern_return_t
> +mach_port_request_notification(
> + ipc_space_t space,
> + mach_port_name_t name,
> + mach_msg_id_t id,
> + mach_port_mscount_t sync,
> + ipc_port_t notify,
> + ipc_port_t *previousp);
> +
> +kern_return_t
> +mach_port_extract_right(
> + ipc_space_t space,
> + mach_port_name_t name,
> + mach_msg_type_name_t msgt_name,
> + ipc_port_t *poly,
> + mach_msg_type_name_t *polyPoly);
> +
> +kern_return_t
> +mach_port_set_protected_payload(
> + ipc_space_t space,
> + mach_port_name_t name,
> + unsigned long payload);
> +
> +kern_return_t
> +mach_port_clear_protected_payload(
> + ipc_space_t space,
> + mach_port_name_t name);
> +
> +/* End of RPCs */
>
> #endif /* _IPC_MACH_PORT_H_ */
> diff --git a/kern/mach_debug.h b/kern/mach_debug.h
> new file mode 100644
> index 00000000..63b8ae96
> --- /dev/null
> +++ b/kern/mach_debug.h
> @@ -0,0 +1,40 @@
> +/*
> + * Copyright (C) 2023 Free Software Foundation, Inc.
> + *
> + * This file is part of GNU Mach.
> + *
> + * GNU Mach is free software; you can redistribute it and/or modify it
> + * under the terms of the GNU General Public License as published by the
> + * Free Software Foundation; either version 2, or (at your option) any later
> + * version.
> + *
> + * This program is distributed in the hope that it will be useful, but
> + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
> + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
> + * for more details.
> + *
> + * 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.,
> + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
> + */
> +
> +#ifndef _KERN_MACH_DEBUG_H
> +#define _KERN_MACH_DEBUG_H
> +
> +#include <mach/mach_types.h> /* task_t, pointer_t */
> +#include <kern/task.h>
> +
> +/* RPCs */
> +
> +#if defined(MACH_KDB) && defined(MACH_DEBUG)
> +kern_return_t host_load_symbol_table(
> + host_t host,
> + task_t task,
> + char *name,
> + pointer_t symtab,
> + unsigned int symbtab_count);
> +#endif /* defined(MACH_KDB) && defined(MACH_DEBUG) */
> +
> +/* End of RPCs */
> +
> +#endif /* _KERN_MACH_DEBUG_H */
> --
> 2.39.0
>
>
--
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.