Besides the obvious pointer<-> int tasks: (using intptr/nativeint/ptrint etc)
- Anything that you have as a binary blob (DLLs maybe OCX etc) need to be upgraded. This might include old SDKs for dongles etc.
- All tools that do something on binary level (debuggers,profilers, phone home tools) might need updates.
- Nearly all assembler and other very lowlevel tricks (e.g. dependant on VMT layout, debug format (tracebacks) dynamic loading stubs like in Jedi Apilib etc) needs to be updated
- check all own created headers for changes in packing and mistranslations that matter now pointer<>integer. The packing bit must not be underestimated
- Interfacing with Office and other external apps might change
- TComponent.tag is a longint now, and thus might remain longint, meaning that schemes that stuff pointers into component.tag may fail.
- x87 FPU is deprecated on x64, and in general SSE2 will be used for florating point. so floating point and its exception handling might work slightly differently, and extended might not be 80-bit (but 64-bit or, less likely 128-bit). This also relates to the usual rounding (copro controlwork) changes when interfacing wiht C code that expects a different fpu word.
The packing of records problem is something I noticed when porting existing headers to win64.