1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-30 11:50:28 +02:00
Commit graph

98 commits

Author SHA1 Message Date
Andy Wingo
455015d8e9 Fix bugs with primitive code allocator; expose internally
* lib/Makefile.am: Explicitly add flexmember.  Already included though.
* libguile/gsubr.c (alloc_subr_idx, record_subr_name): Factor out an
  "expected subr count" variable.
  (alloc_chunk, alloc): Rework so that when the arena grows, old code is
  still recognized as primitive.
  (scm_i_alloc_primitive_code_with_instrumentation): Fix bug whereby the
  JIT function data was initialized at a bogus address, because we were
  adding to a uint32_t* instead of a char*.  Make internally public.
  (is_primitive_code): Recognize all allocated code as primitive.
  (alloc_subr_code): Adapt to
  scm_i_alloc_primitive_code_with_instrumentation rename.
  (primitive_subr_idx): If the call IP isn't a subr-call, return a
  sentinel value.
  (scm_i_primitive_name, scm_subr_function): Allow for primitives that
  aren't subrs.
* libguile/gsubr.h: Decalre
  scm_i_alloc_primitive_code_with_instrumentation.
2018-08-06 13:30:50 +02:00
Andy Wingo
4706d69824 Fix accept4 gnulib update.
* m4/accept4.m4: Add missing file.
* lib/accept4.c: Add missing file.
* .gitignore: Update.
2017-02-15 22:15:56 +01:00
Andy Wingo
9399c13479 Switch to accept4
* lib/Makefile.am:
* m4/gnulib-cache.m4:
* m4/gnulib-comp.m4: Switch from accept gnulib module to accept4.
* libguile/socket.c (scm_accept): Use accept4.
2017-02-15 21:45:17 +01:00
Andy Wingo
7e641595cd Update Gnulib to v0.1-1157-gb03f418. 2017-02-15 21:41:24 +01:00
Andy Wingo
8868c850e6 Gnulib: Add dirname-lgpl.
* lib/Makefile.am:
* m4/gnulib-cache.m4:
* m4/gnulib-comp.m4: Add dirname-lgpl.
2016-07-25 11:49:46 +02:00
Andy Wingo
aae3561584 Allow mkstemp! to have optional "mode" argument
* m4/mkstemp.m4: Remove.
* lib/mkstemp.c: Remove.
* lib/mkostemp.c: New file.
* m4/mkostemp.m4: New file.
* lib/Makefile.am:
* m4/gnulib-cache.m4:
* m4/gnulib-comp.m4: Remove mkstemp module, replace with mkostemp.

* libguile/fports.h:
* libguile/fports.c (scm_i_mode_to_open_flags): Factor out helper to
  parse mode string to open flags.
  (scm_open_file_with_encoding): Use the new helper.
* libguile/filesys.c:
  (scm_i_mkstemp): Adapt to take optional second argument, being a mode
  string.  Use mkostemp.
  (scm_mkstemp): Backwards compatible shim that calls scm_i_mkstemp.

* doc/ref/posix.texi:
* NEWS: Update.

* module/system/base/compile.scm (call-with-output-file/atomic): Pass
  "wb" as mode, to cause O_BINARY to be added on MinGW.
2016-07-25 11:46:18 +02:00
Andy Wingo
b05b67b2b3 Avoid Gnulib unistr/* modules
(unistr/base, unistr/u8-mbtouc, unistr/u8-mbtouc-unsafe)
(unistr/u8-mbtoucr, unistr/u8-prev unistr/u8-uctomb, unitypes): --avoid
these modules.
2016-07-10 12:44:35 +02:00
Andy Wingo
d484bfbace Update Gnulib to 68b6ade.
Also add --conditional-dependencies to the flags.  See:
https://lists.gnu.org/archive/html/guile-devel/2016-07/msg00012.html
2016-07-07 14:05:53 +02:00
Andy Wingo
95ac2204d9 Revert "Update Gnulib to v0.1-603-g1d16a7b"
This reverts commit 2d4da30fde.

This Gnulib update was causing failures related to timezones in
stime.c.  I tried to fix it by adopting the time_rz module from gnulib
but that then caused other failures.  We can try again later.
2015-10-25 10:55:14 +00:00
Andy Wingo
2d4da30fde Update Gnulib to v0.1-603-g1d16a7b 2015-10-22 13:34:00 +00:00
Ludovic Courtès
8f7887d616 Provide glthread/lock.h implementation in terms of Guile threads.
Fixes <http://bugs.gnu.org/14404>.
Thanks to Paul Eggert <eggert@cs.ucla.edu> for the suggestion.

* m4/gnulib-cache.m4: Avoid 'lock' module.
* m4/lock.m4, m4/threadlib.m4, lib/glthread/threadlib.c,
  lib/glthread/lock.c: Remove.
* lib/glthread/lock.h: Rewrite in terms of libguile/threads.h.
* m4/gnulib-common.m4, m4/gnulib-comp.m4, lib/Makefile.am,
  lib/unistd.in.h, maint.mk : Update, from Gnulib v0.1-92-g546ff82.

* configure.ac (GNULIB_LOCK): Define 'GNULIB_LOCK'.  Define
  'USE_POSIX_THREADS' when building with pthread support.
* Makefile.am (noinst_HEADERS): New variable.
  (BUILT_SOURCES): Add libguile/scmconfig.h.
  (libguile/scmconfig.h): New target.
2014-03-12 00:02:01 +01:00
Mark H Weaver
3243fffcc1 Import Gnulib modules: link, fsync, readlink, rename, mkdir, rmdir, unistd.
* lib/fsync.c:
* lib/link.c:
* lib/mkdir.c:
* lib/strdup.c:
* m4/fsync.m4:
* m4/link.m4:
* m4/mkdir.m4:
* m4/strdup.m4: New files.

* lib/Makefile.am
* m4/gnulib-cache.m4
* m4/gnulib-comp.m4: Add modules.
2014-02-27 22:34:30 -05:00
Mark H Weaver
f9d4a040b4 Import 'lstat' and 'mkstemp' modules from Gnulib.
* lib/mkstemp.c:
* lib/secure_getenv.c:
* lib/tempname.c:
* lib/tempname.h:
* m4/mkstemp.m4:
* m4/secure_getenv.m4:
* m4/tempname.m4: New files.

* lib/Makefile.am:
* m4/gnulib-cache.m4:
* m4/gnulib-comp.m4: Add modules.
2014-02-12 20:53:21 -05:00
Mark H Weaver
5e69ceb7a6 Update Gnulib to v0.1-77-gd9361da 2014-02-03 21:05:52 -05:00
Mark H Weaver
524140436f Add files from 'copysign' and 'isfinite' Gnulib modules.
* lib/copysign.c:
* lib/isfinite.c:
* lib/isnanf-nolibm.h:
* lib/isnanl-nolibm.h:
* lib/signbitd.c:
* lib/signbitf.c:
* lib/signbitl.c:
* m4/copysign.m4:
* m4/isfinite.m4:
* m4/signbit.m4: New files.
2013-08-06 17:16:04 -04:00
Mark H Weaver
8ba5674805 Import 'copysign' and 'isfinite' modules from Gnulib.
* lib/Makefile.am:
* m4/gnulib-cache.m4:
* m4/gnulib-comp.m4: Add 'copysign' and 'isfinite' Gnulib modules.
2013-08-06 16:10:24 -04:00
Mark H Weaver
e501f2111e Import 'c-strcase' from Gnulib.
* lib/Makefile.am:
* m4/gnulib-cache.m4: Add 'c-strcase' Gnulib module.
2013-04-05 13:59:29 -04:00
Ludovic Courtès
7e7c6f6a93 build: Remove redundant check for `struct timespec'.
* m4/gnulib-cache.m4: Add `time'.
* lib/Makefile.am: Update, still from v0.0-7865-ga828bb2.
* configure.ac: Remove check for `struct timespec', which was redundant
  with Gnulib, and conflicted with pthread-win32's <pthread.h>:
  <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00096.html>.
2013-03-29 19:20:01 +01:00
Jason Earl
428f9e95fc import `poll' from gnulib
* lib/Makefile.am:
* lib/poll.c:
* lib/poll.in.h:
* m4/gnulib-cache.m4:
* m4/gnulib-comp.m4:
* m4/poll.m4:
* m4/poll_h.m4: Add poll gnulib module.
2013-03-10 23:40:13 +01:00
Andy Wingo
b7548cd2dc add getlogin from gnulib
* lib/Makefile.am:
* lib/getlogin.c:
* m4/getlogin.m4:
* m4/gnulib-cache.m4: Add getlogin module.
2013-03-09 23:09:44 +01:00
Andy Wingo
4fd38267bc add gnulib fstat module explicitly
* lib/Makefile.am:
* m4/gnulib-cache.m4: Explicitly add fstat module.
2013-03-09 21:06:07 +01:00
Andy Wingo
1adba49ab2 Import `pipe-posix' module from gnulib.
* lib/Makefile.am:
* lib/pipe.c:
* m4/gnulib-cache.m4:
* m4/gnulib-comp.m4:
* m4/pipe.m4: Add pipe-posix module.
2013-03-09 19:08:51 +01:00
Andy Wingo
84ebfef4e6 add gnulib `times' module
* lib: Add `times' module.  Should fix socket.c on MinGW.  Thanks to Eli
  Zaretskii for the report.
2013-02-18 19:06:34 +01:00
Andy Wingo
3dac6181c1 Add gnulib `select' module.
Should fix fport_input_waiting when neither poll nor select nor FIONREAD
are available, which is the case on MinGW.  Thanks to Eli Zaretskii for
the report.
2013-02-18 18:53:46 +01:00
Andy Wingo
af07e10429 Update to gnulib 0.0.7865-a828. 2013-02-18 18:48:48 +01:00
Ludovic Courtès
7ae4e75af5 Update Gnulib to v0.0-7695-g26c0590.
* gnulib-local/m4/canonicalize.m4.diff: Remove.
* Makefile.am (EXTRA_DIST): Adjust accordingly.
2012-11-17 16:20:52 +01:00
Ludovic Courtès
235c280489 Use `clock-time' directly from Gnulib, but with a local patch.
This is equivalent to the previous situation, but more easily
maintainable.

* acinclude.m4 (gl_CLOCK_TIME): Remove.

* configure.ac: Remove explicit use of `gl_CLOCK_TIME'.

* m4/gnulib-cache.m4 (gl_MODULES): Add `clock-time'.

* gnulib-local/m4/clock_time.m4.diff: New file.
* Makefile.am (EXTRA_DIST): Add it.
2012-07-06 23:56:05 +02:00
Ludovic Courtès
005de2e827 Update Gnulib to v0.0-7509-g98a2286.
* Makefile.am (EXTRA_DIST): Add `m4/gnulib-cache.m4'.
* build-aux/git-version-gen: Keep unchanged.
2012-07-06 23:25:57 +02:00
Ludovic Courtès
5de0053178 Don't fail when locale env. vars specify a dot-less locale name.
Fixes <http://bugs.gnu.org/10742>.
Reported by Alírio Eyng <alirioeyng@ig.com.br>.

* gnulib-local/lib/localcharset.c.diff (environ_locale_charset): Change
  to set CODESET to "" when LOCALE lacks a dot.  Return "ISO-8859-1"
  when CODESET is the empty string.

* lib/localcharset.c: Update.

* test-suite/standalone/Makefile.am (check_SCRIPTS): Add
  `test-command-line-encoding2'.
  (TESTS): Likewise.

* test-suite/standalone/test-command-line-encoding2: New file.
2012-02-18 00:04:17 +01:00
Ludovic Courtès
a0919aefee i18n: Use Gnulib's `nl_langinfo' module.
* configure.ac: Remove checks for <langinfo.h> and <nl_types.h>, and
  `nl_langinfo'.

* libguile/i18n.c: Remove #ifdefs for HAVE_LANGINFO_H, HAVE_NL_TYPES_H,
  HAVE_NL_ITEM, and HAVE_LANGINFO_CODESET.
  (SCM_VALIDATE_OPTIONAL_LOCALE_COPY): Use `SCM_UNBNDP'.

* m4/gnulib-cache.m4 (gl_MODULES): Add `nl_langinfo'.

* module/ice-9/i18n.scm (define-vector-langinfo-mapping): Remove
  `defaults' parameter; assume (provided? 'nl-langinfo) is always true.
  Update users accordingly.
  (define-simple-langinfo-mapping): Likewise.
  (define-monetary-langinfo-mapping): Likewise, but do not assume
  LOCAL-ITEM and INTL-ITEM are always defined.
2012-02-03 14:14:14 +01:00
Ludovic Courtès
eb4a14ed47 Use Gnulib's `regex' module.
This should help with regex portability, as reported in
<http://bugs.gnu.org/10684> for Darwin 8.11.

* m4/gnulib-cache.m4 (gl_MODULES): Add `regex'.

* configure.ac: Remove header checks for regex.h, rxposix.h, and
  rx/rxposix.h.  Remove check for the `regcomp' function.  Remove
  definition of `HAVE_REGCOMP'.  Define `ENABLE_REGEX'.

* libguile/init.c: Check for `ENABLE_REGEX' instead of `HAVE_REGCOMP'.

* libguile/regex-posix.c: Always include <regex.h>.  Remove #ifdefs for
  rxposix.h and co.
2012-02-03 10:51:46 +01:00
Ludovic Courtès
40fb4e317b Import Gnulib's `setenv' module, for MinGW.
Reported by Eli Zaretskii <eliz@gnu.org>.

* m4/gnulib-cache.m4 (gl_MODULES): Add `setenv'.
2012-01-25 22:35:29 +01:00
Ludovic Courtès
f0007cade0 Update Gnulib to v0.0-6827-g39c3009; use the `dirfd' module.
* m4/gnulib-cache.m4: Use `dirfd'.

* libguile/filesys.c: Include Gnulib's <dirent.h> directly.
  (dirfd): Remove.  Suggested by Bruno Haible <bruno@clisp.org>.
2012-01-16 23:49:21 +01:00
Ludovic Courtès
c2c2b5a49b Use Gnulib's `localcharset', with local patches.
This follows Bruno Haible's suggestion at
<http://lists.gnu.org/archive/html/guile-devel/2011-11/msg00055.html>.

* m4/gnulib-cache.m4: Add `gl_LOCAL_DIR'; use `localcharset'.

* Makefile.am (EXTRA_DIST): Add gnulib-local/lib/localcharset.[ch].diff.
  (TESTS_ENVIRONMENT): New variable.

* gnulib-local/lib/localcharset.c.diff,
  gnulib-local/lib/localcharset.h.diff: New files.

* test-suite/Makefile.am (TESTS_ENVIRONMENT): Add
  @LOCALCHARSET_TESTS_ENVIRONMENT@.
* test-suite/standalone/Makefile.am (TESTS_ENVIRONMENT): Likewise.
2011-12-15 01:31:16 +01:00
Ludovic Courtès
7f1ea859ee Update Gnulib to v0.0-6703-g4e0358a. 2011-12-14 23:46:22 +01:00
Ludovic Courtès
35428fb6b2 Update Gnulib to v0.0-6523-gb3609c1. 2011-10-22 16:24:32 +02:00
Ludovic Courtès
231c0e0e61 Update Gnulib to v0.0-5874-g7170ee0. 2011-07-01 22:34:29 +02:00
Andy Wingo
a67f2fce54 add `rename' gnulib module
This should fix `rename' on mingw32.
2011-06-16 23:43:44 +02:00
Andy Wingo
3d458a81c6 gnulib update
Added pipe2 and open modules, to get O_CLOEXEC.

* libguile/Makefile.am (guile_filter_doc_snarfage$(EXEEXT)): Add gnulib
  here, in the native build case, for rpl_fflush if needed.

foo
2011-06-16 19:47:25 +02:00
Ludovic Courtès
dd7d0148f2 Update Gnulib to v0.0-5158-g7d06b32; remove strcase' and version-etc-fsf'.
* m4/gnulib-cache.m4: Remove `strcase' and `version-etc-fsf'.

* configure.ac (POTENTIAL_GCC_CFLAGS): Remove `-Wundef'.

* libguile/script.c: Don't include <version-etc.h>.
2011-04-25 23:59:37 +02:00
Mark H Weaver
dd36ce77cd Update Gnulib; add new modules; remove `round' module.
This updates Gnulib to v0.0-4951-g6ff7b70.

* m4/gnulib-cache.m4: Add floor, ceil, frexp, and ldexp.  Add wchar as
  an explicit dependency; it had been present as an indirect dependency
  before, but no longer.  Remove round, which I had requested earlier,
  but turned out to be unnecessary.
2011-03-09 17:06:05 -05:00
Ludovic Courtès
3baebe115e Remove Gnulib's `sockets' module from the import list.
* m4/gnulib-cache.m4: Remove `sockets', which we don't directly depend
  on.
2011-02-15 11:52:43 +01:00
Ludovic Courtès
b81eb64633 Import Gnulib's log1p' and round' modules.
From Gnulib v0.0-4889-ge375fe3.

* m4/gnulib-cache.m4: Add `log1p' and `round', requested by
  Mark H Weaver <mhw@netris.org>.
  Use `malloc-gnu' instead of `malloc', the latter being obsolete.
2011-02-15 11:29:37 +01:00
Ludovic Courtès
066a37a13e Temporarily fix unistr.in.h' to allow compilation with -Wundef'.
See <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/24225> for details.

* lib/unistr.in.h: Change #if's into #ifdef's.
2011-02-14 11:36:51 +01:00
Ludovic Courtès
49114fd43d Update Gnulib; add new modules.
This updates Gnulib to v0.0-4889-ge375fe3.

* m4/gnulib-cache.m4: Add `accept', `bind', `close', `connect',
  `getpeername', `getsockname', `getsockopt', `listen', `malloc',
  `malloca', `recv', `recvfrom', `send', `sendto', `setsockopt',
  `shutdown', `socket', and `sockets', requested by
  Jan Nieuwenhuizen <janneke-list@xs4all.nl> for cross-MinGW32 builds.
  Add `trunc', requested by Mark H Weaver <mhw@netris.org>.
2011-02-14 11:36:25 +01:00
Ludovic Courtès
829ed325cf Temporarily fix unistr.in.h' to allow compilation with -Wundef'.
See <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/24225> for details.

* lib/unistr.in.h: Change #if's into #ifdef's.
2010-12-20 22:54:39 +01:00
Ludovic Courtès
ab4d62adbf Update Gnulib to v0.0-4544-gce083ca. 2010-12-20 22:51:46 +01:00
Ludovic Courtès
99dbafd66a Temporarily fix unistr.in.h' to allow compilation with -Wundef'.
See <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/24225> for details.

* lib/unistr.in.h: Change #if's into #ifdef's.
2010-12-07 23:13:19 +01:00
Ludovic Courtès
0f00f2c33a Use Gnulib's `nproc'.
This updates Gnulib to v0.0-4496-g6491120.

* m4/gnulib-cache.m4: Add `nproc'.
2010-12-07 23:13:19 +01:00
Ludovic Courtès
2e65b52f8a Use Gnulib's isnan' and isinf' modules.
This updates Gnulib to v0.0-4219-g84cdd8b.

* m4/gnulib-cache.m4: Add `isinf' and `isnan'.

* configure.ac: Remove checks for `floatingpoint.h', `ieeefp.h', and
  `nan.h'.

* libguile/gen-scmconfig.c (main): Remove definitions of
  `SCM_HAVE_FLOATINGPOINT_H', `SCM_HAVE_IEEEFP_H', and
  `SCM_HAVE_NAN_H'.

* libguile/numbers.c (isnan)[SCO && !HAVE_ISNAN]: Remove.
  (isinf)[SCO && !HAVE_ISINF]: Remove.
  (xisinf, xisnan): Remove.  Change callers to use `isinf' and `isnan'.
  (guile_ieee_init): Remove the `defined HAVE_ISINF' and `define
  HAVE_ISNAN' conditions.

* libguile/numbers.h: Remove code conditional on
  `SCM_HAVE_FLOATINGPOINT_H', `SCM_HAVE_IEEEFP_H', or `SCM_HAVE_NAN_H'.
2010-09-08 00:34:27 +02:00