From: Willy Tarreau Date: Wed, 24 May 2023 19:31:21 +0000 (+0200) Subject: BUILD: ist: use the literal declaration for ist_lc/ist_uc under TCC X-Git-Tag: v2.8-dev13~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=eced142aa884d853bc72dac449cdc1ae5fc94e47;p=thirdparty%2Fhaproxy.git BUILD: ist: use the literal declaration for ist_lc/ist_uc under TCC TCC doesn't knoow about __attribute__((weak)), it silently ignores it. We could add a "static" modifier there in this case but we already have an alternate portable mode that is based on a slightly larger literal for obsolete linkers (and non-ELF systems) which choke on weak. Let's just add the test for tcc there and use it in this case. No backport is needed. --- diff --git a/include/import/ist.h b/include/import/ist.h index 1ac23c815d..50df199f19 100644 --- a/include/import/ist.h +++ b/include/import/ist.h @@ -109,9 +109,10 @@ 0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff, \ } -#ifdef USE_OBSOLETE_LINKER +#if defined(USE_OBSOLETE_LINKER) || defined(__TINYC__) /* some old linkers and some non-ELF platforms have issues with the weak - * attribute so we turn these arrays to literals there. + * attribute so we turn these arrays to literals there. TCC silently ignores + * it so we switch to literal as well. */ #define ist_lc ((const unsigned char[256])_IST_LC) #define ist_uc ((const unsigned char[256])_IST_UC)