Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
you may have hard times trying to link code that does things like "(tss_struct >> 16) & 0xff", especially if tss_struct is in one section (e.g. data) and code in another section (e.g. text).
You're probably better to load tss_struct in one register (e.g. ecx) and then do things like
Pype.Clicker wrote:
you may have hard times trying to link code that does things like "(tss_struct >> 16) & 0xff", especially if tss_struct is in one section (e.g. data) and code in another section (e.g. text).
If your linker is broken, why use it? ;D
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
^_^ I wish it was just something wrong with the linker, but actually it's not: it's something wrong with the code that you often encounter when filling descriptors.
The linker has to perform some address adjustments with symbols which are based on relocation lists. Those list can express things like "the address of MyFunction is stored at offset 12345678" or "relative offset to MyFunction stored at offset 12345678", but it certainly have no way to express that "((address of MyFunction)>>16) & 0xFF is stored at offset 12345678".
I'm not even certain that having tss_struct and the code in the same section would actually help.
Pype.Clicker wrote:
^_^ I wish it was just something wrong with the linker, but actually it's not: it's something wrong with the code that you often encounter when filling descriptors.
Perhaps I should rephrase - if all linkers are broken, and if the entire concept of linking seperate object files makes them broken, then why use a broken tool chain?
I've never had problems like this, but then I never use linkers for anything important.
BTW - don't overlook the ;D in my previous post - it has significance...
Cheers,
Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.