[Bug cobol/124616] libgcobol.spec is not built on x86_64-*-freebsd

"kargl at gcc dot gnu.org via Gcc-bugs" <[email protected]>
Newsgroups gmane.comp.gcc.bugs
Message-ID <[email protected]/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124616

--- Comment #17 from Steve Kargl <kargl at gcc dot gnu.org> ---
(In reply to Steve Kargl from comment #16)
> This diff fixes the issue for me.  Not sure if it is correct for non-FreeBSD
> systems.
> 
> 
> diff --git a/libgcobol/posix/shim/open.cc b/libgcobol/posix/shim/open.cc
> index ed2a9d131b4..c15c55a6246 100644
> --- a/libgcobol/posix/shim/open.cc
> +++ b/libgcobol/posix/shim/open.cc
> @@ -35,19 +35,20 @@ posix_open(const char *pathname, int cbl_flags, int
> cbl_mode) {
>      { cbl::PSX_O_APPEND, O_APPEND },
>      { cbl::PSX_O_NONBLOCK, O_NONBLOCK },
>      { cbl::PSX_O_DSYNC, O_DSYNC },
> -    { cbl::PSX_O_LARGEFILE, O_LARGEFILE }, 
>      { cbl::PSX_O_SYNC, O_SYNC }, 
>      /*
>       * The O_CLOEXEC, O_DIRECTORY, and O_NOFOLLOW flags are not specified in
>       * POSIX.1-2001, but are specified in POSIX.1-2008.  See open(2). 
>       */
>  #if defined(_POSIX_C_SOURCE) && 200809L <= (_POSIX_C_SOURCE - 0)
> +    { cbl::PSX_O_LARGEFILE, O_LARGEFILE }, 
>      { cbl::PSX_O_CLOEXEC, O_CLOEXEC }, 
>      { cbl::PSX_O_DIRECTORY, O_DIRECTORY }, 
>      { cbl::PSX_O_NOFOLLOW, O_NOFOLLOW }, 
>  #else
> +    { cbl::PSX_O_LARGEFILE, 0 },
>      { cbl::PSX_O_CLOEXEC, 0 }, 
> -    { cbl::PSX_O_DIRECTORY, 0 }, 
> +    { cbl::PSX_O_DIRECTORY, 0 },
>      { cbl::PSX_O_NOFOLLOW, 0 },     
>  #endif
>      /*

With this patch, I see

% env MAKE=gmake gmake check-cobol
                === cobol Summary ===

# of expected passes            7739
# of unexpected failures        96
# of expected failures          78
# of unresolved testcases       60
/home/kargl/gcc/obj/gcc/gcobol  version 17.0.0 20260813 (experimental) (GCC)

Many/most failures are ICEs.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.