binutils-2.15 - work around for gcc optimization problem on sparc -sun-solaris2.7
Nick Clifton
nickc@redhat.com
Wed Jul 14 13:58:00 GMT 2004
Hi Eric,
[oops - pressed send by mistake. here is the reply I meant to write...]
>>Maybe... It involves arithmetic comparisons of pointers to separately
>>allocated objects, which is a bit dubious in the first place.
> Note that it doesn't compare pointers directly, but first performs a
> substraction on pointers which is strictly specified by C99 6.5.6 §9: "When
> two pointers are substracted, both shall point to elements of the same array
> object, or one past the last element of the array object; the result is the
> difference of the subscripts of the two array elements."
Which is OK if the two pointers a re both pointing to elements of the
same array. If however they are pointing to malloc()'ed structures for
example then the semantics are not defined. So the problem with
elf_sort_symbol() was that it was comparing pointers to entities that
were not part of a single array...
Cheers
Nick
More information about the Gcc-bugs
mailing list