From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.fibranet.cat (www.fibranet.cat [88.99.13.26]) by sourceware.org (Postfix) with ESMTPS id A3FDE3858414 for ; Fri, 25 Feb 2022 11:24:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org A3FDE3858414 Received: from [192.168.1.11] (74.red-83-40-254.dynamicip.rima-tde.net [83.40.254.74]) (authenticated bits=0) by mail.fibranet.cat (8.15.2/8.15.2) with ESMTPSA id 21PBOoL91794796 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 25 Feb 2022 12:24:52 +0100 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.fibranet.cat 21PBOoL91794796 Message-ID: Date: Fri, 25 Feb 2022 12:24:50 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Content-Language: en-US From: Jordi Sanfeliu To: newlib@sourceware.org Subject: undefined reference to '__builtin_mul_overflow' Organization: Fibranet NSP, SL Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.6.2 (mail.fibranet.cat [88.99.13.26]); Fri, 25 Feb 2022 12:24:53 +0100 (CET) X-FibraNet-MailScanner-Information: FibraNet E-Mail Virus Protection Service X-FibraNet-MailScanner-ID: 21PBOoL91794796 X-FibraNet-MailScanner: Found to be clean X-FibraNet-MailScanner-SpamCheck: X-FibraNet-MailScanner-From: jordi@fibranet.cat X-FibraNet-MailScanner-Watermark: 1646393095.89119@LdMFZTJCwdmCVAeVBvryog X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_BARRACUDACENTRAL, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: newlib@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Newlib mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Feb 2022 11:24:59 -0000 Hello, I'm upgrading to Newlib 4.1.0 version (from Newlib 3.2.0) in my own hobby operating system FiwixOS for i386, and after a successful build with GCC 4.7.4 and Binutils 2.23.2, I found that I'm unable to compile a simple C program: # cat test.c #include int main(void) { printf("newlib version %s\n", _NEWLIB_VERSION); return 0; } # gcc -o test test.c /usr/lib/gcc/i686-pc-fiwix/4.7.4/../../../../i686-pc-fiwix/lib/libc.a(lib_a-callocr.o): In function `_calloc_r': /mnt/builds/build-newlib-4.1.0.final/i386-fiwix/newlib/libc/stdlib/../../../../../newlib-4.1.0/newlib/libc/stdlib/mallocr.c:3210: undefined reference to `__builtin_mul_overflow' collect2: error: ld returned 1 exit status Looking in the Newlib 4.2.0 source code, I'm indeed unable to find the function '__builtin_mul_overflow'. This is what 'grep' says: # grep -r __builtin_mul_overflow * newlib/libc/stdlib/mallocr.c: if (__builtin_mul_overflow((INTERNAL_SIZE_T) n, (INTERNAL_SIZE_T) elem_size, &sz)) newlib/libc/stdlib/nano-mallocr.c: if (__builtin_mul_overflow (n, elem, &bytes)) newlib/libc/stdlib/reallocarray.c: if (__builtin_mul_overflow (nmemb, size, &bytes)) There are references to it but I don't see where this function is defined. Any idea what I'm missing here? Regards. -- Jordi Sanfeliu FIBRANET Network Services Provider https://www.fibranet.cat