From owner-svn-src-head@FreeBSD.ORG Sun Nov 3 19:04:59 2013 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 2E650C21; Sun, 3 Nov 2013 19:04:59 +0000 (UTC) (envelope-from peter@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 196462D31; Sun, 3 Nov 2013 19:04:59 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id rA3J4wNm097306; Sun, 3 Nov 2013 19:04:58 GMT (envelope-from peter@svn.freebsd.org) Received: (from peter@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id rA3J4vwG097297; Sun, 3 Nov 2013 19:04:57 GMT (envelope-from peter@svn.freebsd.org) Message-Id: <201311031904.rA3J4vwG097297@svn.freebsd.org> From: Peter Wemm Date: Sun, 3 Nov 2013 19:04:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r257583 - in head: . include lib lib/libc/iconv lib/libiconv_compat share/mk tools/build/mk X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 Nov 2013 19:04:59 -0000 Author: peter Date: Sun Nov 3 19:04:57 2013 New Revision: 257583 URL: http://svnweb.freebsd.org/changeset/base/257583 Log: 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. Deleted: head/lib/libiconv_compat/ Modified: head/ObsoleteFiles.inc head/include/Makefile head/include/iconv.h head/lib/Makefile head/lib/libc/iconv/Symbol.map head/lib/libc/iconv/iconv.c head/share/mk/bsd.own.mk head/tools/build/mk/OptionalObsoleteFiles.inc Modified: head/ObsoleteFiles.inc ============================================================================== --- head/ObsoleteFiles.inc Sun Nov 3 19:02:18 2013 (r257582) +++ head/ObsoleteFiles.inc Sun Nov 3 19:04:57 2013 (r257583) @@ -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 # 20131103: removal of utxrm(8), use 'utx rm' instead. OLD_FILES+=usr/sbin/utxrm OLD_FILES+=usr/share/man/man8/utxrm.8.gz Modified: head/include/Makefile ============================================================================== --- head/include/Makefile Sun Nov 3 19:02:18 2013 (r257582) +++ head/include/Makefile Sun Nov 3 19:04:57 2013 (r257583) @@ -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: head/include/iconv.h ============================================================================== --- head/include/iconv.h Sun Nov 3 19:02:18 2013 (r257582) +++ head/include/iconv.h Sun Nov 3 19:04:57 2013 (r257583) @@ -40,13 +40,6 @@ #include #include -#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: head/lib/Makefile ============================================================================== --- head/lib/Makefile Sun Nov 3 19:02:18 2013 (r257582) +++ head/lib/Makefile Sun Nov 3 19:04:57 2013 (r257583) @@ -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: head/lib/libc/iconv/Symbol.map ============================================================================== --- head/lib/libc/iconv/Symbol.map Sun Nov 3 19:02:18 2013 (r257582) +++ head/lib/libc/iconv/Symbol.map Sun Nov 3 19:04:57 2013 (r257583) @@ -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: head/lib/libc/iconv/iconv.c ============================================================================== --- head/lib/libc/iconv/iconv.c Sun Nov 3 19:02:18 2013 (r257582) +++ head/lib/libc/iconv/iconv.c Sun Nov 3 19:04:57 2013 (r257583) @@ -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: head/share/mk/bsd.own.mk ============================================================================== --- head/share/mk/bsd.own.mk Sun Nov 3 19:02:18 2013 (r257582) +++ head/share/mk/bsd.own.mk Sun Nov 3 19:04:57 2013 (r257583) @@ -368,7 +368,6 @@ __DEFAULT_NO_OPTIONS = \ DEBUG_FILES \ GPL_DTC \ HESIOD \ - LIBICONV_COMPAT \ INSTALL_AS_USER \ LLDB \ NAND \ @@ -492,10 +491,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: head/tools/build/mk/OptionalObsoleteFiles.inc ============================================================================== --- head/tools/build/mk/OptionalObsoleteFiles.inc Sun Nov 3 19:02:18 2013 (r257582) +++ head/tools/build/mk/OptionalObsoleteFiles.inc Sun Nov 3 19:04:57 2013 (r257583) @@ -3136,13 +3136,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