hurd: fix RPC stubs names

Message ID 20170827183749.2ecowdoexc4mmkjq@var.youpi.perso.aquilenet.fr
State New, archived
Headers

Commit Message

Samuel Thibault Aug. 27, 2017, 6:37 p.m. UTC
  Mach RPCs expect C names for RPC stubs, so we should make sure they are
defined with C names.

* gdb/gnu-nat.c (ILL_RPC): Enclose RPC stub definition in extern "C" { }
  

Comments

Samuel Thibault July 15, 2018, 10:49 a.m. UTC | #1
Ping?

Samuel Thibault, le dim. 27 août 2017 20:37:49 +0200, a ecrit:
> Mach RPCs expect C names for RPC stubs, so we should make sure they are
> defined with C names.
> 
> * gdb/gnu-nat.c (ILL_RPC): Enclose RPC stub definition in extern "C" { }
> 
> diff --git a/gdb/gnu-nat.c b/gdb/gnu-nat.c
> index d5e3841e68..b39d3d0a90 100644
> --- a/gdb/gnu-nat.c
> +++ b/gdb/gnu-nat.c
> @@ -1796,11 +1796,13 @@ do_mach_notify_dead_name (mach_port_t notify, mach_port_t dead_port)
>  
>  
>  #define ILL_RPC(fun, ...) \
> +  extern "C" { \
>    extern kern_return_t fun (__VA_ARGS__); \
>    kern_return_t fun (__VA_ARGS__) \
>    { \
>      warning (_("illegal rpc: %s"), #fun); \
>      return 0; \
> +  } \
>    }
>  
>  ILL_RPC (do_mach_notify_no_senders,
  
Thomas Schwinge July 15, 2018, 1:01 p.m. UTC | #2
Hi!

On Sun, 15 Jul 2018 12:49:17 +0200, Samuel Thibault <samuel.thibault@gnu.org> wrote:
> Ping?

I'm currently (really!) working on catching up with the last 1.5 years of
binutils-gdb sources changes, with only the changes of the last six
months remaining now, and will apply the patches once I'm up to date.
I've got a few more patches already to keep things build and work.

Thanks for your patience -- just a little bit more now.  :-)


Grüße
 Thomas
  

Patch

diff --git a/gdb/gnu-nat.c b/gdb/gnu-nat.c
index d5e3841e68..b39d3d0a90 100644
--- a/gdb/gnu-nat.c
+++ b/gdb/gnu-nat.c
@@ -1796,11 +1796,13 @@  do_mach_notify_dead_name (mach_port_t notify, mach_port_t dead_port)
 
 
 #define ILL_RPC(fun, ...) \
+  extern "C" { \
   extern kern_return_t fun (__VA_ARGS__); \
   kern_return_t fun (__VA_ARGS__) \
   { \
     warning (_("illegal rpc: %s"), #fun); \
     return 0; \
+  } \
   }
 
 ILL_RPC (do_mach_notify_no_senders,