unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* [PATCH] Fix build of guile-3.0 trunk with gcc-8 on hpux11.11
@ 2020-03-23 16:40 John David Anglin
  0 siblings, 0 replies; 3+ messages in thread
From: John David Anglin @ 2020-03-23 16:40 UTC (permalink / raw)
  To: guile-devel; +Cc: Helge Deller, John Paul Adrian Glaubitz

The following change fixes the build of guile-3.0 using gcc-8 on hpux11.11.
There are three issues addressed:

1) The printf function does not support %zu.  Since all the type sizes are small,
we can use %u and cast the sizeof results to unsigned int.

2) HP-UX 11.11 does not have readdir64 or readdir64_r.  The change adds back the
checks for readdir64 and readdir64_r.  I added support for readdir64 similar to that
for readdir64_r to gen-scmconfig.c and syscalls.h.

3) I needed to link libguile against gcc's libatomic. I don't have a configure fix yet.
So, I export "LIBS=-latomic" in my guild to get gcc's atomic routines. This fixed segmentation
fault building the texi documentation.

With these changes, all tests pass except the following:

wrote `/mnt/gnu/guile/objdir/cache/guile/ccache/3.0-BE-4-4.2/mnt/gnu/guile/guile
/test-suite/standalone/test-out-of-memory.go'
GC Warning: Failed to expand heap by 67239936 bytes
GC Warning: Failed to expand heap by 67108864 bytes
GC Warning: Out of Memory! Heap size: 1 MiB. Returning NULL!
GC Warning: Failed to expand heap by 1000132608 bytes
GC Warning: Failed to expand heap by 1000001536 bytes
GC Warning: Out of Memory! Heap size: 1 MiB. Returning NULL!
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 8388608 bytes
GC Warning: Failed to expand heap by 65536 bytes
GC Warning: Out of Memory! Heap size: 37 MiB. Returning NULL!
GC Warning: Failed to expand heap by 65536 bytes
GC Warning: Out of Memory! Heap size: 37 MiB. Returning NULL!
Warning: Unwind-only out of memory exception; skipping pre-unwind handler.
FAIL: test-out-of-memory
==================================
1 of 38 tests failed
(1 test was not run)
Please report to bug-guile@gnu.org
==================================

Please install if okay.

Guile is part of the build and test environment that I use for gcc.  HP-UX is still the only
environment where we have a working 64-bit compiler.  It is needed to build the 64-bit linux
kernel.

Regards,
Dave Anglin

diff --git a/configure.ac b/configure.ac
index 6198c7e6e..0edb31ba7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -483,7 +483,7 @@ AC_CHECK_HEADERS([assert.h crt_externs.h])
 AC_CHECK_FUNCS([DINFINITY DQNAN cexp chsize clog clog10 ctermid		\
   fesetround ftime ftruncate fchown fchmod getcwd geteuid getsid	\
   gettimeofday getuid getgid gmtime_r ioctl lstat mkdir mknod nice	\
-  readlink rename rmdir setegid seteuid		                        \
+  readdir64 readdir64_r readlink rename rmdir setegid seteuid           \
   setlocale setuid setgid setpgid setsid sigaction siginterrupt stat64	\
   strptime symlink sync sysconf tcgetpgrp tcsetpgrp uname waitpid	\
   strdup system usleep atexit on_exit chown link fcntl ttyname getpwent	\
diff --git a/libguile/gen-scmconfig.c b/libguile/gen-scmconfig.c
index 8d77dfaf2..5ae831d53 100644
--- a/libguile/gen-scmconfig.c
+++ b/libguile/gen-scmconfig.c
@@ -239,21 +239,27 @@ main (int argc, char *argv[])
   pf ("\n");
   pf ("/* Standard types. */\n");

-  pf ("#define SCM_SIZEOF_CHAR %zu\n", sizeof (char));
-  pf ("#define SCM_SIZEOF_UNSIGNED_CHAR %zu\n", sizeof (unsigned char));
-  pf ("#define SCM_SIZEOF_SHORT %zu\n", sizeof (short));
-  pf ("#define SCM_SIZEOF_UNSIGNED_SHORT %zu\n", sizeof (unsigned short));
-  pf ("#define SCM_SIZEOF_LONG %zu\n", sizeof (long));
-  pf ("#define SCM_SIZEOF_UNSIGNED_LONG %zu\n", sizeof (unsigned long));
-  pf ("#define SCM_SIZEOF_INT %zu\n", sizeof (int));
-  pf ("#define SCM_SIZEOF_UNSIGNED_INT %zu\n", sizeof (unsigned int));
-  pf ("#define SCM_SIZEOF_SIZE_T %zu\n", sizeof (size_t));
-  pf ("#define SCM_SIZEOF_LONG_LONG %zu\n", sizeof (long long));
-  pf ("#define SCM_SIZEOF_UNSIGNED_LONG_LONG %zu\n", sizeof (unsigned long long));
-  pf ("#define SCM_SIZEOF_INTMAX %zu\n", sizeof (intmax_t));
-  pf ("#define SCM_SIZEOF_SCM_T_PTRDIFF %zu\n", sizeof (ptrdiff_t));
-  pf ("#define SCM_SIZEOF_INTPTR_T %zu\n", sizeof (intptr_t));
-  pf ("#define SCM_SIZEOF_UINTPTR_T %zu\n", sizeof (uintptr_t));
+  pf ("#define SCM_SIZEOF_CHAR %u\n", (unsigned int)sizeof (char));
+  pf ("#define SCM_SIZEOF_UNSIGNED_CHAR %u\n",
+      (unsigned int)sizeof (unsigned char));
+  pf ("#define SCM_SIZEOF_SHORT %u\n", (unsigned int)sizeof (short));
+  pf ("#define SCM_SIZEOF_UNSIGNED_SHORT %u\n",
+      (unsigned int)sizeof (unsigned short));
+  pf ("#define SCM_SIZEOF_LONG %u\n", (unsigned int)sizeof (long));
+  pf ("#define SCM_SIZEOF_UNSIGNED_LONG %u\n",
+      (unsigned int)sizeof (unsigned long));
+  pf ("#define SCM_SIZEOF_INT %u\n", (unsigned int)sizeof (int));
+  pf ("#define SCM_SIZEOF_UNSIGNED_INT %u\n",
+      (unsigned int)sizeof (unsigned int));
+  pf ("#define SCM_SIZEOF_SIZE_T %u\n", (unsigned int)sizeof (size_t));
+  pf ("#define SCM_SIZEOF_LONG_LONG %u\n", (unsigned int)sizeof (long long));
+  pf ("#define SCM_SIZEOF_UNSIGNED_LONG_LONG %u\n",
+      (unsigned int)sizeof (unsigned long long));
+  pf ("#define SCM_SIZEOF_INTMAX %u\n", (unsigned int)sizeof (intmax_t));
+  pf ("#define SCM_SIZEOF_SCM_T_PTRDIFF %u\n",
+      (unsigned int)sizeof (ptrdiff_t));
+  pf ("#define SCM_SIZEOF_INTPTR_T %u\n", (unsigned int)sizeof (intptr_t));
+  pf ("#define SCM_SIZEOF_UINTPTR_T %u\n", (unsigned int)sizeof (uintptr_t));

   pf ("\n");
   pf ("/* same as POSIX \"struct timespec\" -- always defined */\n");
@@ -313,6 +319,13 @@ main (int argc, char *argv[])
   pf ("#define SCM_HAVE_STRUCT_DIRENT64 %d /* 0 or 1 */\n",
       SCM_I_GSC_HAVE_STRUCT_DIRENT64);

+  pf ("/* Define to 1 if `readdir64 ()' is available.  */\n");
+#ifdef HAVE_READDIR_R
+  pf ("#define SCM_HAVE_READDIR64 1 /* 0 or 1 */\n");
+#else
+  pf ("#define SCM_HAVE_READDIR64 0 /* 0 or 1 */\n");
+#endif
+
   pf ("/* Define to 1 if `readdir64_r ()' is available.  */\n");
 #ifdef HAVE_READDIR64_R
   pf ("#define SCM_HAVE_READDIR64_R 1 /* 0 or 1 */\n");
diff --git a/libguile/syscalls.h b/libguile/syscalls.h
index 30b99c193..9d443afb5 100644
--- a/libguile/syscalls.h
+++ b/libguile/syscalls.h
@@ -58,7 +58,11 @@
 #define lstat_or_lstat64                CHOOSE_LARGEFILE(lstat,lstat64)
 #define off_t_or_off64_t                CHOOSE_LARGEFILE(off_t,off64_t)
 #define open_or_open64                  CHOOSE_LARGEFILE(open,open64)
-#define readdir_or_readdir64            CHOOSE_LARGEFILE(readdir,readdir64)
+#if SCM_HAVE_READDIR64 == 1
+# define readdir_or_readdir64           CHOOSE_LARGEFILE(readdir,readdir64)
+#else
+# define readdir_or_readdir64           readdir
+#endif
 #if SCM_HAVE_READDIR64_R == 1
 # define readdir_r_or_readdir64_r       CHOOSE_LARGEFILE(readdir_r,readdir64_r)
 #else



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] Fix build of guile-3.0 trunk with gcc-8 on hpux11.11
       [not found] <mailman.1427.1584983864.3018.guile-devel@gnu.org>
@ 2020-03-23 22:57 ` Massimiliano Gubinelli
  2020-03-23 23:23   ` John David Anglin
  0 siblings, 1 reply; 3+ messages in thread
From: Massimiliano Gubinelli @ 2020-03-23 22:57 UTC (permalink / raw)
  To: John David Anglin; +Cc: guile-devel

[-- Attachment #1: Type: text/plain, Size: 5004 bytes --]

Hi John,
 could maybe be a bug with the Boehm-gc? I had some recent issues compiling Guile 2.2.7 in Haiku and discovered that there is a new version (8.1.0, next release development)  of the GC here

https://github.com/ivmai/bdwgc <https://github.com/ivmai/bdwgc>

which has some changes, in particular certain conditional compilations related to HP/UX, see e.g. lines 2708, 3093, ... here:

https://github.com/ivmai/bdwgc/blob/master/os_dep.c <https://github.com/ivmai/bdwgc/blob/master/os_dep.c>

Maybe you could try to link this new version and see if the problem with the test persist.

Best
Massimiliano

> On 23. Mar 2020, at 18:17, guile-devel-request@gnu.org wrote:
> 
> 
> Message: 1
> Date: Mon, 23 Mar 2020 12:40:57 -0400
> From: John David Anglin <dave.anglin@bell.net <mailto:dave.anglin@bell.net>>
> To: guile-devel <guile-devel@gnu.org <mailto:guile-devel@gnu.org>>
> Cc: Helge Deller <deller@gmx.de <mailto:deller@gmx.de>>, John Paul Adrian Glaubitz
> 	<glaubitz@physik.fu-berlin.de <mailto:glaubitz@physik.fu-berlin.de>>
> Subject: [PATCH] Fix build of guile-3.0 trunk with gcc-8 on hpux11.11
> Message-ID: <1b543c79-7e66-9a93-8c57-91527519bac3@bell.net <mailto:1b543c79-7e66-9a93-8c57-91527519bac3@bell.net>>
> Content-Type: text/plain; charset=utf-8
> 
> The following change fixes the build of guile-3.0 using gcc-8 on hpux11.11.
> There are three issues addressed:
> 
> 1) The printf function does not support %zu.  Since all the type sizes are small,
> we can use %u and cast the sizeof results to unsigned int.
> 
> 2) HP-UX 11.11 does not have readdir64 or readdir64_r.  The change adds back the
> checks for readdir64 and readdir64_r.  I added support for readdir64 similar to that
> for readdir64_r to gen-scmconfig.c and syscalls.h.
> 
> 3) I needed to link libguile against gcc's libatomic. I don't have a configure fix yet.
> So, I export "LIBS=-latomic" in my guild to get gcc's atomic routines. This fixed segmentation
> fault building the texi documentation.
> 
> With these changes, all tests pass except the following:
> 
> wrote `/mnt/gnu/guile/objdir/cache/guile/ccache/3.0-BE-4-4.2/mnt/gnu/guile/guile
> /test-suite/standalone/test-out-of-memory.go'
> GC Warning: Failed to expand heap by 67239936 bytes
> GC Warning: Failed to expand heap by 67108864 bytes
> GC Warning: Out of Memory! Heap size: 1 MiB. Returning NULL!
> GC Warning: Failed to expand heap by 1000132608 bytes
> GC Warning: Failed to expand heap by 1000001536 bytes
> GC Warning: Out of Memory! Heap size: 1 MiB. Returning NULL!
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 65536 bytes
> GC Warning: Out of Memory! Heap size: 37 MiB. Returning NULL!
> GC Warning: Failed to expand heap by 65536 bytes
> GC Warning: Out of Memory! Heap size: 37 MiB. Returning NULL!
> Warning: Unwind-only out of memory exception; skipping pre-unwind handler.
> FAIL: test-out-of-memory
> ==================================
> 1 of 38 tests failed
> (1 test was not run)
> Please report to bug-guile@gnu.org <mailto:bug-guile@gnu.org>
> ==================================
> 
> Please install if okay.
> 
> Guile is part of the build and test environment that I use for gcc.  HP-UX is still the only
> environment where we have a working 64-bit compiler.  It is needed to build the 64-bit linux
> kernel.
> 
> Regards,
> Dave Anglin


[-- Attachment #2: Type: text/html, Size: 66769 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] Fix build of guile-3.0 trunk with gcc-8 on hpux11.11
  2020-03-23 22:57 ` Massimiliano Gubinelli
@ 2020-03-23 23:23   ` John David Anglin
  0 siblings, 0 replies; 3+ messages in thread
From: John David Anglin @ 2020-03-23 23:23 UTC (permalink / raw)
  To: Massimiliano Gubinelli; +Cc: guile-devel

Hi Massimiliano,

I don't think so.  I have a recent build of bdwgc from github including this change:
https://github.com/ivmai/bdwgc/issues/308
The bdwgc testsuite is clean.

The patch that I submitted in issue 308 was to help in debugging issues with guile.  HEURISTIC2
causes faults during startup that aren't easy to get by using gdb.   I also submitted the previous
change to use HEURISTIC2 as the other techniques to determine the stack bottom were problematic
(e.g., with autogen).

The %zu issue causes immediate problems in the build due to incorrect type sizes.

The readdir issue fixes a testsuite issue.  As things stand, readdir64 is used in libguile and it's not available.

I think the issue with libatomic may also affect hppa-linux.  Some atomic support depends on LWS system
calls on hppa.  These are in libatomic.  On x86, it's only necessary to include libatomic.h and not link directly
with libatomic.  There's stuff in gcc testsuite to handle this.

Dave

On 2020-03-23 6:57 p.m., Massimiliano Gubinelli wrote:
> Hi John,
>  could maybe be a bug with the Boehm-gc? I had some recent issues compiling Guile 2.2.7 in Haiku and discovered that there is a new version
> (8.1.0, next release development)  of the GC here
>
> https://github.com/ivmai/bdwgc
>
> which has some changes, in particular certain conditional compilations related to HP/UX, see e.g. lines 2708, 3093, ... here:
>
> https://github.com/ivmai/bdwgc/blob/master/os_dep.c
>
> Maybe you could try to link this new version and see if the problem with the test persist.
>
> Best
> Massimiliano
>
>> On 23. Mar 2020, at 18:17, guile-devel-request@gnu.org <mailto:guile-devel-request@gnu.org> wrote:
>>
>>
>> Message: 1
>> Date: Mon, 23 Mar 2020 12:40:57 -0400
>> From: John David Anglin <dave.anglin@bell.net <mailto:dave.anglin@bell.net>>
>> To: guile-devel <guile-devel@gnu.org <mailto:guile-devel@gnu.org>>
>> Cc: Helge Deller <deller@gmx.de <mailto:deller@gmx.de>>, John Paul Adrian Glaubitz
>> <glaubitz@physik.fu-berlin.de <mailto:glaubitz@physik.fu-berlin.de>>
>> Subject: [PATCH] Fix build of guile-3.0 trunk with gcc-8 on hpux11.11
>> Message-ID: <1b543c79-7e66-9a93-8c57-91527519bac3@bell.net <mailto:1b543c79-7e66-9a93-8c57-91527519bac3@bell.net>>
>> Content-Type: text/plain; charset=utf-8
>>
>> The following change fixes the build of guile-3.0 using gcc-8 on hpux11.11.
>> There are three issues addressed:
>>
>> 1) The printf function does not support %zu.  Since all the type sizes are small,
>> we can use %u and cast the sizeof results to unsigned int.
>>
>> 2) HP-UX 11.11 does not have readdir64 or readdir64_r.  The change adds back the
>> checks for readdir64 and readdir64_r.  I added support for readdir64 similar to that
>> for readdir64_r to gen-scmconfig.c and syscalls.h.
>>
>> 3) I needed to link libguile against gcc's libatomic. I don't have a configure fix yet.
>> So, I export "LIBS=-latomic" in my guild to get gcc's atomic routines. This fixed segmentation
>> fault building the texi documentation.
>>
>> With these changes, all tests pass except the following:
>>
>> wrote `/mnt/gnu/guile/objdir/cache/guile/ccache/3.0-BE-4-4.2/mnt/gnu/guile/guile
>> /test-suite/standalone/test-out-of-memory.go'
>> GC Warning: Failed to expand heap by 67239936 bytes
>> GC Warning: Failed to expand heap by 67108864 bytes
>> GC Warning: Out of Memory! Heap size: 1 MiB. Returning NULL!
>> GC Warning: Failed to expand heap by 1000132608 bytes
>> GC Warning: Failed to expand heap by 1000001536 bytes
>> GC Warning: Out of Memory! Heap size: 1 MiB. Returning NULL!
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 8388608 bytes
>> GC Warning: Failed to expand heap by 65536 bytes
>> GC Warning: Out of Memory! Heap size: 37 MiB. Returning NULL!
>> GC Warning: Failed to expand heap by 65536 bytes
>> GC Warning: Out of Memory! Heap size: 37 MiB. Returning NULL!
>> Warning: Unwind-only out of memory exception; skipping pre-unwind handler.
>> FAIL: test-out-of-memory
>> ==================================
>> 1 of 38 tests failed
>> (1 test was not run)
>> Please report to bug-guile@gnu.org <mailto:bug-guile@gnu.org>
>> ==================================
>>
>> Please install if okay.
>>
>> Guile is part of the build and test environment that I use for gcc.  HP-UX is still the only
>> environment where we have a working 64-bit compiler.  It is needed to build the 64-bit linux
>> kernel.
>>
>> Regards,
>> Dave Anglin
>


-- 
John David Anglin  dave.anglin@bell.net




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-03-23 23:23 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-23 16:40 [PATCH] Fix build of guile-3.0 trunk with gcc-8 on hpux11.11 John David Anglin
     [not found] <mailman.1427.1584983864.3018.guile-devel@gnu.org>
2020-03-23 22:57 ` Massimiliano Gubinelli
2020-03-23 23:23   ` John David Anglin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).