--- binutils-2.19.51/gold/dynobj.cc.orig 2009-02-13 22:04:44.000000000 +0300 +++ binutils-2.19.51/gold/dynobj.cc 2009-04-11 18:28:11.234375000 +0400 @@ -167,7 +167,7 @@ if (*pi != -1U) this->error(_("unexpected duplicate type %u section: %u, %u"), - shdr.get_sh_type(), *pi, i); + static_cast(shdr.get_sh_type()), *pi, i); *pi = i; } --- binutils-2.19.51/gold/object.cc.orig 2009-03-24 21:42:10.000000000 +0300 +++ binutils-2.19.51/gold/object.cc 2009-04-11 18:27:38.343750000 +0400 @@ -645,7 +645,7 @@ if (sym.get_st_name() >= symnamelen) { this->error(_("symbol %u name offset %u out of range"), - symndx, sym.get_st_name()); + symndx, static_cast(sym.get_st_name())); return false; } @@ -712,7 +712,7 @@ if (secnum >= this->shnum()) { this->error(_("section %u in section group %u out of range"), - secnum, index); + static_cast(secnum), index); continue; } @@ -720,7 +720,7 @@ // it wrong--we may have already decided to include the section. if (secnum < index) this->error(_("invalid section group %u refers to earlier section %u"), - index, secnum); + index, static_cast(secnum)); // Get the name of the member section. typename This::Shdr member_shdr(shdrs + secnum * This::shdr_size); @@ -1470,7 +1470,7 @@ if (sym.get_st_name() >= strtab_size) { this->error(_("local symbol %u section name out of range: %u >= %u"), - i, sym.get_st_name(), + i, static_cast(sym.get_st_name()), static_cast(strtab_size)); lv.set_no_output_symtab_entry(); continue;