This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Linker "Improper Fixup" (L121) Error

What causes the linker to generate a L121 error? I recently got one of these and was forced to relocate the "scanf" code to a different memory location using a SECTIONS command because the linker located the scanf code so that its last byte was on a segment boundary (0x45FFFF)in a HLARGE memory model. There was plenty of room left in the FCODE Class for the linker to have placed this elsewhere. What gives?

Parents
  • Sorry, I did do a search but restricted it to C166 issues. All the "fixup" issues were posted to C51 users.

    Now that I have read them I understand the error is in response to a branch instruction that can't be resolved. In my case though, the linker is complaining about a library function (scanf, which I don't use) location in a class whose size has plenty of space. Does this mean that when the stars align just right I can expect this behavior from certain library functions?

    Thanks,
    Barry

Reply
  • Sorry, I did do a search but restricted it to C166 issues. All the "fixup" issues were posted to C51 users.

    Now that I have read them I understand the error is in response to a branch instruction that can't be resolved. In my case though, the linker is complaining about a library function (scanf, which I don't use) location in a class whose size has plenty of space. Does this mean that when the stars align just right I can expect this behavior from certain library functions?

    Thanks,
    Barry

Children
No data