error lnk2017: 'addr32' relocation to 'runbfr6tbl' invalid without /LARGEARESSAWARE:NO


  • I am coding a x64 program and that include a .asm file in which there is a declaration:

    const segment

    runbfr6tbl db 023h

    db 0d1h

    db 023h

    db 034h

    const ends


    and there is some reference to the runbfr6tbl in the _text segment in the .asm file.


    I compile the program and get the following error:

    error lnk2017: 'addr32' relocation to 'runbfr6tbl' invalid without /LARGEARESSAWARE:NO

    When I select the /LARGEARESSAWARE:NO in linker/system/enable larger address, it is OK.

    What is the right method to fix the problem?

    lundi 7 juin 2010 11:21


  • Hi hurric,

    Are you trying to build a 64-bit image with 32-bit addresses? If it is, you must use a fixed load address, restrict the image to 3 GB, and specify /largeaddressaware:no. Otherwise you will receive Link Error 2017.

    The /LARGEADDRESSAWARE option tells the linker that the application can handle addresses larger than 2 gigabytes.

    I believe you are doing correctly. I hope those information is what you are looking for.



    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    Welcome to the All-In-One Code Framework! If you have any feedback, please tell us.
    mercredi 9 juin 2010 06:32