Quasar
Moderator

Posts: 2133
Registered: 08-00 |
EE has not been ported to 64-bit so even if you get it to compile I would not expect it to work. The Doom codebase has serious problems with making data-type size assumptions. If short is not 16-bit, int is not 32-bit, and unsigned long is not 32-bit, most of the engine will stop working. Unfortunately most C compilers have chosen to promote long to a 64-bit type.
The only way to remedy this is to change ALL variables in the program to use C99 portably-sized data types. As you can imagine, that will be quite an undertaking.
Also, EE must be compiled with -fno-strict-aliasing for all GNU compiler targets. Doom has always relied on the ability to alias structure pointers and will continue to do so in order to achieve pseudo-polymorphism. GNU guys need to learn how to support strict aliasing and allow structure pointer casting at the same time IMO.
|