Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 16 Nov 2013 18:40:45 +0000 (UTC)
From:      Glen Barber <gjb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org
Subject:   svn commit: r258230 - in stable/10: . include lib lib/libc/iconv lib/libiconv_compat share/man/man5 share/mk tools/build/mk tools/build/options
Message-ID:  <201311161840.rAGIejxA021994@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: gjb
Date: Sat Nov 16 18:40:44 2013
New Revision: 258230
URL: http://svnweb.freebsd.org/changeset/base/258230

Log:
  MFC r257583, r258012, r258013:
  
   r257583 (peter):
   Remove the WITH_LIBICONV_COMPAT hack that seems to do more harm
   than good.  This caused libc to spoof the ports libiconv namespace
   and provide a colliding libiconv.so.3 to fool rtld.  This should
   have been removed some time ago.
  
   r258012:
   Remove WITH_LIBICONV_COMPAT file to chase after r257583.
  
   r258013:
   Regenerate src.conf.5 after removal of WITH_LIBICONV_COMPAT.
  
  Approved by:	re (kib)
  Sponsored by:	The FreeBSD Foundation
  
  Sponsored by:	The FreeBSD Foundation

Deleted:
  stable/10/lib/libiconv_compat/
  stable/10/tools/build/options/WITH_LIBICONV_COMPAT
Modified:
  stable/10/ObsoleteFiles.inc   (contents, props changed)
  stable/10/include/Makefile
  stable/10/include/iconv.h
  stable/10/lib/Makefile
  stable/10/lib/libc/iconv/Symbol.map
  stable/10/lib/libc/iconv/iconv.c
  stable/10/share/man/man5/src.conf.5
  stable/10/share/mk/bsd.own.mk
  stable/10/tools/build/mk/OptionalObsoleteFiles.inc
Directory Properties:
  stable/10/include/   (props changed)
  stable/10/lib/   (props changed)
  stable/10/lib/libc/   (props changed)
  stable/10/share/man/man5/   (props changed)
  stable/10/share/mk/   (props changed)
  stable/10/tools/build/   (props changed)
  stable/10/tools/build/options/   (props changed)

Modified: stable/10/ObsoleteFiles.inc
==============================================================================
--- stable/10/ObsoleteFiles.inc	Sat Nov 16 17:17:23 2013	(r258229)
+++ stable/10/ObsoleteFiles.inc	Sat Nov 16 18:40:44 2013	(r258230)
@@ -38,6 +38,12 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20131103: WITH_LIBICONV_COMPAT removal
+OLD_FILES+=usr/include/_libiconv_compat.h
+OLD_FILES+=usr/lib/libiconv.a
+OLD_FILES+=usr/lib/libiconv.so
+OLD_FILES+=usr/lib/libiconv.so.3
+OLD_FILES+=usr/lib/libiconv_p.a
 # 20131030: /etc/keys moved to /usr/share/keys
 OLD_DIRS+=etc/keys
 OLD_DIRS+=etc/keys/pkg

Modified: stable/10/include/Makefile
==============================================================================
--- stable/10/include/Makefile	Sat Nov 16 17:17:23 2013	(r258229)
+++ stable/10/include/Makefile	Sat Nov 16 18:40:44 2013	(r258230)
@@ -83,15 +83,7 @@ _netipx=	netipx
 
 # Handle the #define aliases for libiconv
 .if ${MK_ICONV} == "yes"
-CLEANFILES+=	_libiconv_compat.h
-INCS+=		_libiconv_compat.h iconv.h
-_libiconv_compat.h:	${.CURDIR}/Makefile
-	echo "/* Indicate whether libiconv symbols are present */" > _libiconv_compat.h
-.if ${MK_LIBICONV_COMPAT} == "yes"
-	echo "#define __LIBICONV_COMPAT" >> _libiconv_compat.h
-.else
-	echo "#undef __LIBICONV_COMPAT" >> _libiconv_compat.h
-.endif
+INCS+=		iconv.h
 .endif
 	
 

Modified: stable/10/include/iconv.h
==============================================================================
--- stable/10/include/iconv.h	Sat Nov 16 17:17:23 2013	(r258229)
+++ stable/10/include/iconv.h	Sat Nov 16 18:40:44 2013	(r258230)
@@ -40,13 +40,6 @@
 #include <sys/cdefs.h>
 #include <sys/types.h>
 
-#include <_libiconv_compat.h>
-#ifdef __LIBICONV_COMPAT
-#define libiconv_open		iconv_open
-#define libiconv_close		iconv_close
-#define libiconv		iconv
-#define libiconv_t		iconv_t
-#endif
 #ifdef __cplusplus
 typedef	bool	__iconv_bool;
 #elif __STDC_VERSION__ >= 199901L
@@ -76,22 +69,10 @@ size_t	__iconv(iconv_t, const char **, s
 /*
  * GNU interfaces for iconv
  */
-#ifdef __LIBICONV_COMPAT
-#define libiconv_open_into		iconv_open_into
-#define libiconvctl			iconvctl
-#define libiconvlist			iconvlist
-#define libiconv_set_relocation_prefix	iconv_set_relocation_prefix
-#endif
-
 /* We have iconvctl() */
 #define _ICONV_VERSION	0x0108
 extern int _iconv_version;
 
-#ifdef __LIBICONV_COMPAT
-#define _libiconv_version		_iconv_version
-#define _LIBICONV_VERSION		_ICONV_VERSION
-#endif
-
 typedef struct {
 	void	*spaceholder[64];
 } iconv_allocation_t;

Modified: stable/10/lib/Makefile
==============================================================================
--- stable/10/lib/Makefile	Sat Nov 16 17:17:23 2013	(r258229)
+++ stable/10/lib/Makefile	Sat Nov 16 18:40:44 2013	(r258230)
@@ -81,7 +81,6 @@ SUBDIR=	${SUBDIR_ORDERED} \
 	${_libgpib} \
 	${_libgssapi} \
 	${_librpcsec_gss} \
-	${_libiconv_compat} \
 	libipsec \
 	${_libipx} \
 	libjail \
@@ -188,10 +187,6 @@ _libcxxrt=	libcxxrt
 _libcplusplus=	libc++
 .endif
 
-.if ${MK_LIBICONV_COMPAT} != "no"
-_libiconv_compat=	libiconv_compat
-.endif
-
 .if ${MK_LIBTHR} != "no"
 _libthr=	libthr
 .endif

Modified: stable/10/lib/libc/iconv/Symbol.map
==============================================================================
--- stable/10/lib/libc/iconv/Symbol.map	Sat Nov 16 17:17:23 2013	(r258229)
+++ stable/10/lib/libc/iconv/Symbol.map	Sat Nov 16 18:40:44 2013	(r258230)
@@ -6,15 +6,7 @@ FBSD_1.2 {
 	__iconv;
 	__iconv_free_list;
 	__iconv_get_list;
-	_libiconv_version;
 	iconv_canonicalize;
-	libiconv;
-	libiconv_close;
-	libiconv_open;
-	libiconv_open_into;
-	libiconv_set_relocation_prefix;
-	libiconvctl;
-	libiconvlist;
 };
 
 FBSD_1.3 {

Modified: stable/10/lib/libc/iconv/iconv.c
==============================================================================
--- stable/10/lib/libc/iconv/iconv.c	Sat Nov 16 17:17:23 2013	(r258229)
+++ stable/10/lib/libc/iconv/iconv.c	Sat Nov 16 18:40:44 2013	(r258230)
@@ -47,18 +47,6 @@
 #include "citrus_hash.h"
 #include "citrus_iconv.h"
 
-#include <_libiconv_compat.h>
-#ifdef __LIBICONV_COMPAT
-__weak_reference(iconv, libiconv);
-__weak_reference(iconv_open, libiconv_open);
-__weak_reference(iconv_open_into, libiconv_open_into);
-__weak_reference(iconv_close, libiconv_close);
-__weak_reference(iconvlist, libiconvlist);
-__weak_reference(iconvctl, libiconvctl);
-__weak_reference(iconv_set_relocation_prefix, libiconv_set_relocation_prefix);
-__weak_reference(_iconv_version, _libiconv_version);
-#endif
-
 #define ISBADF(_h_)	(!(_h_) || (_h_) == (iconv_t)-1)
 
 int _iconv_version = _ICONV_VERSION;

Modified: stable/10/share/man/man5/src.conf.5
==============================================================================
--- stable/10/share/man/man5/src.conf.5	Sat Nov 16 17:17:23 2013	(r258229)
+++ stable/10/share/man/man5/src.conf.5	Sat Nov 16 18:40:44 2013	(r258230)
@@ -1,7 +1,7 @@
 .\" DO NOT EDIT-- this file is automatically generated.
 .\" from FreeBSD: stable/10/tools/build/options/makeman 255964 2013-10-01 07:22:04Z des
 .\" $FreeBSD$
-.Dd November 6, 2013
+.Dd November 11, 2013
 .Dt SRC.CONF 5
 .Os
 .Sh NAME
@@ -471,12 +471,6 @@ Set to not build HTML docs.
 .It Va WITHOUT_ICONV
 .\" from FreeBSD: stable/10/tools/build/options/WITHOUT_ICONV 254919 2013-08-26 17:15:56Z antoine
 Set to not build iconv as part of libc.
-When set, it also enforces the following options:
-.Pp
-.Bl -item -compact
-.It
-.Va WITHOUT_LIBICONV_COMPAT
-.El
 .It Va WITHOUT_INET
 .\" from FreeBSD: stable/10/tools/build/options/WITHOUT_INET 221266 2011-04-30 17:58:28Z bz
 Set to not build programs and libraries related to IPv4 networking.
@@ -633,9 +627,6 @@ runtime linker.
 .It Va WITHOUT_LIBCPLUSPLUS
 .\" from FreeBSD: stable/10/tools/build/options/WITHOUT_LIBCPLUSPLUS 246262 2013-02-02 22:42:46Z dim
 Set to avoid building libcxxrt and libc++.
-.It Va WITH_LIBICONV_COMPAT
-.\" from FreeBSD: stable/10/tools/build/options/WITH_LIBICONV_COMPAT 254919 2013-08-26 17:15:56Z antoine
-Set to build libiconv API and link time compatibility.
 .It Va WITHOUT_LIBPTHREAD
 .\" from FreeBSD: stable/10/tools/build/options/WITHOUT_LIBPTHREAD 188848 2009-02-20 11:09:55Z mtm
 Set to not build the

Modified: stable/10/share/mk/bsd.own.mk
==============================================================================
--- stable/10/share/mk/bsd.own.mk	Sat Nov 16 17:17:23 2013	(r258229)
+++ stable/10/share/mk/bsd.own.mk	Sat Nov 16 18:40:44 2013	(r258230)
@@ -368,7 +368,6 @@ __DEFAULT_NO_OPTIONS = \
     DEBUG_FILES \
     GPL_DTC \
     HESIOD \
-    LIBICONV_COMPAT \
     INSTALL_AS_USER \
     LLDB \
     NAND \
@@ -491,10 +490,6 @@ MK_${var}:=	no
 MK_LIBTHR:=	no
 .endif
 
-.if ${MK_ICONV} == "no"
-MK_LIBICONV_COMPAT:=	no
-.endif
-
 .if ${MK_LDNS} == "no"
 MK_LDNS_UTILS:=	no
 MK_UNBOUND:= no

Modified: stable/10/tools/build/mk/OptionalObsoleteFiles.inc
==============================================================================
--- stable/10/tools/build/mk/OptionalObsoleteFiles.inc	Sat Nov 16 17:17:23 2013	(r258229)
+++ stable/10/tools/build/mk/OptionalObsoleteFiles.inc	Sat Nov 16 18:40:44 2013	(r258230)
@@ -3190,13 +3190,6 @@ OLD_FILES+=usr/share/man/man1/host.1.gz
 # to be filled in
 #.endif
 
-.if ${MK_LIBICONV_COMPAT} == no
-OLD_FILES+=usr/lib/libiconv.a
-OLD_FILES+=usr/lib/libiconv.so
-OLD_FILES+=usr/lib/libiconv.so.3
-OLD_FILES+=usr/lib/libiconv_p.a
-.endif
-
 .if ${MK_LIBCPLUSPLUS} == no
 OLD_LIBS+=lib/libcxxrt.so.1
 OLD_FILES+=usr/lib/libc++.a



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201311161840.rAGIejxA021994>