From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 75151 invoked by alias); 31 Jul 2019 16:38:35 -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 75068 invoked by uid 89); 31 Jul 2019 16:38:35 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.9 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=5188, HX-Languages-Length:1116, UD:cygwin.com, cygwincom X-HELO: mail-lf1-f65.google.com Received: from mail-lf1-f65.google.com (HELO mail-lf1-f65.google.com) (209.85.167.65) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 31 Jul 2019 16:38:34 +0000 Received: by mail-lf1-f65.google.com with SMTP id q26so47940600lfc.3 for ; Wed, 31 Jul 2019 09:38:33 -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=SO6nCUY6/ihAUyyRWtH74/pBtcGKX84BNcFboYthc7A=; b=dKCaC93TPsn7st9nrbjgVcUeHL5qD8CRbo1uYkymINm/5EKZUXA2HOFOgTOV1zzknS T4hDH/SyRXUisqlscA9e7m1UbnaGDGRiFGvFtnb7+ZVrWAF0JjOhmEHIm132o+ywghh/ +g1neEBv0frJBRdoDvmD1qk3g6n0Nig0ibQsHFna9bPi5dJWUYRSyulaRgMRjvd/84Qq OPcYC649ObNJaUTxNpn5wm583DCPm1On/WySrDB6Xj20ZcLA+PiM5KQf+wcr4M/kOOv5 rgR3LBQTQsQbutrVauOEMbn1AS3g1E6L4L3p3FYMePxXN6f1M4XtvB2LOmmDyfO+sFfH wYtw== Return-Path: Received: from af-ubuntu18-hyperv.cmtknet.ru (relay.cmtk.ru. [195.5.145.226]) by smtp.gmail.com with ESMTPSA id q4sm16001413lje.99.2019.07.31.09.38.31 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Wed, 31 Jul 2019 09:38:31 -0700 (PDT) From: Alexander Fedotov To: Richard.Earnshaw@arm.com, newlib@sourceware.org Cc: Alexander Fedotov Subject: [PATCH v1 2/3] Reflect commit 2404223 (https://cygwin.com/git/gitweb.cgi?p=newlib-cygwin.git;a=commit;h=2404223df651ceef42c6e2f2c9fa42fb7963db10) Date: Wed, 31 Jul 2019 16:38:00 -0000 Message-Id: <20190731163805.28834-2-alfedotov@gmail.com> In-Reply-To: <20190731163805.28834-1-alfedotov@gmail.com> References: <20190731163805.28834-1-alfedotov@gmail.com> X-SW-Source: 2019/txt/msg00389.txt.bz2 --- 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