[yocto] O_RDONLY ... missed bits/fcntl.h not as expected

Burton, Ross ross.burton at intel.com
Mon Mar 12 03:39:14 PDT 2018


Have you looked at the content of bits/fcntl-32.h?

On 12 March 2018 at 10:32, Arno Steffens <star at gmx.li> wrote:

>
> Sure, sorry if this wasn't clear.
> For me the chain is
> <fcntl.h> includes <bits/fcntl.h>  (see below) and this doesn't include
> <bits/fcntl-linux.h>.
> This is my SDK sysroot for cortexa9-hf.
>
> Arno
>
>
> /*
>  * Copyright (C) 2005-2011 by Wind River Systems, Inc.
>  *
>  * Permission is hereby granted, free of charge, to any person obtaining a
> copy
>  * of this software and associated documentation files (the "Software"),
> to deal
>  * in the Software without restriction, including without limitation the
> rights
>  * to use, copy, modify, merge, publish, distribute, sublicense, and/or
> sell
>  * copies of the Software, and to permit persons to whom the Software is
>  * furnished to do so, subject to the following conditions:
>  *
>  * The above copyright notice and this permission notice shall be included
> in
>  * all copies or substantial portions of the Software.
>  *
>  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
> OR
>  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
>  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
> THE
>  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
>  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
> FROM,
>  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
> IN
>  * THE SOFTWARE.
>  *
>  */
>
> #if defined (__arm__)
> #define __MHWORDSIZE            32
> #elif defined (__aarch64__) && defined ( __LP64__)
> #define __MHWORDSIZE            64
> #elif defined (__aarch64__)
> #define __MHWORDSIZE            32
> #else
> #include <bits/wordsize.h>
> #if defined (__WORDSIZE)
> #define __MHWORDSIZE            __WORDSIZE
> #else
> #error "__WORDSIZE is not defined"
> #endif
> #endif
> #if __MHWORDSIZE == 32
> #ifdef _MIPS_SIM
> #if _MIPS_SIM == _ABIO32
> #include <bits/fcntl-32.h>
> #elif _MIPS_SIM == _ABIN32
> #include <bits/fcntl-n32.h>
> #else
> #error "Unknown _MIPS_SIM"
> #endif
> #else /* _MIPS_SIM is not defined */
> #include <bits/fcntl-32.h>
> #endif
> #elif __MHWORDSIZE == 64
> #include <bits/fcntl-64.h>
> #else
> #error "Unknown __WORDSIZE detected"
> #endif /* matches #if __WORDSIZE == 32 */
>
>
>
> *Gesendet:* Montag, 12. März 2018 um 11:00 Uhr
> *Von:* "Burton, Ross" <ross.burton at intel.com>
> *An:* "Arno Steffens" <star at gmx.li>
> *Cc:* Yocto-mailing-list <yocto at yoctoproject.org>
> *Betreff:* Re: [yocto] O_RDONLY ... missed bits/fcntl.h not as expected
> Can you explain what the actual problem is?
>
> For me the include you'd use in programs <fcntl.h> includes <bits/fcntl.h>
> which includes <bits/fcntl-linux.h> which defines O_RDONLY.
>
> Ross
>
>
> On 12 March 2018 at 07:32, Arno Steffens <star at gmx.li> wrote:
>>
>> I looked for
>> #define O_RDONLY             00
>> #define O_WRONLY             01
>> #define O_RDWR               02
>> and found it in : bits/fcntl-linux.h. According to this file it should
>> not be included, but bits/fcntl.h.
>> And it requires something like that:
>>
>>   A minimal <bits/fcntl.h> contains just:
>>    struct flock {...}
>>    #ifdef __USE_LARGEFILE64
>>    struct flock64 {...}
>>    #endif
>>    #include <bits/fcntl-linux.h>
>>
>>
>>
>> But this doesn't finally include the fcntl-linux.h as expected. Am I
>> doing something wrong?
>> Regards
>> Arno
>>
>>
>>
>> --
>> _______________________________________________
>> yocto mailing list
>> yocto at yoctoproject.org
>> https://lists.yoctoproject.org/listinfo/yocto
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20180312/56415ff4/attachment.html>


More information about the yocto mailing list