[prev in list] [next in list] [prev in thread] [next in thread] 

List:       hurd-bug
Subject:    [PATCH 3/5] hurd: make function cast stronger
From:       Samuel Thibault <samuel.thibault () gnu ! org>
Date:       2020-05-29 20:04:44
Message-ID: 20200529200444.3mc4bw2nqep3d4oh () function
[Download RAW message or body]

gdb/ChangeLog: 

2020-05-29  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* reply_mig_hack.awk (Error return): Cast function through
	void *, to bypass compiler function call check.

diff --git a/gdb/reply_mig_hack.awk b/gdb/reply_mig_hack.awk
index 52ab90bba3..6ff683a841 100644
--- a/gdb/reply_mig_hack.awk
+++ b/gdb/reply_mig_hack.awk
@@ -130,7 +130,8 @@ parse_phase == 5 && /^#if[ \t]TypeCheck/ {
   # two arguments.
   # This is possibly bogus, but easier than supplying bogus values for all
   # the other args (we can't just pass 0 for them, as they might not be scalar).
-  print "\t    OutP->RetCode = (*(kern_return_t (*)(mach_port_t, kern_return_t)) " \
user_function_name ") (In0P->Head.msgh_request_port, In0P->" arg_name[0] ");"; +  \
print "\t    void * __error_call = " user_function_name ";"; +  print "\t    \
OutP->RetCode = (*(kern_return_t (*)(mach_port_t, kern_return_t)) __error_call) \
(In0P->Head.msgh_request_port, In0P->" arg_name[0] ");";  print "\t    return;";
   print "\t  }";
   print "";


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic