Hi,
I am learning these code, and now have 2 questions:
1. at the bottom of relocator_common.S, there is:
LOCAL(jump_vector):
/* Jump location. Is filled by the code */
.long 0
.long CODE_SEGMENT
Since it is offset & segment selector value, why is not ".word
CODE_SEGMENT", is there any subtle difference?
i386 is little endian, so effectively it just reserves 2 bytes more and fills them with zeros.
It's derived from older code that may have had accesses there. But it was tested on many CPUs and changing it risks triggering obscure bug in an obscure CPU