This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Feedback after compiling with GCC and ICC


Hi all. Tried to build binutils 2.22 with GCC4.2.2, GCC4.7.0, ICC12.1.3 on SUSE10 and here are the results..


GCC4.2.2 with --target=i686-unknown-linux-gnu crashes with ICE
arm.cc:11999:?? instantiated from here
arm.cc:2173: internal compiler error: in make_rtl_for_nonlocal_decl, at cp/decl.c:4970


It's not liking this

// When were are relocating a stub, we pass this as the relocation number.
static const size_t fake_relnum_for_stubs = static_cast<size_t>(-1);


GCC4.7.0 with --target=i686-unknown-linux-gnu will not compile

i386-dis.c: In function 'print_insn':
i386-dis.c:11334:17: error: array subscript is above array bounds [-Werror=array-bounds]


ICC 12.1.3 compiles with these patches
cache.c(440): error #1338: arithmetic on pointer to void or function type
??????????? ret += offset & pagesize_m1;

> diff bfd/cache.c
 ../binutils-2.22.icc/bfd/cache.c
440c440
<?????????? ret += offset & pagesize_m1;
---
#ifdef? __INTEL_COMPILER????????? 
????????? (uintptr_t)ret += offset & pagesize_m1;
#else
????????? ret += offset & pagesize_m1;
#endif????????? 

config/tc-i386.c(1200): error #175: subscript out of range
??????? if (x->array[2])

??? ??? 
> diff config/tc-i386.c? ../binutils-2.22.icc/config/tc-i386.c

<
static INLINE int
operand_type_all_zero (const union i386_operand_type *x)
{
? switch (ARRAY_SIZE(x->array))
??? {
??? case
 3:
????? if (x->array[2])
??? return 0;
??? case 2:
????? if (x->array[1])
??? return 0;
??? case 1:
????? return !x->array[0];
??? default:
????? abort ();
??? }
}
>
static INLINE int
operand_type_all_zero (const union i386_operand_type *x)
{
? int idx = 0;
? switch (ARRAY_SIZE(x->array))
??? {
??? case 3:
????? idx = 2;
????? break;
??? case 2:
????? idx = 1;
????? break;
??? case 1:
????? idx = 0;
????? break;
???
 default:
????? abort ();
??? }
? for (; idx >= 0; --idx)
??? if (x->array[idx])
??? return 0;
? return 1;??? 
}

errors.h(91): error: argument for attribute "nonnull" is larger than number of parameters
??? debug(const char* format, ...) ATTRIBUTE_PRINTF_2;
incremental.h(1335): error: argument for attribute "nonnull" is larger than number of parameters
??? error(const char* format, ...) const ATTRIBUTE_PRINTF_2;
??? 
> diff gold/object.h? ../binutils-2.22.icc/gold/object.h
<?? error(const char* format, ...) const ATTRIBUTE_PRINTF_2;
---
> #ifdef? __INTEL_COMPILER
>?? error(const char* format, ...) const /*ATTRIBUTE_PRINTF_2*/;
> #else
>?? void
>?? error(const char* format, ...)
 const ATTRIBUTE_PRINTF_2;
> #endif? 

./../include/demangle.h(122): error #411: class "demangler_engine" defines no constructor to initialize the following:
??????????? const member "demangler_engine::demangling_style_name"
??????????? const member "demangler_engine::demangling_style"
??????????? const member "demangler_engine::demangling_style_doc"
? extern const struct demangler_engine

> diff include/demangle.h ../binutils-2.22.icc/include/demangle.h 
126a127,130
> #ifdef __cplusplus? 
>?? explicit demangler_engine(const char *const n, const enum demangling_styles s, const char *const d) :
>???? demangling_style_name(n), demangling_style(s), demangling_style_doc(d) {}
> #endif? 


> diff ld/ldlang.c? ../binutils-2.22.icc/ld/ldlang.c
3216c3216
< open_input_bfds (lang_statement_union_type *s, enum open_bfd_mode mode)
---
> open_input_bfds (lang_statement_union_type *s, int mode)
3249c3249
<??????????????????????????????? mode | OPEN_BFD_FORCE);
---
>??????????????????????????????? mode | 1);


> diff ld/plugin.c? ../binutils-2.22.icc/ld/plugin.c
801c801
<?????? ld_plugin_onload onloadfn = dlsym (curplug->dlhandle, "onload");
---
>?????? ld_plugin_onload onloadfn =
 (ld_plugin_onload) dlsym (curplug->dlhandle, "onload");
803c803
<?????? onloadfn = dlsym (curplug->dlhandle, "_onload");
---
>?????? onloadfn = (ld_plugin_onload) dlsym (curplug->dlhandle, "_onload");


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]