[rtems-libbsd commit] Fix warnings for linker sets

Sebastian Huber sebh at rtems.org
Wed Nov 9 09:01:10 UTC 2016


Module:    rtems-libbsd
Branch:    master
Commit:    cc8f00d614145bee1a806f7a171279380de7773f
Changeset: http://git.rtems.org/rtems-libbsd/commit/?id=cc8f00d614145bee1a806f7a171279380de7773f

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Wed Nov  9 09:56:01 2016 +0100

Fix warnings for linker sets

---

 freebsd/sys/sys/linker_set.h | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/freebsd/sys/sys/linker_set.h b/freebsd/sys/sys/linker_set.h
index 4dedcd9..c403d76 100644
--- a/freebsd/sys/sys/linker_set.h
+++ b/freebsd/sys/sys/linker_set.h
@@ -126,19 +126,21 @@
 #define RWSET_DECLARE(set, ptype)					\
 	RTEMS_BSD_DECLARE_RWSET(set, ptype *)
 
-static __inline void *
+static __inline __uintptr_t
 _linker_set_obfuscate(const void *marker)
 {
 
 	/* Obfuscate the variable, so that the compiler cannot optimize */
 	__asm__("" : "+r" (marker));
-	return (__DECONST(void *, marker));
+	return ((__uintptr_t)marker);
 }
 
 #define SET_BEGIN(set)							\
-	_linker_set_obfuscate(__CONCAT(_bsd__start_set_,set))
+	((__typeof(&__CONCAT(_bsd__start_set_,set)[0]))			\
+	     _linker_set_obfuscate(__CONCAT(_bsd__start_set_,set)))
 #define SET_LIMIT(set)							\
-	_linker_set_obfuscate(__CONCAT(_bsd__stop_set_,set))
+	((__typeof(&__CONCAT(_bsd__stop_set_,set)[0]))			\
+	     _linker_set_obfuscate(__CONCAT(_bsd__stop_set_,set)))
 #endif /* __rtems__ */
 
 /*




More information about the vc mailing list