diff options
Diffstat (limited to 'ldso/include/ldso.h')
-rw-r--r-- | ldso/include/ldso.h | 23 |
1 files changed, 16 insertions, 7 deletions
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 <assert.h> +# define _dl_assert(expr) assert(expr) +#endif #ifdef __SUPPORT_LD_DEBUG_EARLY__ # define _dl_debug_early(fmt, args...) __dl_debug_dprint(fmt, ## args) |