summaryrefslogtreecommitdiff
path: root/ldso/ldso/dl-elf.c
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2005-08-29 22:45:11 +0000
committerMike Frysinger <vapier@gentoo.org>2005-08-29 22:45:11 +0000
commitee375653ed779d95d5467b941371fd81ad6399b7 (patch)
tree94e6710c0abc65e579cb797c1bac9255af708469 /ldso/ldso/dl-elf.c
parent7377d34eefccb1a9c0c3728495928c5b30fa4f05 (diff)
some fixes by anemo in Bug 9 to play nicely with 32 or 64 bit hosts
Diffstat (limited to 'ldso/ldso/dl-elf.c')
-rw-r--r--ldso/ldso/dl-elf.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/ldso/ldso/dl-elf.c b/ldso/ldso/dl-elf.c
index 15ba3b947..14a10bc1f 100644
--- a/ldso/ldso/dl-elf.c
+++ b/ldso/ldso/dl-elf.c
@@ -693,7 +693,7 @@ struct elf_resolve *_dl_load_elf_shared_library(int secure,
if (lpnt) {
lpnt = (unsigned long *) (dynamic_info[DT_PLTGOT]);
INIT_GOT(lpnt, tpnt);
- };
+ }
_dl_if_debug_dprint("\n\tfile='%s'; generating link map\n", libname);
_dl_if_debug_dprint("\t\tdynamic: %x base: %x\n", dynamic_addr, libaddr);
@@ -770,7 +770,11 @@ int _dl_fixup(struct dyn_elf *rpnt, int now_flag)
/* Minimal printf which handles only %s, %d, and %x */
void _dl_dprintf(int fd, const char *fmt, ...)
{
- long num;
+#if __WORDSIZE > 32
+ long int num;
+#else
+ int num;
+#endif
va_list args;
char *start, *ptr, *string;
static char *buf;
@@ -818,8 +822,11 @@ void _dl_dprintf(int fd, const char *fmt, ...)
case 'd':
{
char tmp[22];
- num = va_arg(args, long);
-
+#if __WORDSIZE > 32
+ num = va_arg(args, long int);
+#else
+ num = va_arg(args, int);
+#endif
string = _dl_simple_ltoa(tmp, num);
_dl_write(fd, string, _dl_strlen(string));
break;
@@ -828,8 +835,11 @@ void _dl_dprintf(int fd, const char *fmt, ...)
case 'X':
{
char tmp[22];
- num = va_arg(args, long);
-
+#if __WORDSIZE > 32
+ num = va_arg(args, long int);
+#else
+ num = va_arg(args, int);
+#endif
string = _dl_simple_ltoahex(tmp, num);
_dl_write(fd, string, _dl_strlen(string));
break;