[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen staging-4.13] tools/xenstore: mark variable in header as extern
commit a5756aa6398b5e333ca15583dfd7fdaa21c0f116 Author: Anthony PERARD <anthony.perard@xxxxxxxxxx> AuthorDate: Wed May 20 17:39:42 2020 +0100 Commit: Ian Jackson <iwj@xxxxxxxxxxxxxx> CommitDate: Mon Nov 9 17:54:01 2020 +0000 tools/xenstore: mark variable in header as extern This patch fix "multiple definition of `xprintf'" (or xgt_handle) build error with GCC 10.1.0. These are the error reported: gcc xs_tdb_dump.o utils.o tdb.o talloc.o -o xs_tdb_dump /usr/bin/ld: utils.o:./utils.h:27: multiple definition of `xprintf'; xs_tdb_dump.o:./utils.h:27: first defined here [...] gcc xenstored_core.o xenstored_watch.o xenstored_domain.o xenstored_transaction.o xenstored_control.o xs_lib.o talloc.o utils.o tdb.o hashtable.o xenstored_posix.o -lsystemd -Wl,-rpath-link=... ../libxc/libxenctrl.so -lrt -o xenstored /usr/bin/ld: xenstored_watch.o:./xenstored_core.h:207: multiple definition of `xgt_handle'; xenstored_core.o:./xenstored_core.h:207: first defined here /usr/bin/ld: xenstored_domain.o:./xenstored_core.h:207: multiple definition of `xgt_handle'; xenstored_core.o:./xenstored_core.h:207: first defined here /usr/bin/ld: xenstored_transaction.o:./xenstored_core.h:207: multiple definition of `xgt_handle'; xenstored_core.o:./xenstored_core.h:207: first defined here /usr/bin/ld: xenstored_control.o:./xenstored_core.h:207: multiple definition of `xgt_handle'; xenstored_core.o:./xenstored_core.h:207: first defined here /usr/bin/ld: xenstored_posix.o:./xenstored_core.h:207: multiple definition of `xgt_handle'; xenstored_core.o:./xenstored_core.h:207: first defined here A difference that I noticed with earlier version of the build chain is that before, I had: $ nm xs_tdb_dump.o | grep xprintf 0000000000000008 C xprintf And now, it's: 0000000000000000 B xprintf With the patch apply, the symbol isn't in xs_tdb_dump.o anymore. Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx> Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Reviewed-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> (cherry picked from commit dacdbf7088d6a3705a9831e73991c2b14c519a65) --- tools/xenstore/utils.h | 2 +- tools/xenstore/xenstored_core.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/xenstore/utils.h b/tools/xenstore/utils.h index 522c3594a2..6a1b5de9bd 100644 --- a/tools/xenstore/utils.h +++ b/tools/xenstore/utils.h @@ -24,7 +24,7 @@ static inline bool strends(const char *a, const char *b) void barf(const char *fmt, ...) __attribute__((noreturn)); void barf_perror(const char *fmt, ...) __attribute__((noreturn)); -void (*xprintf)(const char *fmt, ...); +extern void (*xprintf)(const char *fmt, ...); #define eprintf(_fmt, _args...) xprintf("[ERR] %s" _fmt, __FUNCTION__, ##_args) diff --git a/tools/xenstore/xenstored_core.h b/tools/xenstore/xenstored_core.h index 56a279cfbb..c4c32bc88f 100644 --- a/tools/xenstore/xenstored_core.h +++ b/tools/xenstore/xenstored_core.h @@ -204,7 +204,7 @@ void finish_daemonize(void); /* Open a pipe for signal handling */ void init_pipe(int reopen_log_pipe[2]); -xengnttab_handle **xgt_handle; +extern xengnttab_handle **xgt_handle; int remember_string(struct hashtable *hash, const char *str); -- generated by git-patchbot for /home/xen/git/xen.git#staging-4.13
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |