1*4882a593SmuzhiyunFrom 9c9623c8a47fb5580dfea1a59296c6d224479504 Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Sergei Trofimovich <slyfox@gentoo.org> 3*4882a593SmuzhiyunDate: Mon, 2 Mar 2020 23:45:22 +0000 4*4882a593SmuzhiyunSubject: [PATCH] mod_quotatab: fix build failure against gcc-10 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunOn gcc-10 (and gcc-9 -fno-common) build fails as: 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun``` 9*4882a593Smuzhiyun$ ./configure --with-modules=mod_quotatab && make 10*4882a593Smuzhiyun... 11*4882a593Smuzhiyunld: modules/module_glue.o:(.data.rel+0x68): 12*4882a593Smuzhiyun undefined reference to `quotatab_file_module' 13*4882a593Smuzhiyuncollect2: error: ld returned 1 exit status 14*4882a593Smuzhiyunmake: *** [Makefile:56: proftpd] Error 1 15*4882a593Smuzhiyun``` 16*4882a593Smuzhiyun 17*4882a593Smuzhiyungcc-10 will change the default from -fcommon to fno-common: 18*4882a593Smuzhiyunhttps://gcc.gnu.org/PR85678. 19*4882a593Smuzhiyun 20*4882a593SmuzhiyunThe error also happens if CFLAGS=-fno-common passed explicitly. 21*4882a593Smuzhiyun 22*4882a593SmuzhiyunSigned-off-by: Sergei Trofimovich <slyfox@gentoo.org> 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun[Retrieved from: 25*4882a593Smuzhiyunhttps://github.com/proftpd/proftpd/commit/9c9623c8a47fb5580dfea1a59296c6d224479504] 26*4882a593SmuzhiyunSigned-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> 27*4882a593Smuzhiyun--- 28*4882a593Smuzhiyun contrib/mod_quotatab.c | 1 + 29*4882a593Smuzhiyun contrib/mod_quotatab.h | 2 +- 30*4882a593Smuzhiyun 2 files changed, 2 insertions(+), 1 deletion(-) 31*4882a593Smuzhiyun 32*4882a593Smuzhiyundiff --git a/contrib/mod_quotatab.c b/contrib/mod_quotatab.c 33*4882a593Smuzhiyunindex 4fa6c1f44..0ee480163 100644 34*4882a593Smuzhiyun--- a/contrib/mod_quotatab.c 35*4882a593Smuzhiyun+++ b/contrib/mod_quotatab.c 36*4882a593Smuzhiyun@@ -50,6 +50,7 @@ typedef struct regtab_obj { 37*4882a593Smuzhiyun module quotatab_module; 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun /* Quota objects for the current session */ 40*4882a593Smuzhiyun+quota_deltas_t quotatab_deltas; 41*4882a593Smuzhiyun static quota_table_t *limit_tab = NULL; 42*4882a593Smuzhiyun static quota_limit_t sess_limit; 43*4882a593Smuzhiyun 44*4882a593Smuzhiyundiff --git a/contrib/mod_quotatab.h b/contrib/mod_quotatab.h 45*4882a593Smuzhiyunindex ed30333f5..c818395a0 100644 46*4882a593Smuzhiyun--- a/contrib/mod_quotatab.h 47*4882a593Smuzhiyun+++ b/contrib/mod_quotatab.h 48*4882a593Smuzhiyun@@ -188,7 +188,7 @@ typedef struct table_obj { 49*4882a593Smuzhiyun #define QUOTATAB_TALLY_SRC 0x0002 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun /* Quota objects for the current session. */ 52*4882a593Smuzhiyun-quota_deltas_t quotatab_deltas; 53*4882a593Smuzhiyun+extern quota_deltas_t quotatab_deltas; 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun /* Function prototypes necessary for quotatab sub-modules */ 56*4882a593Smuzhiyun int quotatab_log(const char *, ...) 57