From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) by sourceware.org (Postfix) with ESMTPS id DCBE43858C54 for ; Wed, 27 Apr 2022 09:27:07 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org DCBE43858C54 Received: by mail-wr1-x42e.google.com with SMTP id w4so1589861wrg.12 for ; Wed, 27 Apr 2022 02:27:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=hd/MO71pQW0tSB11s0PbVM9OPx5Slp5H8+zn6edcjjs=; b=RVE0fSOZB0HZbJyrXfuAxzyO3e8sZdGIurZSDyHyogr78rYEzXGImKk/Mn7uxx6yp9 xKcesIkT/2rdSJgULlGCyugXlsB1JsuXHyjVqRneVfY9NFwPSPY2WEFl4BvF/BMgKbGs IvhPIdadnA+3i2TDS9RuMWqnjoLzx9Ola0v/Sz+jGNXadddHWagTANXzgPfD9SybnRde wHt+5fq/UkG0bGU787KbLLPYBamIg4nRWrQl1V0F7sl7vc8cLkSVzkrJTowZ1SyQYDyl nYZeu5dwsha/G6KtQL6PSvmZ32dugv0KOwWlVJ3jJRGHIzjDDqr/xTF/tYpcMqbtipnT aUlA== X-Gm-Message-State: AOAM5303a2kimPEibkHD8oQN4sKgM3SMwuJGll6ePImiL3cLmM4F6M0V Q8VqRMXkiwy/BDqczourxh2Cp/KO+3LKCHg77ak= X-Google-Smtp-Source: ABdhPJwmHItCO5s/jOH+9MCIUS7XnIyRpJY8K/J3vuJ5vXbjmLU1Qkflxz8HyCxbks5rUl0U2L8gTrp5ZEJOPUXFFLM= X-Received: by 2002:a5d:4806:0:b0:20a:da03:711b with SMTP id l6-20020a5d4806000000b0020ada03711bmr11761170wrq.395.1651051626358; Wed, 27 Apr 2022 02:27:06 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Jonathan Wakely Date: Wed, 27 Apr 2022 10:26:54 +0100 Message-ID: Subject: Re: How to enable GLIBCXX & CXXABI in yocto To: WENG Binyang Cc: "gcc-help@gcc.gnu.org" Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc-help@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-help mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Apr 2022 09:27:09 -0000 On Wed, 27 Apr 2022 at 07:30, WENG Binyang wrote: > > Hi gcc-help team, > > I am working on create a arm toolchain by yocto. > I confirmed the generated toolchain, but found no GLIBCXX_3.* and CXXABI in libstdc++ for arm64. Please refer to the following. > > xxx:~/Workspace/EMIRROR/sdk/linux/yocto-build/toolchain/sysroots/aarch64-linux/usr/lib$ strings libstdc++.so.6.0.28 | grep GLIBCXX > GLIBCXX_FORCE_NEW > GLIBCXX_DEBUG_MESSAGE_LENGTH > > Could you tell me how to enable GLIBCXX_3* and CXXABI in yocto build? It depends on linker support and the value of the --enable-symvers configure option. See https://gcc.gnu.org/onlinedocs/libstdc++/manual/configure.html --enable-symvers[=style] In 3.1 and later, tries to turn on symbol versioning in the shared library (if a shared library has been requested). Values for 'style' that are currently supported are 'gnu', 'gnu-versioned-namespace', 'darwin', 'darwin-export', and 'sun'. Both gnu- options require that a recent version of the GNU linker be in use. Both darwin options are equivalent. With no style given, the configure script will try to guess correct defaults for the host system, probe to see if additional requirements are necessary and present for activation, and if so, will turn symbol versioning on. This option can change the library ABI. And the comments in libstdc++-v3/acinclude.m4 dnl dnl Add version tags to symbols in shared library (or not), additionally dnl marking other symbols as private/local (or not). dnl dnl Sets libtool_VERSION, and determines shared library SONAME. dnl dnl This depends on GLIBCXX CHECK_LINKER_FEATURES, but without it assumes no. dnl dnl --enable-symvers=style adds a version script to the linker call when dnl creating the shared library. The choice of version script is dnl controlled by 'style'. dnl --disable-symvers does not. dnl dnl + Usage: GLIBCXX_ENABLE_SYMVERS[(DEFAULT)] dnl Where DEFAULT is either 'yes' or 'no'. Passing `yes' tries to dnl choose a default style based on linker characteristics. Passing dnl 'no' disables versioning. dnl