From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg1-x52e.google.com (mail-pg1-x52e.google.com [IPv6:2607:f8b0:4864:20::52e]) by sourceware.org (Postfix) with ESMTPS id 0087D3858D38 for ; Sat, 11 Nov 2023 18:10:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0087D3858D38 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=googlemail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=googlemail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 0087D3858D38 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::52e ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699726210; cv=none; b=SorSZetzCNFAST67Xfs7lOSnd4vJUH/ePZl28woItG3ytPDeXib0MRRn6KPJGv8mICih8ou53CsdPkpfX8Yl8PbimfneuVEKI9RRl6lZaiez12LY0sFCBbA5i5imnke1r1xv9PdJX7Xrx3hYx0VLWXpYSPj1Qj0EwrNzJirDMR4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1699726210; c=relaxed/simple; bh=rqAPKwUW3LMa4pdM4TWBhR+S+SMuz1bAWzQx5I00yDE=; h=DKIM-Signature:Mime-Version:Subject:From:Date:Message-Id:To; b=DHIp55JbpEd4bBZsazRs50YbDXFVfeLPchvoSGPnPtQcgIXh8azyu/tpZPrhgZ6xnqbzTdhgeHWyvjbt4vucZz+fksNxsEzzyXEJZX5rzEpNJ9WSGzerMjWugz4bdm3npHEgpworzWgj2oPmRECPBnxtIdoF+IsJdDkEnAJujtQ= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pg1-x52e.google.com with SMTP id 41be03b00d2f7-5b8c39a2dceso2065963a12.2 for ; Sat, 11 Nov 2023 10:10:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20230601; t=1699726208; x=1700331008; darn=gcc.gnu.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=YQBA7yUJw1QAuszdwkIG3K1lHRN+8sF6HJjvLj4pEcE=; b=dqR3d+oe82RU33nhlfkLOAGZN6Yrjzz8GwhjDSVkqIm/EHg6HznaqiVNQtZuVnC6ic vJf9Zgbz2ODpLvC9/Os4y3+ap0fLZTXOnMj/KSGVSZ0oPtIZ7YzKEcDurcijl2U7VDS1 d19xxMZ/Mdd7J5DwfyLLpOOsMnf37K8vX5y1hb7OXWbGjl7cWjUVUSSEuK9VY4avcR7u DkwPeWhFME9/etT9PCKtdzuL8CJt0XU9vzMzpKv9Dp2bgLGZL/tvbKFSmK1A24KF13Mb e3WkJLBxa2TWZDnJ6mPj+v1Fqt/aqNIsRwCORmWq+E71lhnlHn5MgZTgF8P4ThW0TjFS z7Vg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1699726208; x=1700331008; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YQBA7yUJw1QAuszdwkIG3K1lHRN+8sF6HJjvLj4pEcE=; b=GzUI/eWSjN5IULGZHxguLiJwVWJl3u805EJ1FpsW5hgdtXLdIn7i1mL97+E0lPBz/T NPUtJi97WQC6AQqQuKzWTLB7bhSd6u3ZLb/jHufjIidXyds1VeSuUvCy5GS1UpUQE9Bj WsES4kbQTpOwJWvMx3krOfNGhsqpx000JyV1Ojx+cHShlESEhALhD5VGmQnQjJUDUvuX vcgAEIJmpoTHX2hl9RdXt+pCsBHR2oCcQQzk6XMDhoEqyYQFpybWeb30M93SovfljNOC tTVe+MRb7uDgh2GoTFMWk1vLOKMadD0ciiYPA0uOx1ke0UZ0GrGISbJxN8n8LpSkdFmL /YVQ== X-Gm-Message-State: AOJu0YzkCeI9DfhAdqVNlkL9Vpr+1K25/VgQqg809qwL65+MAN54h1PN Sc6Ow65vq93csRBr55v/4/J0tkeWdp8+bw== X-Google-Smtp-Source: AGHT+IHl7Fuq1ld6ap12yA3sJef5C57Wx9zOtPT2HraR0iokytHSYsUheRJ0+gBEAyHhpIaxne/LoA== X-Received: by 2002:a05:6a21:71c6:b0:161:27c5:9c41 with SMTP id ay6-20020a056a2171c600b0016127c59c41mr2033492pzc.28.1699726207643; Sat, 11 Nov 2023 10:10:07 -0800 (PST) Received: from smtpclient.apple (rrcs-24-43-233-8.west.biz.rr.com. [24.43.233.8]) by smtp.googlemail.com with ESMTPSA id u5-20020a17090ae00500b0028103a63cb6sm1561345pjy.21.2023.11.11.10.10.05 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 11 Nov 2023 10:10:06 -0800 (PST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.4\)) Subject: Re: [PATCH] Fix PR ada/111909 On Darwin, determine filesystem case sensitivity at runtime From: Iain Sandoe In-Reply-To: Date: Sat, 11 Nov 2023 08:10:04 -1000 Cc: Arnaud Charlet , GCC Patches Content-Transfer-Encoding: quoted-printable Message-Id: <0296D5C3-F810-4754-862C-72D7F79563EB@googlemail.com> References: <47D204E3-3595-4A4A-A0C6-13AA83E95B13@pushface.org> <20231103083926.GA2587057@adacore.com> <6581E8BE-9D03-4F31-B5C4-B9DC79BBE1A7@pushface.org> <20231106083644.GA2141436@adacore.com> To: Simon Wright X-Mailer: Apple Mail (2.3696.120.41.1.4) X-Spam-Status: No, score=-2.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,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 List-Id: > On 11 Nov 2023, at 07:47, Simon Wright wrote: >=20 > On 6 Nov 2023, at 08:36, Arnaud Charlet wrote: >>=20 >>>> So without changing fundamentally the model, you can't decide = dynamically for the whole >>>> system. Making the choice based on the current directory is pretty = random, since the current >>>> directory isn't well defined at program's start up and could be = pretty much any filesystem. >>>=20 >>> I=E2=80=99d imagine that projects spread over more than one = differently-case-sensitive filesystem would >>> be rare. As to the current directory at compiler startup, with = GPRbuild it=E2=80=99s the object directory, so >>> likely to be somewhere near the project=E2=80=99s source tree. >>=20 >> I am not talking about the current directory when the compiler runs, = I am talking about the >> current directory where the target program runs, which can be pretty = much anywhere. >>=20 >> In other words, you are modifying a runtime file (adaint.c) which is = used both by the host compiler >> and by the target applications. My comment worries about the target = applications while yours >> applies to the host compiler only. >=20 > I don=E2=80=99t understand? >=20 > The change works out whether the filesystem of the current working = directory is CS, whether > it=E2=80=99s the compiler or some user program that=E2=80=99s running = it (it looks like that would have to be via=20 > some higher-level compiler package, I found only GNAT.Command_Line and=20= > GNAT.Directory_Operations). >=20 > I can see that might not be what the user program wants, but if they = actually care the current > situation isn=E2=80=99t great anyway; the compiler definitely makes = the wrong choice for new Macs. >=20 >>>> Note that the current setting on arm is actually for iOS, which we = did support at AdaCore >>>> at some point (and could revive in the future, who knows). >>>=20 >>> Wouldn=E2=80=99t it be more natural to go via LLVM? I understand = from Iain that iOS isn=E2=80=99t currently >>> supported by GCC. >>=20 >> That's another option. We'd like to keep both options on the table, = since both options have >> pros and cons. >>=20 >>>> So it would be fine to refine the test to differentiate between = macOS and embedded iOS and co, >>>> that would be a better change here. >>>=20 >>> There didn=E2=80=99t seem to be a way to do that. >>=20 >> OK, I thought there would be some defines that we could use for that, = too bad if there isn't >> and indeed we might need to perform another runtime check then as = suggested by Iain. >=20 > I can see a possible interface, operatingSystemVersion in = NSProcessInfo.h - Objective C > needed, I think Some of the NS interfaces are available to regular C (e.g. stuff in = CoreFoundation), and I am fairly/very sure that we will be able to find a machanism that does not = involve introducing an ObjC dep. [I am obvioulsy not in any way against ObjC - since i=E2=80=99m= the maintainer ;) .. but it seems heavyweight for solving this issue]. Iain