delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2021/01/05/08:35:33

X-Recipient: archive-cygwin AT delorie DOT com
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 71B573938C1E
Authentication-Results: sourceware.org;
dmarc=none (p=none dis=none) header.from=cs.umass.edu
Authentication-Results: sourceware.org;
spf=pass smtp.mailfrom=moss AT cs DOT umass DOT edu
Subject: Re: Is it possible to define the root directory in a cross compiled
program
To: cygwin AT cygwin DOT com, Brian Inglis <Brian DOT Inglis AT SystematicSw DOT ab DOT ca>
References: <48b833bd-547a-92eb-542e-b7da8e0d601b AT interocitors DOT com>
<9d339f8b-83ff-8b9c-b2fe-1c6fa4b2a92d AT SystematicSw DOT ab DOT ca>
From: Eliot Moss <moss AT cs DOT umass DOT edu>
Message-ID: <472d5b4e-1916-eb79-cf3d-44f43b5f8b5d@cs.umass.edu>
Date: Tue, 5 Jan 2021 08:34:39 -0500
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:68.0) Gecko/20100101
Thunderbird/68.12.1
MIME-Version: 1.0
In-Reply-To: <9d339f8b-83ff-8b9c-b2fe-1c6fa4b2a92d@SystematicSw.ab.ca>
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00, BODY_8BITS,
KAM_DMARC_STATUS, NICE_REPLY_A, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS,
TXREP autolearn=ham autolearn_force=no version=3.4.2
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on
server2.sourceware.org
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
Reply-To: moss AT cs DOT umass DOT edu
Errors-To: cygwin-bounces AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces AT cygwin DOT com>
X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 105DZ9VW027809

On 1/4/2021 10:17 PM, Brian Inglis wrote:
> On 2021-01-04 18:34, Roger Kaufman wrote:
>> When I cross compile the following program, opening /dev/null fails and instead the whole install 
>> path of /cygwin64/dev/null is visible.
>>
>> Is there a way to make fopen respect / as the root directory in a cross compiled program for windows?
>>
>> example output...
>>
>> Roger AT interocitor:~
>> $ x86_64-w64-mingw32-g++ -o writenull.exe write2null.cc
>>
>> Roger AT interocitor:~
>> $ writenull.exe
>> /dev/null did not succeed
>>
>> Roger AT interocitor:~
>> $ gcc -o writenull write2null.cc
>>
>> Roger AT interocitor:~
>> $ writenull
>> /cygwin64/dev/null did not succeed
>>
>> C Code that was compiled...
>>
>> #include <cstdio>
>>
>> int main(int argc, char **argv)
>> {
>>    FILE *errfile1 = fopen("/dev/null", "w");
>>    if (!errfile1) // must be a valid pointer
>>      errfile1 = stderr;
>>
>>    FILE *errfile2 = fopen("/cygwin64/dev/null", "w");
>>    if (!errfile2) // must be a valid pointer
>>      errfile2 = stderr;
>>
>>    fprintf(errfile1, "/dev/null did not succeed\n");
>>    fprintf(errfile2, "/cygwin64/dev/null did not succeed\n");
>>
>>    return 0;
>> }
> 
> It's a Windows program - it can do whatever you program it to do!
> On Windows the device is NUL, the root is the drive root C:\,
> and anything else depends on the Windows subsystem.
> 
> To do otherwise you have to program it to emulate the Cygwin emulation,
> or build it as a Cygwin program using the Cygwin toolchain.

Is there a Windows equivalent to chroot (either the program or the library/system call)?

Regards - Eliot
--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019