Lx51 Segments located using wildcard are not located together...

Hi,

I have a line in my linker control file:

?PR?*?PHTESTMODE_ROMCPUMX(C:0x01EA00),

But when I build it I see the following segment locations:

81E9FFH 81E9FFH 000001H --- --- **GAP**
81EA00H 81EA24H 000025H BYTE INSEG ECODE_TM ?PR?_PHTESTMODE_ROM1?PHTESTMODE_ROMCPUMX
81EA25H 81EA32H 00000EH BYTE INSEG ECODE_TM ?PR?PHTESTMODE_ROMSOURCEINIT?PHTESTMODE_ROMSIO0
81EA33H 81EA57H 000025H BYTE INSEG ECODE_TM ?PR?_PHTESTMODE_ROM2?PHTESTMODE_ROMCPUMX
81EA58H 81EA7CH 000025H BYTE INSEG ECODE_TM ?PR?_PHTESTMODE_ROM3?PHTESTMODE_ROMCPUMX
81EA7DH 81EAA1H 000025H BYTE INSEG ECODE_TM ?PR?_PHTESTMODE_ROM4?PHTESTMODE_ROMCPUMX
81EAA2H 81EAD9H 000038H BYTE INSEG ECODE_TM ?PR?_PHTESTMODE_ROM5?PHTESTMODE_ROMCPUMX
81EADAH 81EB0EH 000035H BYTE INSEG ECODE_TM ?PR?_PHTESTMODE_ROM6?PHTESTMODE_ROMCPUMX
81EB0FH 81EB3AH 00002CH BYTE INSEG ECODE_TM ?PR?_PHTESTMODE_ROM7?PHTESTMODE_ROMCPUMX
81EB3BH 81EB66H 00002CH BYTE INSEG ECODE_TM ?PR?_PHTESTMODE_ROM8?PHTESTMODE_ROMCPUMX

Why is the segment ?PR?PHTESTMODE_ROMSOURCEINIT?PHTESTMODE_ROMSIO0 included here in the middle? I would have thought that the wildcard would locate all the segments in that source module one after the other, perhaps not in order, but at least all together. ...SOURCEINIT is not explicitly located elsewhere, it is a normal function. I have no confidence that other segments might later appear here in the middle and break my intended location controls. I do have a good reason to locate all these things.

Any help with the linker controls?

Robbie.

More questions in this forum