[offtopic] I worked around my build issue by moving the 4coder folder to a different hard drive. This issue confuses me a lot because what seemed to happen was 4coder using a deleted dll (even with no custom dll in the folder it's working somehow), and not using the new one, which doesn't make any sense to me. If anybody as an idea on how such a thing can happen I'd like to know (this is probably a Windows issue, not a 4coder issue).
EDIT: There was a custom layer dll at the root of the hard drive (from a previous build where the custom code wasn't in the correct folder) that was always loaded instead of the new dll at the correct location (which I don't believe is the default behavior of LoadLibrary).[/offtopic]
I was able to reproduce the issue. I think that it's caused by the optimizer seeing that
sq_goto_next_jump and
goto_next_jump contains the exact same code, and so both functions names points to the same memory address and use the same code (not a copy, the exact same bytes in memory). When I added a breakpoint to
sq_goto_next_jump and stepped in it with RemedyBG, it alternated between the two functions source.
4coder probably shows a bindings to
sq_goto_next_jump because is uses the function pointer to identify the entry in the list (it's a guess I didn't actually checked the code), and as both function have the same function pointer, binding one shows the bindings for both. You may want report that on the
4coder github or 4coder discord even if it's not clear if it's a bug.