[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] GNU Libtool branch, master, updated. v2.2.4-39-ga05d258
From: |
Peter O'Gorman |
Subject: |
[SCM] GNU Libtool branch, master, updated. v2.2.4-39-ga05d258 |
Date: |
Tue, 26 Aug 2008 17:50:20 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Libtool".
The branch, master has been updated
via a05d258b4c1c5acfee449e4ae305ac67bffd6f25 (commit)
via 300fa580c49003080ae9c65a64821c790a44fac0 (commit)
from 6c491fda98b074e37e6795a865014a46eb1f74f2 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit a05d258b4c1c5acfee449e4ae305ac67bffd6f25
Author: Peter O'Gorman <address@hidden>
Date: Tue Aug 26 12:42:53 2008 -0500
Allow for extensions other than .a for preloaded modules.
* libltdl/m4/ltdl.m4 (_LTDL_SETUP): Define LT_LIBEXT.
* libltdl/ltdl.c (lt_dladvise_preload): Use it.
Reported by Ralf Wildenhues.
commit 300fa580c49003080ae9c65a64821c790a44fac0
Author: Peter O'Gorman <address@hidden>
Date: Tue Aug 26 12:41:25 2008 -0500
Remove unnecessary global argz functions.
* libltdl/argz.c (argz_add,argz_count): Remove.
* libltdl/argz_.h (argz_add,argz_count): Remove.
* NEWS: Announce it.
* tests/ltdl-api.at: Test so we don't repeat it.
* Makefile.am: Add new test.
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 17 +++++++++++++++++
Makefile.am | 1 +
NEWS | 3 +++
libltdl/argz.c | 28 ----------------------------
libltdl/argz_.h | 3 ---
libltdl/ltdl.c | 10 ++++++++--
libltdl/m4/ltdl.m4 | 2 ++
tests/{cdemo-exec.test => ltdl-api.at} | 27 ++++++++++++++++-----------
8 files changed, 47 insertions(+), 44 deletions(-)
copy tests/{cdemo-exec.test => ltdl-api.at} (56%)
mode change 100755 => 100644
diff --git a/ChangeLog b/ChangeLog
index 13cc2af..9a67fd5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,20 @@
+2008-08-26 Peter O'Gorman <address@hidden>
+
+ Allow for extensions other than .a for preloaded modules.
+ * libltdl/m4/ltdl.m4 (_LTDL_SETUP): Define LT_LIBEXT.
+ * libltdl/ltdl.c (lt_dladvise_preload): Use it.
+ Reported by Ralf Wildenhues.
+
+2008-08-26 Peter O'Gorman <address@hidden>,
+ Ralf Wildenhues <address@hidden>
+
+ Remove unnecessary global argz functions.
+ * libltdl/argz.c (argz_add,argz_count): Remove.
+ * libltdl/argz_.h (argz_add,argz_count): Remove.
+ * NEWS: Announce it.
+ * tests/ltdl-api.at: Test so we don't repeat it.
+ * Makefile.am: Add new test.
+
2008-08-22 Ralf Wildenhues <address@hidden>
Initial support for Lahey Fortran on GNU/Linux.
diff --git a/Makefile.am b/Makefile.am
index 0085c7f..1417e84 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -454,6 +454,7 @@ TESTSUITE_AT = tests/testsuite.at \
tests/am-subdir.at \
tests/lt_dlexit.at \
tests/lt_dladvise.at \
+ tests/ltdl-api.at \
tests/need_lib_prefix.at \
tests/standalone.at \
tests/subproject.at \
diff --git a/NEWS b/NEWS
index e0d1062..c85f741 100644
--- a/NEWS
+++ b/NEWS
@@ -21,6 +21,9 @@ New in 2.2.??: 2008-08-??: git version 2.2.5a, Libtool team:
- Several testsuite issues have been fixed, thanks to user feedback.
+ - Fix 2.2 regression that caused argz symbols to be exported from
+ libltdl unrenamed on systems that do not have working argz.
+
New in 2.2.4: 2008-05-04: git version 2.2.3a, Libtool team:
* New features:
diff --git a/libltdl/argz.c b/libltdl/argz.c
index f31ce17..8567723 100644
--- a/libltdl/argz.c
+++ b/libltdl/argz.c
@@ -76,14 +76,6 @@ argz_append (char **pargz, size_t *pargz_len, const char
*buf, size_t buf_len)
}
-/* Add a string to the argz vector. */
-error_t
-argz_add (char **pargz, size_t *pargz_len, const char *str)
-{
- return argz_append (pargz, pargz_len, str, strlen (str) + 1);
-}
-
-
error_t
argz_create_sep (const char *str, int delim, char **pargz, size_t *pargz_len)
{
@@ -232,23 +224,3 @@ argz_stringify (char *argz, size_t argz_len, int sep)
}
}
-
-/* Count number of elements (null bytes) in argz vector. */
-
-size_t
-argz_count (const char *argz, size_t argz_len)
-{
- size_t count = 0;
-
- assert ((argz && argz_len) || (!argz && !argz_len));
-
- while (argz_len > 0)
- {
- size_t part_len = strlen (argz);
- argz += part_len + 1;
- argz_len -= part_len + 1;
- count++;
- }
-
- return count;
-}
diff --git a/libltdl/argz_.h b/libltdl/argz_.h
index 40d5176..0557575 100644
--- a/libltdl/argz_.h
+++ b/libltdl/argz_.h
@@ -49,8 +49,6 @@ extern "C" {
LT_SCOPE error_t argz_append (char **pargz, size_t *pargz_len,
const char *buf, size_t buf_len);
-LT_SCOPE error_t argz_add (char **pargz, size_t *pargz_len,
- const char *str);
LT_SCOPE error_t argz_create_sep(const char *str, int delim,
char **pargz, size_t *pargz_len);
LT_SCOPE error_t argz_insert (char **pargz, size_t *pargz_len,
@@ -58,7 +56,6 @@ LT_SCOPE error_t argz_insert (char **pargz, size_t
*pargz_len,
LT_SCOPE char * argz_next (char *argz, size_t argz_len,
const char *entry);
LT_SCOPE void argz_stringify (char *argz, size_t argz_len, int sep);
-LT_SCOPE size_t argz_count (const char *argz, size_t argz_len);
#if defined(__cplusplus)
}
diff --git a/libltdl/ltdl.c b/libltdl/ltdl.c
index 5a26565..6e19599 100644
--- a/libltdl/ltdl.c
+++ b/libltdl/ltdl.c
@@ -50,6 +50,10 @@ or obtained by writing to the Free Software Foundation, Inc.,
# define LT_FILENAME_MAX 1024
#endif
+#if !defined(LT_LIBEXT)
+# define LT_LIBEXT "a"
+#endif
+
/* This is the maximum symbol size that won't require malloc/free */
#undef LT_SYMBOL_LENGTH
#define LT_SYMBOL_LENGTH 128
@@ -67,6 +71,7 @@ or obtained by writing to the Free Software Foundation, Inc.,
static const char objdir[] = LT_OBJDIR;
static const char archive_ext[] = LT_ARCHIVE_EXT;
+static const char libext[] = LT_LIBEXT;
#if defined(LT_MODULE_EXT)
static const char shlib_ext[] = LT_MODULE_EXT;
#endif
@@ -1258,7 +1263,8 @@ try_dlopen (lt_dlhandle *phandle, const char *filename,
const char *ext,
if (vtable)
{
- archive_name = MALLOC (char, LT_STRLEN (name) + 3);
+ /* name + "." + libext + NULL */
+ archive_name = MALLOC (char, LT_STRLEN (name) + LT_STRLEN (libext) +
2);
*phandle = (lt_dlhandle) lt__zalloc (sizeof (struct lt__handle));
if ((*phandle == NULL) || (archive_name == NULL))
@@ -1270,7 +1276,7 @@ try_dlopen (lt_dlhandle *phandle, const char *filename,
const char *ext,
/* Preloaded modules are always named according to their old
archive name. */
- sprintf (archive_name, "%s.a", name);
+ sprintf (archive_name, "%s.%s", name, libext);
if (tryall_dlopen (&newhandle, archive_name, advise, vtable) == 0)
{
diff --git a/libltdl/m4/ltdl.m4 b/libltdl/m4/ltdl.m4
index 563889e..bac721e 100644
--- a/libltdl/m4/ltdl.m4
+++ b/libltdl/m4/ltdl.m4
@@ -413,6 +413,8 @@ AC_CHECK_HEADERS([unistd.h dl.h sys/dl.h dld.h
mach-o/dyld.h dirent.h],
AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])])
AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])])
+AC_DEFINE_UNQUOTED([LT_LIBEXT],["$libext"],[The archive extension])
+
name=ltdl
LTDLOPEN=`eval "\\$ECHO \"$libname_spec\""`
AC_SUBST([LTDLOPEN])
diff --git a/tests/cdemo-exec.test b/tests/ltdl-api.at
old mode 100755
new mode 100644
similarity index 56%
copy from tests/cdemo-exec.test
copy to tests/ltdl-api.at
index dce62f2..465a513
--- a/tests/cdemo-exec.test
+++ b/tests/ltdl-api.at
@@ -1,8 +1,7 @@
-#! /bin/sh
-# cdemo-exec.test - check that programs in the cdemo subdirectory are viable
+# ltdl-api.at -- test libltdl API -*- Autotest -*-
#
-# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
-# Written by Gary V. Vaughan, 2003
+# Copyright (C) 2008 Free Software Foundation, Inc.
+# Written by Ralf Wildenhues, 2008.
#
# This file is part of GNU Libtool.
#
@@ -23,12 +22,18 @@
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
####
-. tests/defs || exit 1
+AT_SETUP([ltdl API])
+AT_KEYWORDS([libltdl])
-func_require "cdemo-make" "tests/cdemo/cdemo$EXEEXT"
+# Ensure that no symbols from argz are unrenamed.
+eval `$LIBTOOL --config | $EGREP '^(NM|global_symbol_pipe|objext)='`
+argz_o=$abs_top_builddir/libltdl/argz.$objext
+AT_CHECK([test -f "$argz_o" || exit 77])
+AT_CHECK([eval "$NM \"\$argz_o\" | $global_symbol_pipe"],
+ [], [stdout], [ignore])
+# Check for global symbols beginning with "argz_"
+AT_CHECK([grep "^T argz_" stdout], [1])
+# and also for the _ prefixed version "_argz_"
+AT_CHECK([grep "^T _argz_" stdout], [1])
-func_rmprefixdir
-func_exec_init "uninstalled"
-func_exec "tests/cdemo/cdemo$EXEEXT"
-
-exit $exec_status
+AT_CLEANUP
hooks/post-receive
--
GNU Libtool
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] GNU Libtool branch, master, updated. v2.2.4-39-ga05d258,
Peter O'Gorman <=