From 9fecb6ce056f25837dffac95260d5a80b9f468c0 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Wed, 19 Aug 2020 10:37:07 +0200
Subject: [PATCH] fix build with gcc 10

Move initialisation of global variables to main functions to fix the
following build failure with gcc 10:

/tmp/instance-1/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: ./libgdbmapp.a(parseopt.o):(.bss+0x2c): multiple definition of `parseopt_program_args'; gdbm_dump.o:(.data.rel.local+0x28): first defined here
/tmp/instance-1/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: ./libgdbmapp.a(parseopt.o):(.bss+0x30): multiple definition of `parseopt_program_doc'; gdbm_dump.o:(.data.rel.local+0x2c): first defined here
/tmp/instance-1/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: ./libgdbmapp.a(parseopt.o):(.bss+0x2c): multiple definition of `parseopt_program_args'; gdbm_load.o:(.data.rel.local+0xa0): first defined here
/tmp/instance-1/output-1/host/lib/gcc/arm-buildroot-linux-gnueabihf/10.2.0/../../../../arm-buildroot-linux-gnueabihf/bin/ld: ./libgdbmapp.a(parseopt.o):(.bss+0x30): multiple definition of `parseopt_program_doc'; gdbm_load.o:(.data.rel.local+0xa4): first defined here

Fixes:
 - http://autobuild.buildroot.org/results/d09b5368bb624df629296359a5abcdd37ba61e9e

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Upstream status: sent to Sergey Poznyakoff <gray@gnu.org>]
---
 src/gdbm_dump.c | 5 +++--
 src/gdbm_load.c | 5 +++--
 src/gdbmtool.c  | 5 +++--
 3 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/src/gdbm_dump.c b/src/gdbm_dump.c
index 82fb5af..67574ac 100644
--- a/src/gdbm_dump.c
+++ b/src/gdbm_dump.c
@@ -19,8 +19,6 @@
 # include "gdbmapp.h"
 # include "gdbmdefs.h"
 
-char *parseopt_program_doc = "dump a GDBM database to a file";
-char *parseopt_program_args = "DB_FILE [FILE]";
 struct gdbm_option optab[] = {
   { 'H', "format", "binary|ascii|0|1", N_("select dump format") },
   { 0 }
@@ -36,6 +34,9 @@ main (int argc, char **argv)
   char *dbname, *filename;
   FILE *fp;
 
+  parseopt_program_doc = "dump a GDBM database to a file";
+  parseopt_program_args = "DB_FILE [FILE]";
+
 #ifdef HAVE_SETLOCALE
   setlocale (LC_ALL, "");
 #endif
diff --git a/src/gdbm_load.c b/src/gdbm_load.c
index 2d96ada..1b2739c 100644
--- a/src/gdbm_load.c
+++ b/src/gdbm_load.c
@@ -29,8 +29,6 @@ int mode;
 uid_t owner_uid;
 gid_t owner_gid;
 
-char *parseopt_program_doc = "load a GDBM database from a file";
-char *parseopt_program_args = "FILE [DB_FILE]";
 struct gdbm_option optab[] = {
   { 'r', "replace", NULL, N_("replace records in the existing database") },
   { 'm', "mode", N_("MODE"), N_("set file mode") },
@@ -100,6 +98,9 @@ main (int argc, char **argv)
   int cache_size = 0;
   int block_size = 0;
   
+  parseopt_program_doc = "load a GDBM database from a file";
+  parseopt_program_args = "FILE [DB_FILE]";
+
 #ifdef HAVE_SETLOCALE
   setlocale (LC_ALL, "");
 #endif
diff --git a/src/gdbmtool.c b/src/gdbmtool.c
index bbadbae..69bc3b1 100644
--- a/src/gdbmtool.c
+++ b/src/gdbmtool.c
@@ -1535,8 +1535,6 @@ command_lookup (const char *str, struct locus *loc, struct command **pcmd)
   return found->tok;
 }
 
-char *parseopt_program_doc = N_("examine and/or modify a GDBM database");
-char *parseopt_program_args = N_("DBFILE [COMMAND [ARG ...]]");
 
 enum {
   OPT_LEX_TRACE = 256,
@@ -2053,6 +2051,9 @@ main (int argc, char *argv[])
   char *source = NULL;
   instream_t input = NULL;
   
+  parseopt_program_doc = N_("examine and/or modify a GDBM database");
+  parseopt_program_args = N_("DBFILE [COMMAND [ARG ...]]");
+
   set_progname (argv[0]);
 #if GDBM_DEBUG_ENABLE
   gdbm_debug_printer = debug_printer;
-- 
2.27.0

