pawn-lang / amx_assembly

Interesting #emit stuff
59 stars 14 forks source link

GetAmxAddress on Linux #27

Open Y-Less opened 8 years ago

Y-Less commented 8 years ago

I was looking at porting this function to work on Linux as well, since the comments currently say that it only works on Windows:

https://github.com/Zeex/amx_assembly/blob/af6c7881ab55320cd80647bafecf0c701985c7d4/amx.inc#L51

After decoding the assembly and comparing it to the PAWN ABI on Linux, I realised that the same code should in theory work there. Then I noticed this commit:

https://github.com/Zeex/amx_assembly/commit/ae06f5de5c4bf358784b187f64e191ab8f03e0a9

Which only seems to support my theory. Is it just that the comment is wrong?

Zeex commented 8 years ago

Unfortunately I can't remember why I thought it didn't work on Linux, but I suspect it had something to do with opcode -> address translation in the VM (opcode.inc probably hadn't been invented yet). It's possible that it works now :smiley:

Y-Less commented 8 years ago

OK, I'll test it again (should have done that before asking, but couldn't be bothered to set up a Linux box right then).

Zeex commented 8 years ago

Have you tried Bash on Windows? I heard it can run Linux executables, would be pretty convenient if it worked with SA-MP server.

Edit:

Nope, doesn't work at all. The thing doesn't seem to support 32-bit executables.