EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

Metrowerks LinkError. I don't understand the help (or the error).

Started by Paul Johnson March 17, 2003
I am getting the following link error:

Link Error : L1907: Fixup overflow in handleCancel, to putAbort type 3, at
offset 0x27

The help says:

L1907 Fixup overflow in <Object>, type <objType> at offset
<Address>
Description
An illegal relocation of an object is detected in the object file <Object>
at address
<Address>. The type of the object is given in <objType>.
Tips
Check the relocation at that address. The offset may be out of range for
this reloca-
tion type. If not it may be caused by a corrupt object file.
Check if all objects are allocated in the correct area. Is the object
correctly declared?
This error might occur if the zero paged variables are allocated out of
the zero page.

So the object is handleCancel, object type is 3 and offset is 0x27. The
problem is that both "void handleCancel(void)" and "void putAbort(void)" are
in the same file, actually adjacent to each other. Since neither of these
"objects" are specifically located (or relocated) by me, I have no idea what
to check for. The compiler should decide where to place it and what type of
reference (BSR, JSR) to use to call the subroutine.

I am dead in the water on this project at this time because I can't get past
this linker error. I don't even know HOW to "check the relocation at that
address." Would this be in the <file>.lst output, or where?

Thanks in advance,

Paul Johnson
Lynx Robotics
8125 Lankershim Blvd.
North Hollywood, CA 91605
Voice: (818) 252-7890
FAX: (818) 252-7892




Try telling the linker to create a .map file. It contains a LOT of
information. If the error doesn't allow the creation of the map file, tell
the linker (or compiler, where ever it is flagged) that the error is not an
error but a warning, then the map file will get made.

Good luck,
Bob White

----- Original Message -----
From: "Paul Johnson" <>
To: <>
Sent: Monday, March 17, 2003 4:45 PM
Subject: [68HC12] Metrowerks LinkError. I don't understand the help (or the
error). I am getting the following link error:

Link Error : L1907: Fixup overflow in handleCancel, to putAbort type 3, at
offset 0x27

The help says:

L1907 Fixup overflow in <Object>, type <objType> at offset
<Address>
Description
An illegal relocation of an object is detected in the object file <Object>
at address
<Address>. The type of the object is given in <objType>.
Tips
Check the relocation at that address. The offset may be out of range for
this reloca-
tion type. If not it may be caused by a corrupt object file.
Check if all objects are allocated in the correct area. Is the object
correctly declared?
This error might occur if the zero paged variables are allocated out of
the zero page.

So the object is handleCancel, object type is 3 and offset is 0x27. The
problem is that both "void handleCancel(void)" and "void putAbort(void)" are
in the same file, actually adjacent to each other. Since neither of these
"objects" are specifically located (or relocated) by me, I have no idea what
to check for. The compiler should decide where to place it and what type of
reference (BSR, JSR) to use to call the subroutine.

I am dead in the water on this project at this time because I can't get past
this linker error. I don't even know HOW to "check the relocation at that
address." Would this be in the <file>.lst output, or where?

Thanks in advance,

Paul Johnson
Lynx Robotics
8125 Lankershim Blvd.
North Hollywood, CA 91605
Voice: (818) 252-7890
FAX: (818) 252-7892 --------------------
">http://docs.yahoo.com/info/terms/



Disassemble (with the context menu) the function handleCancel, go to offset 0x27,
there will be a reference to putAbort (is this a function?). Somehow the putAbort is too far away from
handleCancel. My guess is that you put one ELF section into multiple placements, and that handleCancel and putAbort did not go into
the same one. Add "-OnB=b" is this is your problem.
Bye

Daniel

> -----Original Message-----
> From: Bob White [mailto:]
> Sent: Tuesday, March 18, 2003 2:16
> To:
> Subject: Re: [68HC12] Metrowerks LinkError. I don't understand the help
> (or the error). > Try telling the linker to create a .map file. It contains a LOT of
> information. If the error doesn't allow the creation of the map file, tell
> the linker (or compiler, where ever it is flagged) that the error is not an
> error but a warning, then the map file will get made.
>
> Good luck,
> Bob White
>
> ----- Original Message -----
> From: "Paul Johnson" <>
> To: <>
> Sent: Monday, March 17, 2003 4:45 PM
> Subject: [68HC12] Metrowerks LinkError. I don't understand the help (or the
> error). > I am getting the following link error:
>
> Link Error : L1907: Fixup overflow in handleCancel, to putAbort type 3, at
> offset 0x27
>
> The help says:
>
> L1907 Fixup overflow in <Object>, type <objType> at offset
> <Address>
> Description
> An illegal relocation of an object is detected in the object file <Object>
> at address
> <Address>. The type of the object is given in <objType>.
> Tips
> Check the relocation at that address. The offset may be out of range for
> this reloca-
> tion type. If not it may be caused by a corrupt object file.
> Check if all objects are allocated in the correct area. Is the object
> correctly declared?
> This error might occur if the zero paged variables are allocated out of
> the zero page.
>
> So the object is handleCancel, object type is 3 and offset is 0x27. The
> problem is that both "void handleCancel(void)" and "void putAbort(void)" are
> in the same file, actually adjacent to each other. Since neither of these
> "objects" are specifically located (or relocated) by me, I have no idea what
> to check for. The compiler should decide where to place it and what type of
> reference (BSR, JSR) to use to call the subroutine.
>
> I am dead in the water on this project at this time because I can't get past
> this linker error. I don't even know HOW to "check the relocation at that
> address." Would this be in the <file>.lst output, or where?
>
> Thanks in advance,
>
> Paul Johnson
> Lynx Robotics
> 8125 Lankershim Blvd.
> North Hollywood, CA 91605
> Voice: (818) 252-7890
> FAX: (818) 252-7892 > -------------------- >
> ">http://docs.yahoo.com/info/terms/ >
>
> -------------------- >
> ">http://docs.yahoo.com/info/terms/





The 2024 Embedded Online Conference