This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
Please install 64bit patches.
- To: binutils at sourceware dot cygnus dot com, hjl at varesearch dot com
- Subject: Please install 64bit patches.
- From: Brad Lucier <lucier at math dot purdue dot edu>
- Date: Sun, 17 Oct 1999 15:00:09 -0500 (EST)
- Cc: hosking at cs dot purdue dot edu, lucier at math dot purdue dot edu, staff at math dot purdue dot edu
When trying to build H. J. Lu's binutils-2.9.5.0.16 on alpha linux
(RH 6.0) it comes up with worrying error messages related to some
files not being 64-bit clean. Here are the specific warnings:
../../binutils/readelf.c: In function `dynamic_segment_parisc_val':
../../binutils/readelf.c:3487: warning: field width is not type int (arg 3)
../../binutils/readelf.c:3535: warning: field width is not type int (arg 3)
../../binutils/readelf.c:3589: warning: field width is not type int (arg 3)
../../binutils/readelf.c:3634: warning: field width is not type int (arg 3)
../../binutils/readelf.c: In function `process_mips_specific':
../../binutils/readelf.c:6277: warning: int format, different type arg (arg 2)
../../binutils/readelf.c:6297: warning: int format, different type arg (arg 2)
../../binutils/readelf.c:6577: warning: unsigned int format, different type arg (arg 2)
../../gas/dwarf2dbg.c: In function `print_stats':
../../gas/dwarf2dbg.c:642: warning: unsigned int format, different type arg (arg 3)
../../gprof/i386.c: In function `i386_find_call':
../../gprof/i386.c:71: warning: unsigned int format, different type arg (arg 2)
../../gprof/vax.c: In function `vax_find_call':
../../gprof/vax.c:268: warning: unsigned int format, different type arg (arg 2)
../../gprof/tahoe.c: In function `tahoe_find_call':
../../gprof/tahoe.c:264: warning: unsigned int format, different type arg (arg 2)
I've included patches below that may fix these problems; can someone please
review them and install them if they're correct?
The following warnings are also troubling, but I don't know how to fix
them:
../../libiberty/pexecute.c: In function `pexecute':
../../libiberty/pexecute.c:623: warning: variable `func' might be clobbered by `longjmp' or `vfork'
../../libiberty/pexecute.c:626: warning: variable `output_desc' might be clobbered by `longjmp' or `vfork'
../../libiberty/pexecute.c:627: warning: variable `retries' might be clobbered by `longjmp' or `vfork'
../../libiberty/pexecute.c:627: warning: variable `sleep_interval' might be clobbered by `longjmp' or `vfork'
../../opcodes/alpha-opc.c:84: warning: missing initializer for `alpha_operands[0].extract'
../../gas/config/tc-alpha.c:470: warning: missing initializer for `cpu_types[16].flags'
ealpha.c:78: warning: missing initializer for `ld_alpha_emulation.finish'
Brad Lucier
===================================================================
RCS file: RCS/readelf.c,v
retrieving revision 1.1
diff -c -r1.1 readelf.c
*** readelf.c 1999/10/17 19:13:03 1.1
--- readelf.c 1999/10/17 19:42:40
***************
*** 3482,3488 ****
nn += printf ("(%s%-*s",
strtab + ivna.vna_name,
! 12 - strlen (strtab
+ ivna.vna_name),
")");
break;
--- 3482,3488 ----
nn += printf ("(%s%-*s",
strtab + ivna.vna_name,
! 12 - (int)strlen (strtab
+ ivna.vna_name),
")");
break;
***************
*** 3530,3536 ****
printf ("(%s%-*s",
strtab + ivda.vda_name,
12
! - strlen (strtab
+ ivda.vda_name),
")");
}
--- 3530,3536 ----
printf ("(%s%-*s",
strtab + ivda.vda_name,
12
! - (int) strlen (strtab
+ ivda.vda_name),
")");
}
***************
*** 3584,3590 ****
nn += printf ("(%s%-*s",
strtab + ivna.vna_name,
! 12 - strlen (strtab
+ ivna.vna_name),
")");
break;
--- 3584,3590 ----
nn += printf ("(%s%-*s",
strtab + ivna.vna_name,
! 12 - (int) strlen (strtab
+ ivna.vna_name),
")");
break;
***************
*** 3629,3635 ****
nn += printf ("(%s%-*s",
strtab + ivda.vda_name,
! 12 - strlen (strtab
+ ivda.vda_name),
")");
}
--- 3629,3635 ----
nn += printf ("(%s%-*s",
strtab + ivda.vda_name,
! 12 - (int) strlen (strtab
+ ivda.vda_name),
")");
}
***************
*** 6274,6280 ****
GET_DATA_ALLOC (liblist_offset, liblistno * sizeof (Elf32_External_Lib),
elib, Elf32_External_Lib *, "liblist");
! printf ("\nSection '.liblist' contains %d entries:\n", liblistno);
fputs (" Library Time Stamp Checksum Version Flags\n",
stdout);
--- 6274,6280 ----
GET_DATA_ALLOC (liblist_offset, liblistno * sizeof (Elf32_External_Lib),
elib, Elf32_External_Lib *, "liblist");
! printf ("\nSection '.liblist' contains %d entries:\n", (int) liblistno);
fputs (" Library Time Stamp Checksum Version Flags\n",
stdout);
***************
*** 6292,6298 ****
strftime (timebuf, 20, "%Y-%m-%dT%H:%M:%S", gmtime (&time));
! printf ("%3d: %-20s %s %#10lx %-7ld", cnt,
dynamic_strings + liblist.l_name, timebuf,
liblist.l_checksum, liblist.l_version);
--- 6292,6298 ----
strftime (timebuf, 20, "%Y-%m-%dT%H:%M:%S", gmtime (&time));
! printf ("%3d: %-20s %s %#10lx %-7ld", (int) cnt,
dynamic_strings + liblist.l_name, timebuf,
liblist.l_checksum, liblist.l_version);
***************
*** 6573,6579 ****
Elf_Internal_Sym * psym = &dynamic_symbols[iconf[cnt]];
printf ("%5u: %8lu %#10lx %s\n",
! cnt, iconf[cnt], (unsigned long) psym->st_value,
dynamic_strings + psym->st_name);
}
--- 6573,6579 ----
Elf_Internal_Sym * psym = &dynamic_symbols[iconf[cnt]];
printf ("%5u: %8lu %#10lx %s\n",
! (unsigned int) cnt, iconf[cnt], (unsigned long) psym->st_value,
dynamic_strings + psym->st_name);
}
===================================================================
RCS file: RCS/dwarf2dbg.c,v
retrieving revision 1.1
diff -c -r1.1 dwarf2dbg.c
*** dwarf2dbg.c 1999/10/17 19:18:56 1.1
--- dwarf2dbg.c 1999/10/17 19:20:18
***************
*** 639,645 ****
j = SPECIAL_LINE (i);
if (j == DWARF2_LINE_BASE)
fprintf (stderr, "\n%4u: ",
! DWARF2_LINE_MIN_INSN_LENGTH*SPECIAL_ADDR (i));
fprintf (stderr, " %2u", ls.opcode_hist[i]);
}
fprintf (stderr, "\n");
--- 639,645 ----
j = SPECIAL_LINE (i);
if (j == DWARF2_LINE_BASE)
fprintf (stderr, "\n%4u: ",
! (unsigned int)(DWARF2_LINE_MIN_INSN_LENGTH*SPECIAL_ADDR (i)));
fprintf (stderr, " %2u", ls.opcode_hist[i]);
}
fprintf (stderr, "\n");
RCS file: RCS/i386.c,v
retrieving revision 1.1
diff -c -r1.1 i386.c
*** i386.c 1999/10/17 19:21:36 1.1
--- i386.c 1999/10/17 19:23:02
***************
*** 67,73 ****
if (i386_iscall (instructp))
{
DBG (CALLDEBUG,
! printf ("[findcall]\t0x%x:call",
instructp - (unsigned char *) delta));
/*
* regular pc relative addressing
--- 67,73 ----
if (i386_iscall (instructp))
{
DBG (CALLDEBUG,
! printf ("[findcall]\t0x%lx:call",
instructp - (unsigned char *) delta));
/*
* regular pc relative addressing
===================================================================
RCS file: RCS/tahoe.c,v
retrieving revision 1.1
diff -c -r1.1 tahoe.c
*** tahoe.c 1999/10/17 19:23:45 1.1
--- tahoe.c 1999/10/17 19:24:23
***************
*** 260,266 ****
* maybe a callf, better check it out.
* skip the count of the number of arguments.
*/
! DBG (CALLDEBUG, printf ("[findcall]\t0x%x:callf",
instructp - (unsigned char *) core_text_space));
firstmode = tahoe_operandmode (instructp + length);
switch (firstmode)
--- 260,266 ----
* maybe a callf, better check it out.
* skip the count of the number of arguments.
*/
! DBG (CALLDEBUG, printf ("[findcall]\t0x%lx:callf",
instructp - (unsigned char *) core_text_space));
firstmode = tahoe_operandmode (instructp + length);
switch (firstmode)
===================================================================
RCS file: RCS/vax.c,v
retrieving revision 1.1
diff -c -r1.1 vax.c
*** vax.c 1999/10/17 19:23:02 1.1
--- vax.c 1999/10/17 19:23:40
***************
*** 264,270 ****
* skip the count of the number of arguments.
*/
DBG (CALLDEBUG,
! printf ("[findcall]\t0x%x:calls",
instructp - (unsigned char *) core_text_space));
firstmode = vax_operandmode ((struct modebyte *) (instructp + length));
switch (firstmode)
--- 264,270 ----
* skip the count of the number of arguments.
*/
DBG (CALLDEBUG,
! printf ("[findcall]\t0x%lx:calls",
instructp - (unsigned char *) core_text_space));
firstmode = vax_operandmode ((struct modebyte *) (instructp + length));
switch (firstmode)