Hi Danilo, On Mon, 2 Dec 2024 at 11:06, Danilo <[email protected]> wrote: > [ ... snip ... ] > Does someone have a hunch from looking at that diffoscope output on what > the reason could be? I already set /Brepro, /DEBUG:NONE and > /INCREMENTAL:NO, see > https://github.com/threema-ch/node-argon2/blob/9bcd7f73805d9ea3aef318db40d40581e2fc2577/binding.gyp#L17-L23
I'm not an expert on the relevant toolchains here, but I do note that since a file hash noted in the objdump output is changing, we may expect that to be caused by the differences in the other files -- making an assumption that they are included in the hash input. In particular, I reckon the assembly code -- and the LEA (load effective address, if I understand correctly) instructions that differ are likely to be the problem. I don't know why the compiler is producing different values as arguments to those instructions -- nor where in the source code is the relevant high-level-language code that produces those assembly instructions -- but that's where I'd begin investigating. If you're able to open the argon2.node file in an assembly-code viewer and locate those instructions, you may be able to find clues in the preceding/subsequent instructions that can help you narrow down where in the source code they originate from. Regards, James
