svn commit: r215137 - head/sys/sys

Dimitry Andric dim at FreeBSD.org
Thu Nov 11 19:18:00 UTC 2010


Author: dim
Date: Thu Nov 11 19:17:59 2010
New Revision: 215137
URL: http://svn.freebsd.org/changeset/base/215137

Log:
  Revert r103230, which depended on ld preserving the __start_xxx and
  __stop_xxx symbols for custom sections, even when these were not
  referenced (at link time).  This behaviour was changed again in binutils
  commit 0b8ed435c3fe8bd09a08c23920e65bfb03251221.
  
  This time, put the __GLOBL macro definition in cdefs.h, so it can be
  reused in a few other places where it will be needed.
  
  Reviewed by:	kib

Modified:
  head/sys/sys/cdefs.h
  head/sys/sys/linker_set.h

Modified: head/sys/sys/cdefs.h
==============================================================================
--- head/sys/sys/cdefs.h	Thu Nov 11 19:13:16 2010	(r215136)
+++ head/sys/sys/cdefs.h	Thu Nov 11 19:17:59 2010	(r215137)
@@ -401,6 +401,9 @@
 #endif	/* __STDC__ */
 #endif	/* __GNUC__ || __INTEL_COMPILER */
 
+#define	__GLOBL1(sym)	__asm__(".globl " #sym)
+#define	__GLOBL(sym)	__GLOBL1(sym)
+
 #if defined(__GNUC__) || defined(__INTEL_COMPILER)
 #define	__IDSTRING(name,string)	__asm__(".ident\t\"" string "\"")
 #else

Modified: head/sys/sys/linker_set.h
==============================================================================
--- head/sys/sys/linker_set.h	Thu Nov 11 19:13:16 2010	(r215136)
+++ head/sys/sys/linker_set.h	Thu Nov 11 19:17:59 2010	(r215137)
@@ -45,6 +45,8 @@
  */
 #ifdef __GNUCLIKE___SECTION
 #define __MAKE_SET(set, sym)						\
+	__GLOBL(__CONCAT(__start_set_,set));				\
+	__GLOBL(__CONCAT(__stop_set_,set));				\
 	static void const * const __set_##set##_sym_##sym 		\
 	__section("set_" #set) __used = &sym
 #else /* !__GNUCLIKE___SECTION */


More information about the svn-src-head mailing list