bootstrappable: Work around MesCC bug.
* tccelf.c (squeeze_multi_relocs): Simplify expressions.
This commit is contained in:
parent
db906d70c5
commit
0c6fdd6a65
8
tccelf.c
8
tccelf.c
|
@ -568,9 +568,13 @@ ST_FUNC void squeeze_multi_relocs(Section *s, size_t oldrelocoffset)
|
|||
a simple insertion sort. */
|
||||
for (a = oldrelocoffset + sizeof(*r); a < sr->data_offset; a += sizeof(*r)) {
|
||||
ssize_t i = a - sizeof(*r);
|
||||
addr = ((ElfW_Rel*)(sr->data + a))->r_offset;
|
||||
///addr = ((ElfW_Rel*)(sr->data + a))->r_offset;
|
||||
ElfW_Rel* ea = (ElfW_Rel*)(sr->data + a);
|
||||
ElfW_Rel* ei = (ElfW_Rel*)(sr->data + i);
|
||||
addr = ea->r_offset;
|
||||
for (; i >= (ssize_t)oldrelocoffset &&
|
||||
((ElfW_Rel*)(sr->data + i))->r_offset > addr; i -= sizeof(*r)) {
|
||||
ei->r_offset > addr; i -= sizeof(*r)) {
|
||||
ei = (ElfW_Rel*)(sr->data + i);
|
||||
ElfW_Rel tmp = *(ElfW_Rel*)(sr->data + a);
|
||||
*(ElfW_Rel*)(sr->data + a) = *(ElfW_Rel*)(sr->data + i);
|
||||
*(ElfW_Rel*)(sr->data + i) = tmp;
|
||||
|
|
Loading…
Reference in New Issue