diff --git a/libm/freebsd-compat.h b/libm/freebsd-compat.h
index c63d4072aa8fc223875417bb1c43286966774ae7..a4dd6c2c771f06e6b09847d39b6dbf416eea7e85 100644 (file)
--- a/libm/freebsd-compat.h
+++ b/libm/freebsd-compat.h
#ifndef _BIONIC_LIBM_FREEBSD_COMPAT_H_included
#define _BIONIC_LIBM_FREEBSD_COMPAT_H_included
-#define __weak_reference(sym,alias) \
- /* We don't use __weak_reference; see "fake_long_double.c". */
+#include <float.h>
+
+#define __weak_reference(sym,alias) \
+ __asm__(".weak " #alias); \
+ __asm__(".equ " #alias ", " #sym)
#define __strong_reference(sym,aliassym) \
extern __typeof (sym) aliassym __attribute__ ((__alias__ (#sym)))
+#define __warn_references(sym,msg) /* ignored */
+
/* digittoint is in BSD's <ctype.h>. */
int digittoint(char ch);