|
@@ -71,8 +71,8 @@ extern char * _dl_find_hash(char * name, struct dyn_elf * rpnt1,
|
|
|
int copyrel);
|
|
|
extern int _dl_linux_dynamic_link(void);
|
|
|
|
|
|
-#ifdef __mc68000__
|
|
|
-/* On m68k constant strings are referenced through the GOT. */
|
|
|
+#if defined mc68000 || defined __arm__
|
|
|
+/* On some arches constant strings are referenced through the GOT. */
|
|
|
/* XXX Requires load_addr to be defined. */
|
|
|
#define SEND_STDERR(X) \
|
|
|
{ const char *__s = (X); \
|
|
@@ -84,22 +84,27 @@ extern int _dl_linux_dynamic_link(void);
|
|
|
#endif
|
|
|
|
|
|
#define SEND_ADDRESS_STDERR(X, add_a_newline) { \
|
|
|
- char tmp[13]; \
|
|
|
- _dl_write(2, _dl_simple_ltoahex_inline( tmp, (unsigned long)(X)), 12); \
|
|
|
+ char tmp[13], *tmp1; \
|
|
|
+ _dl_memset_inline(tmp, 0, sizeof(tmp)); \
|
|
|
+ tmp1=_dl_simple_ltoahex( tmp, (unsigned long)(X)); \
|
|
|
+ _dl_write(2, tmp1, _dl_strlen_inline(tmp1)); \
|
|
|
if (add_a_newline) { \
|
|
|
tmp[0]='\n'; \
|
|
|
_dl_write(2, tmp, 1); \
|
|
|
} \
|
|
|
-};
|
|
|
+};
|
|
|
|
|
|
#define SEND_NUMBER_STDERR(X, add_a_newline) { \
|
|
|
- char tmp[13]; \
|
|
|
- _dl_write(2, (void *)_dl_simple_ltoahex_inline( tmp, (unsigned long)(X)), 12); \
|
|
|
+ char tmp[13], *tmp1; \
|
|
|
+ _dl_memset_inline(tmp, 0, sizeof(tmp)); \
|
|
|
+ tmp1=_dl_simple_ltoahex( tmp, (unsigned long)(X)); \
|
|
|
+ _dl_write(2, tmp1, _dl_strlen_inline(tmp1)); \
|
|
|
if (add_a_newline) { \
|
|
|
tmp[0]='\n'; \
|
|
|
_dl_write(2, tmp, 1); \
|
|
|
} \
|
|
|
-};
|
|
|
+};
|
|
|
+
|
|
|
extern int _dl_fdprintf(int, const char *, ...);
|
|
|
extern char * _dl_library_path;
|
|
|
extern char * _dl_not_lazy;
|