From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by sourceware.org (Postfix) with ESMTPS id 699143858D20 for ; Thu, 31 Aug 2023 17:43:11 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 699143858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=redhat.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=redhat.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1693503791; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=3ve+KQJ2aX/gB/yfArdqoMHTYYogxqD4m9emH6MNQNU=; b=N42nVDZgMPtDljASXzXLJqgAd9H5TJ/0na8fG1wVW9dhqiSaeG/mLDH/7LdcpKYRxqfbEv H8Ff/bJHqgJedq1e7uOSftsBWhZ2TNyBjkqQpU7F1HK9C7KsN4bCwjnQf2zLJLICmFYzYa a194KNhxbezsNE4bnBGia76VT6WUe8M= Received: from mail-lj1-f200.google.com (mail-lj1-f200.google.com [209.85.208.200]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-106-OoCyTC8WOu-h_L1hRXDO5w-1; Thu, 31 Aug 2023 13:43:08 -0400 X-MC-Unique: OoCyTC8WOu-h_L1hRXDO5w-1 Received: by mail-lj1-f200.google.com with SMTP id 38308e7fff4ca-2b8405aace3so14820501fa.3 for ; Thu, 31 Aug 2023 10:43:08 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1693503787; x=1694108587; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=3ve+KQJ2aX/gB/yfArdqoMHTYYogxqD4m9emH6MNQNU=; b=EZd52GcS5/iJJkqeWU0HY2MLyQG3Ilp3sjH1EvjGcdx99fpSNzwvw+EQtjMaxENs7D Z5sADjxEjVt60JhN74gdtukkzaHDVOohyn7m4GPYjSXZBgxsDQ8c4Yntp8rUpcyz2blP ECS/aISoX3CgWi+f5l98QfAI0OV+3DB5Xz/HTUzHahSVQcIVTf9bomj1ensVaeFqa81c rI6ys50I/kOIT0JFXoWSlzeyP7XlRlqtg/RWLe2NAHxyv32e3svGyY6i8nURtIX8HFXx lVq6ry/GS9fJphvGBv8er4hMZOkEvdfqnAQkpS5iroUpNiU03MmddeX/GCbabE5AFY3v dwXA== X-Gm-Message-State: AOJu0Yz19Z2USUQWF8EekMsL2ysJHFDqsRzYIl3p7h0BZ82rMPuac1jk 3qV2qowMIQEUgFzk7/sKSsvjtD20pmN9eFyCR/ptMwFU1HU/wEFuDY9Uk60JYgDOYKROW0/QUGd nKSjkkpCqX/solb0GwLH/pjhETtRJlys= X-Received: by 2002:a2e:7c10:0:b0:2bd:f8:1b6a with SMTP id x16-20020a2e7c10000000b002bd00f81b6amr4421145ljc.36.1693503786976; Thu, 31 Aug 2023 10:43:06 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGV8jf3HVwUFt6derBfjNyZ/+mfPbhnMoegmVJk4X5O27CR9wPfhAwrYcZJJ+NrFZr01UvOBP8MPsTTxzyabUM= X-Received: by 2002:a2e:7c10:0:b0:2bd:f8:1b6a with SMTP id x16-20020a2e7c10000000b002bd00f81b6amr4421138ljc.36.1693503786638; Thu, 31 Aug 2023 10:43:06 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Jonathan Wakely Date: Thu, 31 Aug 2023 18:42:55 +0100 Message-ID: Subject: Re: [PATCH] libstdc++: Use GLIBCXX_CHECK_LINKER_FEATURES for cross-builds (PR111238) To: Christophe Lyon Cc: GCC Patches , libstdc++@gcc.gnu.org X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: multipart/mixed; boundary="000000000000a10d3c06043b93fa" X-Spam-Status: No, score=-12.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP,URI_HEX autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --000000000000a10d3c06043b93fa Content-Type: text/plain; charset="UTF-8" On Thu, 31 Aug 2023 at 16:26, Christophe Lyon wrote: > > As discussed in PR104167 (comments #8 and below), and PR111238, using > -Wl,-gc-sections in the libstdc++ testsuite for arm-eabi > (cross-toolchain) avoids link failures for a few tests: > > 27_io/filesystem/path/108636.cc I think this one probably just needs { dg-require-filesystem-ts "" } because there's no point testing that we can link to the std::filesystem definitions if some of those definitions are unusable on the target. // { dg-additional-options "-Wl,--gc-sections" { target gc_sections } } For the rest of them, does the attached patch help? If arm-eabi doesn't define _GLIBCXX_HAVE_READLINK then there's no point even trying to call filesystem::read_symlink. We can avoid a useless dependency on it by reusing the same preprocessor condition that filesystem::read_symlink uses. > std/time/clock/gps/1.cc > std/time/clock/gps/io.cc > std/time/clock/tai/1.cc > std/time/clock/tai/io.cc > std/time/clock/utc/1.cc > std/time/clock/utc/io.cc > std/time/clock/utc/leap_second_info.cc > std/time/exceptions.cc > std/time/format.cc > std/time/time_zone/get_info_local.cc > std/time/time_zone/get_info_sys.cc > std/time/tzdb/1.cc > std/time/tzdb/leap_seconds.cc > std/time/tzdb_list/1.cc > std/time/zoned_time/1.cc > std/time/zoned_time/custom.cc > std/time/zoned_time/io.cc > std/time/zoned_traits.cc > > This patch achieves this by calling GLIBCXX_CHECK_LINKER_FEATURES in > cross-build cases, like we already do for native builds. We keep not > doing so in Canadian-cross builds. > > However, this would hide the fact that libstdc++ somehow forces the > user to use -Wl,-gc-sections to avoid undefined references to chdir, > mkdir, chmod, pathconf, ... so maybe it's better to keep the status > quo and not apply this patch? I'm undecided about this for now, but let's wait for HP's cris-elf testing anyway. --000000000000a10d3c06043b93fa Content-Type: text/plain; charset="US-ASCII"; name="patch.txt" Content-Disposition: attachment; filename="patch.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_llzgbti80 Y29tbWl0IGVlYTczZWEzYmRkNDRhOGY3ZDhjMGY1NGIxNWJmYmE5MDU4ZjZjZTgKQXV0aG9yOiBK b25hdGhhbiBXYWtlbHkgPGp3YWtlbHlAcmVkaGF0LmNvbT4KRGF0ZTogICBUaHUgQXVnIDMxIDE4 OjMxOjMyIDIwMjMKCiAgICBsaWJzdGRjKys6IEF2b2lkIHVzZWxlc3MgZGVwZW5kZW5jeSBvbiBy ZWFkX3N5bWxpbmsgZnJvbSB0emRiCiAgICAKICAgIGNocm9ubzo6dHpkYjo6Y3VycmVudF96b25l IHVzZXMgZmlsZXN5c3RlbTo6cmVhZF9zeW1saW5rLCB3aGljaCBjcmVhdGVzCiAgICBhIGRlcGVu ZGVuY3kgb24gdGhlIGZzX29wcy5vIG9iamVjdCBpbiBsaWJzdGRjKysuYSwgd2hpY2ggdGhlbiBj cmVhdGVzCiAgICBkZXBlbmRlbmNpZXMgb24gc2V2ZXJhbCBPUyBmdW5jdGlvbnMgaWYgLS1nYy1z ZWN0aW9ucyBpc24ndCB1c2VkLgogICAgCiAgICBJbiB0aGUgY2FzZXMgd2hlcmUgdGhhdCBjYXVz ZXMgbGlua2VyIGZhaWx1cmVzLCB3ZSBwcm9iYWJseSBkb24ndCBoYXZlCiAgICByZWFkbGluayBh bnl3YXksIHNvIHRoZSBmaWxlc3lzdGVtOjpyZWFkX3N5bWxpbmsgY2FsbCB3aWxsIGFsd2F5cyBm YWlsLgogICAgUmVwZWF0IHRoZSBwcmVwcm9jZXNzb3IgY29uZGl0aW9ucyBmb3IgZmlsZXN5c3Rl bTo6cmVhZF9zeW1saW5rIGluIHRoZQogICAgYm9keSBvZiBjaHJvbm86OnR6ZGI6OmN1cnJlbnRf em9uZSBzbyB0aGF0IHdlIGRvbid0IGNyZWF0ZSB0aGUKICAgIGRlcGVuZGVuY3kgb24gZnNfb3Bz Lm8gaWYgaXQncyBub3QgZXZlbiBnb2luZyB0byBiZSBhYmxlIHRvIHJlYWQgdGhlCiAgICBzeW1s aW5rLgogICAgCiAgICBsaWJzdGRjKystdjMvQ2hhbmdlTG9nOgogICAgCiAgICAgICAgICAgICog c3JjL2MrKzIwL3R6ZGIuY2MgKHR6ZGI6OmN1cnJlbnRfem9uZSk6IENoZWNrIGNvbmZpZ3VyZSBt YWNyb3MKICAgICAgICAgICAgZm9yIFBPU0lYIHJlYWRsaW5rIGJlZm9yZSB1c2luZyBmaWxlc3lz dGVtOjpyZWFkX3N5bWxpbmsuCgpkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL3NyYy9jKysyMC90 emRiLmNjIGIvbGlic3RkYysrLXYzL3NyYy9jKysyMC90emRiLmNjCmluZGV4IDBmY2JmNmE0ODI0 Li4yNDA0NGJiNjBmOCAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL3NyYy9jKysyMC90emRiLmNj CisrKyBiL2xpYnN0ZGMrKy12My9zcmMvYysrMjAvdHpkYi5jYwpAQCAtMTYzNSw2ICsxNjM1LDkg QEAgbmFtZXNwYWNlIHN0ZDo6Y2hyb25vCiAgICAgLy8gVE9ETyBjYWNoZSB0aGlzIGZ1bmN0aW9u J3MgcmVzdWx0PwogCiAjaWZuZGVmIF9BSVgKKyAgICAvLyBSZXBlYXQgdGhlIHByZXByb2Nlc3Nv ciBjb25kaXRpb24gdXNlZCBieSBmaWxlc3lzdGVtOjpyZWFkX3N5bWxpbmssCisgICAgLy8gdG8g YXZvaWQgYSBkZXBlbmRlbmN5IG9uIHNyYy9jKysxNy90emRiLm8gaWYgaXQgd29uJ3Qgd29yayBh bnl3YXkuCisjaWYgZGVmaW5lZChfR0xJQkNYWF9IQVZFX1JFQURMSU5LKSAmJiBkZWZpbmVkKF9H TElCQ1hYX0hBVkVfU1lTX1NUQVRfSCkKICAgICBlcnJvcl9jb2RlIGVjOwogICAgIC8vIFRoaXMg c2hvdWxkIGJlIGEgc3ltbGluayB0byBlLmcuIC91c3Ivc2hhcmUvem9uZWluZm8vRXVyb3BlL0xv bmRvbgogICAgIGF1dG8gcGF0aCA9IGZpbGVzeXN0ZW06OnJlYWRfc3ltbGluaygiL2V0Yy9sb2Nh bHRpbWUiLCBlYyk7CkBAIC0xNjUzLDYgKzE2NTYsNyBAQCBuYW1lc3BhY2Ugc3RkOjpjaHJvbm8K IAkgICAgICByZXR1cm4gdHo7CiAJICB9CiAgICAgICB9CisjZW5kaWYKICAgICAvLyBPdGhlcndp c2UsIGxvb2sgZm9yIGEgZmlsZSBuYW1pbmcgdGhlIHRpbWUgem9uZS4KICAgICBzdHJpbmdfdmll dyBmaWxlc1tdIHsKICAgICAgICIvZXRjL3RpbWV6b25lIiwgICAgLy8gRGViaWFuIGRlcml2YXRl cwo= --000000000000a10d3c06043b93fa--