]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/cgo: add missing parameter list for function _cgo_wait_runtime_init_done
authorPhilipp Stephani <phst@google.com>
Wed, 23 Jan 2019 20:14:30 +0000 (20:14 +0000)
committerIan Lance Taylor <iant@golang.org>
Fri, 8 Mar 2019 01:10:57 +0000 (01:10 +0000)
Fixes #29879

Change-Id: Id2061a5eab67bb90a8116dc4f16073be1c9a09a9
GitHub-Last-Rev: 186863ab6aa9481744f276a7afbd87bd53c9f863
GitHub-Pull-Request: golang/go#29900
Reviewed-on: https://go-review.googlesource.com/c/go/+/159178
Reviewed-by: Philipp Stephani <phst@google.com>
Reviewed-by: Emmanuel Odeke <emm.odeke@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Run-TryBot: Emmanuel Odeke <emm.odeke@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>

src/cmd/cgo/doc.go
src/cmd/cgo/out.go
src/runtime/cgo/gcc_libinit.c
src/runtime/cgo/gcc_libinit_windows.c
src/runtime/cgo/libcgo.h

index cceb33edbdb738e39bf8ff0ee1e4af9797f26562..73ad4ba079568eca0106849b88d69d508620d437 100644 (file)
@@ -710,7 +710,7 @@ _cgo_main.c:
 
        int main() { return 0; }
        void crosscall2(void(*fn)(void*, int, uintptr_t), void *a, int c, uintptr_t ctxt) { }
-       uintptr_t _cgo_wait_runtime_init_done() { return 0; }
+       uintptr_t _cgo_wait_runtime_init_done(void) { return 0; }
        void _cgo_release_context(uintptr_t ctxt) { }
        char* _cgo_topofstack(void) { return (char*)0; }
        void _cgo_allocate(void *a, int c) { }
index 0cf8b174f8e5c9dc6220eb72ceac5fa8ad228ff8..bb0d016fa55b42a73d16279f5c6f8f9eddd7a500 100644 (file)
@@ -59,14 +59,14 @@ func (p *Package) writeDefs() {
        fmt.Fprintf(fm, "int main() { return 0; }\n")
        if *importRuntimeCgo {
                fmt.Fprintf(fm, "void crosscall2(void(*fn)(void*, int, __SIZE_TYPE__), void *a, int c, __SIZE_TYPE__ ctxt) { }\n")
-               fmt.Fprintf(fm, "__SIZE_TYPE__ _cgo_wait_runtime_init_done() { return 0; }\n")
+               fmt.Fprintf(fm, "__SIZE_TYPE__ _cgo_wait_runtime_init_done(void) { return 0; }\n")
                fmt.Fprintf(fm, "void _cgo_release_context(__SIZE_TYPE__ ctxt) { }\n")
                fmt.Fprintf(fm, "char* _cgo_topofstack(void) { return (char*)0; }\n")
        } else {
                // If we're not importing runtime/cgo, we *are* runtime/cgo,
                // which provides these functions. We just need a prototype.
                fmt.Fprintf(fm, "void crosscall2(void(*fn)(void*, int, __SIZE_TYPE__), void *a, int c, __SIZE_TYPE__ ctxt);\n")
-               fmt.Fprintf(fm, "__SIZE_TYPE__ _cgo_wait_runtime_init_done();\n")
+               fmt.Fprintf(fm, "__SIZE_TYPE__ _cgo_wait_runtime_init_done(void);\n")
                fmt.Fprintf(fm, "void _cgo_release_context(__SIZE_TYPE__);\n")
        }
        fmt.Fprintf(fm, "void _cgo_allocate(void *a, int c) { }\n")
@@ -784,7 +784,7 @@ func (p *Package) writeExports(fgo2, fm, fgcc, fgcch io.Writer) {
        fmt.Fprintf(fgcc, "#pragma GCC diagnostic ignored \"-Waddress-of-packed-member\"\n")
 
        fmt.Fprintf(fgcc, "extern void crosscall2(void (*fn)(void *, int, __SIZE_TYPE__), void *, int, __SIZE_TYPE__);\n")
-       fmt.Fprintf(fgcc, "extern __SIZE_TYPE__ _cgo_wait_runtime_init_done();\n")
+       fmt.Fprintf(fgcc, "extern __SIZE_TYPE__ _cgo_wait_runtime_init_done(void);\n")
        fmt.Fprintf(fgcc, "extern void _cgo_release_context(__SIZE_TYPE__);\n\n")
        fmt.Fprintf(fgcc, "extern char* _cgo_topofstack(void);")
        fmt.Fprintf(fgcc, "%s\n", tsanProlog)
@@ -1924,5 +1924,5 @@ static void GoInit(void) {
                runtime_iscgo = 1;
 }
 
-extern __SIZE_TYPE__ _cgo_wait_runtime_init_done() __attribute__ ((weak));
+extern __SIZE_TYPE__ _cgo_wait_runtime_init_done(void) __attribute__ ((weak));
 `
index d35726d9532011a9457078203a9867fc9a5753a3..3304d95fdf968408908f27d3b8592294b97cf528 100644 (file)
@@ -32,7 +32,7 @@ x_cgo_sys_thread_create(void* (*func)(void*), void* arg) {
 }
 
 uintptr_t
-_cgo_wait_runtime_init_done() {
+_cgo_wait_runtime_init_done(void) {
        void (*pfn)(struct context_arg*);
 
        pthread_mutex_lock(&runtime_init_mu);
index 248d59fd6957430b06d12fdf962396c926e44f29..9fd7d36bfb97c72e82536962da14d09f2cc574ef 100644 (file)
@@ -70,7 +70,7 @@ _cgo_is_runtime_initialized() {
 }
 
 uintptr_t
-_cgo_wait_runtime_init_done() {
+_cgo_wait_runtime_init_done(void) {
        void (*pfn)(struct context_arg*);
 
         _cgo_maybe_run_preinit();
index 60326720a77f135b69965a79e1e307164a273776..aba500a301c66a0c1864c3fd9c61ebfc56e21a5f 100644 (file)
@@ -61,7 +61,7 @@ void _cgo_sys_thread_start(ThreadStart *ts);
  * If runtime.SetCgoTraceback is used to set a context function,
  * calls the context function and returns the context value.
  */
-uintptr_t _cgo_wait_runtime_init_done();
+uintptr_t _cgo_wait_runtime_init_done(void);
 
 /*
  * Call fn in the 6c world.