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

locating arbitrary segments

I have a program which compiles into N segments, where N >= 2. I need to locate all segments starting at a specific address. I know the names of the first two segments, but I don't know the names (or types) of the remaining N-2 segments (these can be arbitrarily changed without my knowing). I'm trying to compose a BL51 command line to handle all cases. Using wildcards such as ?C?* works as long as there is at least one segment that matches the wildcard. Otherwise, the linker gives:

ERROR L131: No MATCHING SEGMENT FOR WILDCARD SEGMENT NAME

Is there any general way to get around this? I'm using BL51 V4.02.

Thanks,
Slarti

Parents
  • The problem was that I needed to locate two specific segments before all the others. The solution appears to be:

    CODE(0x4005, ?PR?FOO(0x4005), ?PR?BAR)

    It wasn't clear from the A51 manual if this was possible, but the linker seems to do the right thing. Am I correct in thinking that this will place FOO at 0x4005, followed immediately by BAR, followed immediately by all the other segments in the program?

    Thanks,
    Slarti

Reply
  • The problem was that I needed to locate two specific segments before all the others. The solution appears to be:

    CODE(0x4005, ?PR?FOO(0x4005), ?PR?BAR)

    It wasn't clear from the A51 manual if this was possible, but the linker seems to do the right thing. Am I correct in thinking that this will place FOO at 0x4005, followed immediately by BAR, followed immediately by all the other segments in the program?

    Thanks,
    Slarti

Children