This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Provide a prototype for runtime_traceback


On Tue, 3 Dec 2013, Richard Biener wrote:

> 
> Hi, I'm getting a bootstrap fail with Go with our custom patched
> compiler (it adds that warning):
> 
> 09:48 < richi> ../../../libgo/runtime/go-signal.c: In function
>                'runtime_sighandler':
> 09:48 < richi> ../../../libgo/runtime/go-signal.c:221:4: error: call to
>                function 'runtime_traceback' without a real prototype
>                [-Werror=unprototyped-calls] runtime_traceback (g);
> 
> which is because the declaration of runtime_traceback looks like
> 
>   void   runtime_traceback();
> 
> and thus if you call it the compiler doesn't know the number of
> arguments or their types and thus unwanted promotions may apply
> that change calling conventions (for example float -> double).
> In this case the argument is a pointer, so it's probably not
> an issue.  Still the above is not a prototype which the patch
> below fixes.
> 
> Bootstrap/testing in progress on x86_64-unknown-linux-gnu
> (let's hope this was the only one).

Hmm, didn't work out (the implementation has no argument).

Try the following instead.

2013-12-03  Richard Biener  <rguenther@suse.de>

	libgo/
	* runtime/runtime.h (runtime_traceback): Fix prototype.
	* runtime/go-signal.c (runtime_sighandler): Don't pass
	excess argument to runtime_traceback.

Index: libgo/runtime/runtime.h
===================================================================
--- libgo/runtime/runtime.h	(revision 205623)
+++ libgo/runtime/runtime.h	(working copy)
@@ -453,7 +453,7 @@ enum {
 };
 void	runtime_hashinit(void);
 
-void	runtime_traceback();
+void	runtime_traceback(void);
 void	runtime_tracebackothers(G*);
 
 /*
Index: libgo/runtime/go-signal.c
===================================================================
--- libgo/runtime/go-signal.c	(revision 205623)
+++ libgo/runtime/go-signal.c	(working copy)
@@ -218,7 +218,7 @@ runtime_sighandler (int sig, Siginfo *in
 	  G *g;
 
 	  g = runtime_g ();
-	  runtime_traceback (g);
+	  runtime_traceback ();
 	  runtime_tracebackothers (g);
 
 	  /* The gc library calls runtime_dumpregs here, and provides


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]