Postby VLCwin7User » 17 Nov 2017 07:21
Well, I will certainly not engage in a battle for the "last word". But, I don't want to leave a couple of things unanswered.
The first thing that occurs to me is that this is the "Windows" forum. So, Microsoft's approach is certainly material.
I sampled the files from the VLC project, and it appears that all of the VLC dlls, and all of the Microsoft dlls include the .reloc data. It is only the vlc.exe that has the .reloc stripped, one module. (That is the Mingw default. That used to be the Visual Studio default.) It is quite clear, whatever philosophy differences exist, that the Windows OS embraces ASLR and that the Windows dlls called in by VLC embrace an ASLR approach.
Where I come from, there is a saying "In Rome, do as the Romans do". Well, maybe in Microsoft land, which we are certainly in, in the VLC Windows category, ... "In Microsoft land, do as Microsoft does, especially when it only involves one module, namely vlc.exe".
The ASLR issue relates to the OP's initial issue, which is why, 64 bit versus 32 bit. I would still say, if it is a tie in the user experience, go 64 bit. But, there are things that could enhanced the argument for 64 bit, by adding to the one and only module that doesn't include the .reloc information so that ASLR operates correctly.
From what I hear, ASLR only slows loading. Once loaded, programs should operate at the same speed. Firefox, Palemoon, Chromium, etc seem to work on Windows with ASLR without an issue. PIE is linux, but ASLR is Windows. And it only requires one dummy dll declaration in one module to enable it in VLC under Mingw.