From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 47734 invoked by alias); 2 Aug 2019 12:33:57 -0000 Mailing-List: contact newlib-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: newlib-owner@sourceware.org Received: (qmail 47632 invoked by uid 89); 2 Aug 2019 12:33:56 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.1 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.1 spammy= X-HELO: mail-lj1-f181.google.com Received: from mail-lj1-f181.google.com (HELO mail-lj1-f181.google.com) (209.85.208.181) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 02 Aug 2019 12:33:55 +0000 Received: by mail-lj1-f181.google.com with SMTP id v24so72823353ljg.13 for ; Fri, 02 Aug 2019 05:33:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=oCXqKrUi8p032xqF8G8VEUPuwLXQl1/PcpqwrD0t5hc=; b=pSq6CyvYhVPj/TpW52OE0D8K5Uw3cL5RrYjkQxMj2u+W/nMQuuDrQN78u2mzJxDm/M 7qxdPxGIsT36h/xHqFuWqYNVMhQb11/eeAMOJQXBl3FuLjWj3o/wlXlvNzuA+lObmUuD nH6EXd3ApseSpnwbErWRGU4l9tXkReqFhqg4d4us+/cplryvTrxqq8IFT+QaQ+3/8689 0YjMQUUAkh39cfT7UsAXg1/WapdBempKtZbIDcqkIIjZgKyUTX2nPqcX/+xi8DiX8pE3 IJ2FKMtCyljUp+Ujag1Ct58Wz8dY9LJXF1Uw76DdLMGzuFYUnbB5p5W7LZCFxNMGF0KW ksrQ== Return-Path: Received: from af-ubuntu18-hyperv.cmtknet.ru (relay.cmtk.ru. [195.5.145.226]) by smtp.gmail.com with ESMTPSA id u9sm12914135lfk.64.2019.08.02.05.33.52 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Fri, 02 Aug 2019 05:33:52 -0700 (PDT) From: Alexander Fedotov To: newlib@sourceware.org Cc: Alexander Fedotov Subject: [PATCH v2 3/4] Align libgloss/arm and libc/sys/arm sources: Lite exit support Date: Fri, 02 Aug 2019 12:34:00 -0000 Message-Id: <20190802123346.5377-4-alfedotov@gmail.com> In-Reply-To: <20190802123346.5377-1-alfedotov@gmail.com> References: <20190802123346.5377-1-alfedotov@gmail.com> X-SW-Source: 2019/txt/msg00414.txt.bz2 Applied changes from commit 2404223: * arm/crt0.S (_mainCRTStartup): Weak reference to atexit and _fini when lite exit is enabled. --- newlib/libc/sys/arm/crt0.S | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/newlib/libc/sys/arm/crt0.S b/newlib/libc/sys/arm/crt0.S index a55aa365b..5e677a23c 100644 --- a/newlib/libc/sys/arm/crt0.S +++ b/newlib/libc/sys/arm/crt0.S @@ -518,8 +518,17 @@ __change_mode: for _fini to be called at program exit. */ movs r4, r0 movs r5, r1 +#ifdef _LITE_EXIT + /* Make reference to atexit weak to avoid unconditionally pulling in + support code. Refer to comments in __atexit.c for more details. */ + .weak FUNCTION(atexit) + ldr r0, .Latexit + cmp r0, #0 + beq .Lweak_atexit +#endif ldr r0, .Lfini bl FUNCTION (atexit) +.Lweak_atexit: bl FUNCTION (_init) movs r0, r4 movs r1, r5 @@ -589,6 +598,13 @@ change_back: .LC2: .word __bss_end__ #ifdef __USES_INITFINI__ +#ifdef _LITE_EXIT +.Latexit: + .word FUNCTION(atexit) + + /* Weak reference _fini in case of lite exit. */ + .weak FUNCTION(_fini) +#endif .Lfini: .word FUNCTION(_fini) #endif -- 2.17.1