Bug 197

Summary: Handle absolute BSS segment location of 'xt'
Product: RLN Reporter: James Jones <atari>
Component: CoreAssignee: Shamus Hammons <jlhamm>
Status: RESOLVED FIXED    
Severity: normal CC: jlhamm
Priority: Normal    
Version: unspecified   
Hardware: PC   
OS: All   
Attachments: Patch to correct handling of BSS segment location 'xt'

Description James Jones 2022-04-16 23:24:15 CDT
Created attachment 169 [details]
Patch to correct handling of BSS segment location 'xt'

When linking an absolute executable, the data segment and BSS segment can be assigned an absolute address, or the special value 'x' to indicate they are contiguous with the prior segment (text for data, data for BSS). However, RLN (like MAC) also accepts an optional segment specifier after the special value 'x' that allows explicitly specifying which segment the current one is contiguous with. For data, the only valid value is 'xt', meaning contiguous with text. However, when the data segment is specified to be at an explicit address rather than contiguous with the text segment, it is valid to specify that the BSS segment is contiguous with data ('xd') or with text ('xt'). RLN is accepting these additional 't' and 'd' values, but ignoring them.

The attached patch causes RLN to correctly place the BSS segment after the text segment when its location is specified as 'xt' as long as the data segment isn't also contiguous with the text segment.
Comment 1 Shamus Hammons 2022-08-15 21:25:57 CDT
Thanks for the patch!  :-)