committed, thanks! On Sat, Feb 01, 2020 at 01:54:11PM +0100, Jeremie Courreges-Anglas wrote: > On Fri, Jan 31 2020, Michael Forney <[email protected]> wrote: > > Every source file that includes extern.h will have its own definition > > of these variables. Since many compilers allocate the variables with > > .comm, they end up getting merged by the linker without error. > > However, ISO C requires exactly one definition of objects with > > external linkage. > > LGTM, ok jca@. > > I'll commit it if none of the usual suspects show up soon. > > > gcc 10 will enable -fno-common by default, which will put > > zero-initialized data in .bss, causing linking errors when multiple > > definitions are present. > > Good to know, thanks. > > > --- > > usr.sbin/acme-client/extern.h | 4 ++-- > > usr.sbin/acme-client/main.c | 5 +++-- > > 2 files changed, 5 insertions(+), 4 deletions(-) > > > > diff --git a/usr.sbin/acme-client/extern.h b/usr.sbin/acme-client/extern.h > > index e6b7af0d05b..f280b3e279e 100644 > > --- a/usr.sbin/acme-client/extern.h > > +++ b/usr.sbin/acme-client/extern.h > > @@ -277,12 +277,12 @@ char *json_fmt_signed(const char *, const > > char *, const char *); > > /* > > * Should we print debugging messages? > > */ > > -int verbose; > > +extern int verbose; > > > > /* > > * What component is the process within (COMP__MAX for none)? > > */ > > -enum comp proccomp; > > +extern enum comp proccomp; > > > > __END_DECLS > > > > diff --git a/usr.sbin/acme-client/main.c b/usr.sbin/acme-client/main.c > > index 7cbeeb7de03..1f59e6c755d 100644 > > --- a/usr.sbin/acme-client/main.c > > +++ b/usr.sbin/acme-client/main.c > > @@ -32,6 +32,9 @@ > > #define WWW_DIR "/var/www/acme" > > #define CONF_FILE "/etc/acme-client.conf" > > > > +int verbose; > > +enum comp proccomp; > > + > > int > > main(int argc, char *argv[]) > > { > > @@ -46,8 +49,6 @@ main(int argc, char *argv[]) > > int c, rc, revocate = 0; > > int popts = 0; > > pid_t pids[COMP__MAX]; > > - extern int verbose; > > - extern enum comp proccomp; > > size_t i, altsz, ne; > > > > struct acme_conf *conf = NULL; > > -- > jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE >
-- I'm not entirely sure you are real.
