libctf: compilation failure on MinGW due to missing errno values
authorEli Zaretskii <eliz@gnu.org>
Sat, 1 Feb 2020 11:25:19 +0000 (15:25 +0400)
committerJoel Brobecker <brobecker@adacore.com>
Sat, 1 Feb 2020 11:25:19 +0000 (15:25 +0400)
commit50500ecfefd6acc4c7f6c2a95bc0ae1945103220
treef9f5659ea9da4d7ddcc745f55b184a6a75a619a0
parent7437a7ef50b9f7251f629fe00cb5bbaf2f4de308
libctf: compilation failure on MinGW due to missing errno values

This commit fixes a compilation failure in a couple of libctf files
due to the use of EOVERFLOW and ENOTSUP, which are not defined
when compiling on MinGW.

libctf/ChangeLog:

PR binutils/25155:
* ctf-create.c (EOVERFLOW): If not defined by system header,
redirect to ERANGE as a poor man's substitute.
* ctf-subr.c (ENOTSUP): If not defined, use ENOSYS instead.

This one is how Eli implemented it. I think this implementation
has a weakness in the following sense: If other units in libctf
start using those constants, we'll get the same error again.
Also, I'm wondering whether their use is documented as part of
the official libtcf API or not -- users might be writing code
that tests for these, and if the system doesn't support them,
how would they know what errno code to use in its place. This
argues for a having that information in one of libctf's header
files. I think it would be nice to have those in ctf-decls.h,
but I think we'll need to include <errno.h> in ctf-decls.h if
we decide to define those macros there.

Rather than second-guess what the CTF developers would prefer,
I'm starting by sending Eli's patch, to see what you guys think.

Thanks,
--
Joel
libctf/ChangeLog
libctf/ctf-create.c
libctf/ctf-subr.c
This page took 0.02665 seconds and 4 git commands to generate.