From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dedi548.your-server.de (dedi548.your-server.de [85.10.215.148]) by sourceware.org (Postfix) with ESMTPS id B97113858C56 for ; Tue, 21 Jun 2022 13:13:22 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org B97113858C56 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=embedded-brains.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=embedded-brains.de Received: from sslproxy02.your-server.de ([78.47.166.47]) by dedi548.your-server.de with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1o3dh2-0004Gt-JR for gcc@gcc.gnu.org; Tue, 21 Jun 2022 15:13:20 +0200 Received: from [82.100.198.138] (helo=mail.embedded-brains.de) by sslproxy02.your-server.de with esmtpsa (TLSv1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1o3dh2-0006Fx-Q4 for gcc@gcc.gnu.org; Tue, 21 Jun 2022 15:13:20 +0200 Received: from localhost (localhost [127.0.0.1]) by mail.embedded-brains.de (Postfix) with ESMTP id 7FA2F480155 for ; Tue, 21 Jun 2022 15:13:20 +0200 (CEST) Received: from mail.embedded-brains.de ([127.0.0.1]) by localhost (zimbra.eb.localhost [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id ziDIzygOzLd3 for ; Tue, 21 Jun 2022 15:13:20 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by mail.embedded-brains.de (Postfix) with ESMTP id 3871C480165 for ; Tue, 21 Jun 2022 15:13:20 +0200 (CEST) X-Virus-Scanned: amavisd-new at zimbra.eb.localhost Received: from mail.embedded-brains.de ([127.0.0.1]) by localhost (zimbra.eb.localhost [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id pwN6dCxTWhS0 for ; Tue, 21 Jun 2022 15:13:20 +0200 (CEST) Received: from [10.10.171.14] (unknown [10.10.171.14]) by mail.embedded-brains.de (Postfix) with ESMTPSA id 13B35480155 for ; Tue, 21 Jun 2022 15:13:20 +0200 (CEST) Message-ID: <0da8d95f-7102-4324-2737-82ff3c4b7e27@embedded-brains.de> Date: Tue, 21 Jun 2022 15:13:19 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.10.0 Content-Language: en-US To: GCC Development From: Sebastian Huber Subject: _Unwind_Resume() references in libgcc division functions Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Authenticated-Sender: smtp-embedded@poldinet.de X-Virus-Scanned: Clear (ClamAV 0.103.6/26579/Tue Jun 21 10:15:30 2022) X-Spam-Status: No, score=-5.5 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 21 Jun 2022 13:13:25 -0000 Hello, I noticed that several division related routines provided by libgcc such=20 as __divdi3, __moddi3 and __umoddi3 have references to _Unwind_Resume=20 for the sparc-rtems target. For example: .file "libgcc2.c" ! GNU C17 (GCC) version 13.0.0 20220621 (experimental) [master=20 r13-1187-gab981aab92c] (sparc-rtems6) ! compiled by GNU C version 12.1.1 20220517 [revision=20 325d82b08696da17fb26bd2e1b6ba607649357fb], GMP version 6.1.0, MPFR=20 version 3.1.4, MPC version 1.0.3, isl version isl-0.16.1-GMP ! GGC heuristics: --param ggc-min-expand=3D30 --param ggc-min-heapsize=3D= 4096 ! options passed: -msoft-float -mcpu=3Dleon3 -g -g -g -O0 -O2 -O0=20 -fbuilding-libgcc -fno-stack-protector -fexceptions=20 -fnon-call-exceptions -fvisibility=3Dhidden .LLBE7: .LLBE6: ! /home/EB/sebastian_h/src/gcc/libgcc/libgcc2.c:1225: w =3D __udivmoddi= 4=20 (uu.ll, vv.ll, (UDWtype *) 0); .loc 1 1225 5 std %g2, [%fp-16] ! D.3900, w ! /home/EB/sebastian_h/src/gcc/libgcc/libgcc2.c:1226: if (c) .loc 1 1226 6 ld [%fp-4], %g1 ! c, tmp284 cmp %g1, 0 ! tmp284, be .LL25 nop ! b .LL28 nop ! .LL27: mov %i0, %g1 !, tmp283 mov %g1, %o0 ! D.3909, .LLEHB2: call _Unwind_Resume, 0 nop !, .LL28: Could someone please give me a hint, why the compiler generates this=20 code? I was unable to figure this out by looking at the pre-processed=20 code. I tried to reproduce it with a simple division by zero test case,=20 but this didn't work: unsigned f(unsigned i) { return i / 0; } --=20 embedded brains GmbH Herr Sebastian HUBER Dornierstr. 4 82178 Puchheim Germany email: sebastian.huber@embedded-brains.de phone: +49-89-18 94 741 - 16 fax: +49-89-18 94 741 - 08 Registergericht: Amtsgericht M=C3=BCnchen Registernummer: HRB 157899 Vertretungsberechtigte Gesch=C3=A4ftsf=C3=BChrer: Peter Rasmussen, Thomas= D=C3=B6rfler Unsere Datenschutzerkl=C3=A4rung finden Sie hier: https://embedded-brains.de/datenschutzerklaerung/