Control: tag -1 patch Greetings,
Most variables from sh.h in most situations are declared as "extern" already through the "EXTERN" macro, except for the source file sh.c, in which one can find the override: #define EXTERN /* Intern */ So, one neat option could be to leverage that macro to inline the attribute setting authorizing common definition of global variables: #define EXTERN __attribute__((__common__)) /* Intern */ From my test, this solves the build issue on Gcc 10. You can find the corresponding patch in attachment of this email. In hope this helps, -- Étienne Mollier <etienne.moll...@mailoo.org> Old rsa/3072: 5ab1 4edf 63bb ccff 8b54 2fa9 59da 56fe fff3 882d New rsa/4096: 8f91 b227 c7d6 f2b1 948c 8236 793c f67e 8f0d 11da Sent from /dev/pts/3, please excuse my verbosity.
diff '--color=auto' '--palette=rs=0:hd=1:ad=00;32:de=00;31:ln=00;36' -Naur tcsh-6.21.00.old/sh.c tcsh-6.21.00/sh.c --- tcsh-6.21.00.old/sh.c 2019-05-08 20:39:28.000000000 +0200 +++ tcsh-6.21.00/sh.c 2020-07-25 12:49:16.500350189 +0200 @@ -29,7 +29,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. */ -#define EXTERN /* Intern */ +#define EXTERN __attribute__((__common__)) /* Intern */ #include "sh.h" #ifndef lint
signature.asc
Description: PGP signature