]> git.ipfire.org Git - thirdparty/glibc.git/commit
Add pretty-printer for errno. zack/errno-prettyprint
authorZack Weinberg <zackw@panix.com>
Thu, 22 Jun 2017 22:28:45 +0000 (18:28 -0400)
committerZack Weinberg <zackw@panix.com>
Thu, 22 Jun 2017 22:28:45 +0000 (18:28 -0400)
commit09e65f085e8491db0ada73c558ffe8dc296ade47
treec31ff4f8f871bab4762248bffc9c3c508037ef61
parentbf7aa82eab0f1f9c78d39cf57a3f6b25eefc47c1
Add pretty-printer for errno.

This patch adds the actual pretty-printer for errno.  I could have
used Python's built-in errno module to get the symbolic names for the
constants, but it seemed better to do something entirely under our
control, so there's a .pysym file generated from errnos.texi, with a
hook that allows the Hurd to add additional constants.  Then a .py
module is generated from that plus errno.h in the usual manner; many
thanks to the authors of the .pysym mechanism.

There is also a test which verifies that the .py file (not the .pysym
file) covers all of the constants defined in errno.h.

hurd-add-errno-constants.awk has been manually tested, but the
makefile logic that runs it has not been tested.

* stdlib/errno-printer.py: New pretty-printer.
* stdlib/test-errno-constants.py: New special test.
* stdlib/test-errno-printer.c, stdlib/test-errno-printer.py:
New pretty-printer test.
* stdlib/make-errno-constants.awk: New script to generate the
.pysym file needed by errno-printer.py.
* stdlib/Makefile: Install, run, and test all of the above, as
appropriate.

* sysdeps/mach/hurd/hurd-add-errno-constants.awk: New script to
add Mach/Hurd-specific errno constants to the .pysym file used by
stdlib/errno-printer.py.
* sysdeps/mach/hurd/Makefile: Hook hurd-add-errno-constants.awk
into the generation of that .pysym file.
stdlib/Makefile
stdlib/errno-printer.py [new file with mode: 0644]
stdlib/make-errno-constants.awk [new file with mode: 0644]
stdlib/test-errno-constants.py [new file with mode: 0644]
stdlib/test-errno-printer.c [new file with mode: 0644]
stdlib/test-errno-printer.py [new file with mode: 0644]
sysdeps/mach/hurd/Makefile
sysdeps/mach/hurd/hurd-add-errno-constants.awk [new file with mode: 0644]