+ if (lowest_segments[0] == NULL || (void *)start < lowest_segments[0])
+ lowest_segments[0] = (void *)start;
+ else if (lowest_segments[1] == NULL
+ && (char *)start - (char *)lowest_segments[0] > 0x800000)
+ {
+ // an offset is needed because ld-linux also
+ // tends to put stuff here
+ lowest_segments[1] = (void *)(start - 0x20000);
+ }