From owner-svn-src-stable-10@FreeBSD.ORG Sat May 23 20:53:20 2015 Return-Path: Delivered-To: svn-src-stable-10@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 863B3EA5; Sat, 23 May 2015 20:53:20 +0000 (UTC) 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)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 7409B1C89; Sat, 23 May 2015 20:53:20 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t4NKrK6s086343; Sat, 23 May 2015 20:53:20 GMT (envelope-from ian@FreeBSD.org) Received: (from ian@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t4NKrKwJ086341; Sat, 23 May 2015 20:53:20 GMT (envelope-from ian@FreeBSD.org) Message-Id: <201505232053.t4NKrKwJ086341@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: ian set sender to ian@FreeBSD.org using -f From: Ian Lepore Date: Sat, 23 May 2015 20:53:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r283326 - stable/10/sys/sys X-SVN-Group: stable-10 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-stable-10@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for only the 10-stable src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 May 2015 20:53:20 -0000 Author: ian Date: Sat May 23 20:53:19 2015 New Revision: 283326 URL: https://svnweb.freebsd.org/changeset/base/283326 Log: MFC r268137, r268138: Define a "__weak" macro for declaring symbols "weak". Add support for empty data sets. Data set begin and end pointers should resolve to "NULL" when not present. This is done by declaring the data set begin and end symbols as "weak". Modified: stable/10/sys/sys/cdefs.h stable/10/sys/sys/linker_set.h Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/sys/cdefs.h ============================================================================== --- stable/10/sys/sys/cdefs.h Sat May 23 20:29:06 2015 (r283325) +++ stable/10/sys/sys/cdefs.h Sat May 23 20:53:19 2015 (r283326) @@ -213,7 +213,9 @@ #define __packed #define __aligned(x) #define __section(x) +#define __weak #else +#define __weak __attribute__((__weak__)) #if !__GNUC_PREREQ__(2, 5) && !defined(__INTEL_COMPILER) #define __dead2 #define __pure2 Modified: stable/10/sys/sys/linker_set.h ============================================================================== --- stable/10/sys/sys/linker_set.h Sat May 23 20:29:06 2015 (r283325) +++ stable/10/sys/sys/linker_set.h Sat May 23 20:53:19 2015 (r283326) @@ -68,9 +68,9 @@ /* * Initialize before referring to a given linker set. */ -#define SET_DECLARE(set, ptype) \ - extern ptype *__CONCAT(__start_set_,set); \ - extern ptype *__CONCAT(__stop_set_,set) +#define SET_DECLARE(set, ptype) \ + extern ptype __weak *__CONCAT(__start_set_,set); \ + extern ptype __weak *__CONCAT(__stop_set_,set) #define SET_BEGIN(set) \ (&__CONCAT(__start_set_,set))