about summary refs log tree commit diff
path: root/iconv
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-10-16 11:41:15 +0000
committerUlrich Drepper <drepper@redhat.com>1998-10-16 11:41:15 +0000
commitc66dbe00b9c98bb9d1fc10c9007fdcfb98a59b73 (patch)
treefc77f0234b3ff62b6ab6f5840e08226cab294dd4 /iconv
parenta9e73d4044f6c8d238965001baffec1ce603f3f3 (diff)
downloadglibc-c66dbe00b9c98bb9d1fc10c9007fdcfb98a59b73.tar.gz
glibc-c66dbe00b9c98bb9d1fc10c9007fdcfb98a59b73.tar.xz
glibc-c66dbe00b9c98bb9d1fc10c9007fdcfb98a59b73.zip
Update.
1998-10-16 10:07  Ulrich Drepper  <drepper@cygnus.com>

	* iconv/Makefile [! elf]: Define CFLAGS-gconv_simple.c to
	-DSTATIC_GCONV.
	* iconv/skeleton.c: Include ELF header only of STATIC?GCONV is not
	defined.  Avoid using DL_CLL_FCT if it is not defined.

1998-10-16 10:40 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* resolv/arpa/nameser.h: Include sys/types.h unconditionally.
	Include endian.h unconditionally.  Remove portability goop
	depending on #ifdef linux, #ifdef BSD, #ifdef machine-type.

1998-10-16 11:39 -0400  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* sunrpc/rpc/types.h: Mark file so fixincludes won't modify it.
Diffstat (limited to 'iconv')
-rw-r--r--iconv/Makefile1
-rw-r--r--iconv/skeleton.c24
2 files changed, 20 insertions, 5 deletions
diff --git a/iconv/Makefile b/iconv/Makefile
index cd486b737e..8b4f605e5b 100644
--- a/iconv/Makefile
+++ b/iconv/Makefile
@@ -31,6 +31,7 @@ ifeq ($(elf),yes)
 routines	+= gconv_dl
 else
 CFLAGS-gconv_db.c = -DSTATIC_GCONV
+CFLAGS-gconv_simple.c = -DSTATIC_GCONV
 endif
 
 distribute	= gconv_builtin.h gconv_int.h loop.c skeleton.c
diff --git a/iconv/skeleton.c b/iconv/skeleton.c
index 90203213ef..bae82be3ed 100644
--- a/iconv/skeleton.c
+++ b/iconv/skeleton.c
@@ -77,13 +77,16 @@
  */
 
 #include <assert.h>
-#include <dlfcn.h>
 #include <gconv.h>
 #include <string.h>
 #define __need_size_t
 #define __need_NULL
 #include <stddef.h>
-#include <elf/ldsodefs.h>
+
+#ifndef STATIC_GCONV
+# include <dlfcn.h>
+# include <elf/ldsodefs.h>
+#endif
 
 
 /* The direction objects.  */
@@ -219,9 +222,15 @@ FUNCTION_NAME (struct gconv_step *step, struct gconv_step_data *data,
 
 	  if (status == GCONV_OK)
 #endif
-	    /* Give the modules below the same chance.  */
-	    status = DL_CALL_FCT (fct, (next_step, next_data, NULL, NULL,
-					written, 1));
+	    {
+	      /* Give the modules below the same chance.  */
+#ifdef DL_CALL_FCT
+	      status = DL_CALL_FCT (fct, (next_step, next_data, NULL, NULL,
+					  written, 1));
+#else
+	      status = (*fct) (next_step, next_data, NULL, NULL, written, 1);
+#endif
+	    }
 	}
     }
   else
@@ -287,8 +296,13 @@ FUNCTION_NAME (struct gconv_step *step, struct gconv_step_data *data,
 	      const char *outerr = data->outbuf;
 	      int result;
 
+#ifdef DL_CALL_FCT
 	      result = DL_CALL_FCT (fct, (next_step, next_data, &outerr,
 					  outbuf, written, 0));
+#else
+	      result = (*fct) (next_step, next_data, &outerr, outbuf,
+			       written, 0);
+#endif
 
 	      if (result != GCONV_EMPTY_INPUT)
 		{