From b4db2019624a08a530e6d0f4376fad3705bf4b05 Mon Sep 17 00:00:00 2001 From: Carmelo Amoroso Date: Fri, 9 Nov 2007 09:17:35 +0000 Subject: Define _dl_assert in libdl only if __DOASSERTS__ is defined. Thanks to Peter Mazinger --- ldso/include/ldso.h | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) (limited to 'ldso/include/ldso.h') diff --git a/ldso/include/ldso.h b/ldso/include/ldso.h index d96d137e9..97f54b72c 100644 --- a/ldso/include/ldso.h +++ b/ldso/include/ldso.h @@ -65,20 +65,29 @@ extern int _dl_debug_file; # define __dl_debug_dprint(fmt, args...) \ _dl_dprintf(_dl_debug_file, "%s:%i: " fmt, __FUNCTION__, __LINE__, ## args); # define _dl_if_debug_dprint(fmt, args...) \ - do { if (_dl_debug) __dl_debug_dprint(fmt, ## args); } while (0) -# define _dl_assert(expr) \ + do { if (_dl_debug) __dl_debug_dprint(fmt, ## args); } while (0) +#else +# define __dl_debug_dprint(fmt, args...) +# define _dl_if_debug_dprint(fmt, args...) +# define _dl_debug_file 2 +#endif /* __SUPPORT_LD_DEBUG__ */ + +#ifdef IS_IN_rtld +# ifdef __SUPPORT_LD_DEBUG__ +# define _dl_assert(expr) \ do { \ if (!(expr)) { \ __dl_debug_dprint("assert(%s)\n", #expr); \ _dl_exit(45); \ } \ } while (0) +# else +# define _dl_assert(expr) ((void)0) +# endif #else -# define __dl_debug_dprint(fmt, args...) -# define _dl_if_debug_dprint(fmt, args...) -# define _dl_assert(expr) -# define _dl_debug_file 2 -#endif /* __SUPPORT_LD_DEBUG__ */ +# include +# define _dl_assert(expr) assert(expr) +#endif #ifdef __SUPPORT_LD_DEBUG_EARLY__ # define _dl_debug_early(fmt, args...) __dl_debug_dprint(fmt, ## args) -- cgit v1.2.3