This is the mail archive of the mailing list for the binutils project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Updated RDOS support

----- Original Message ----- From: "Alan Modra" <>
Why should $LARGE_DATA_ADDR affect $OTHER_BSS_SECTIONS?  Hmm, I see
LARGE_SECTIONS=yes adds .lbss to OTHER_BSS_SECTIONS.  That's not very
nice as quite a few targets use OTHER_BSS_SECTIONS for other purposes.
Your patch makes this even more confusing.  Also, since you seem to
want a separate large segment, do you really want to lay out your
large sections as .lbss, .lrodata, .ldata?  Wouldn't .lrodata, .ldata,
.lbss make more sense?

Yes, absolutely. If the lbss area is large it will also increase executable size for no reason.
But, shouldn't this be the order regardless of LARGE_DATA_ADDR setting? This
seems like a bug.


Also, there isn't much point in adding support for -Tldata-segment
here without the rest of the support, so that needs adding or simply
omit use of SEGMENT_START().

I think that if the large segment is separated by some TBs of virtual memory,
the executable file would become enormous without a new section. But
I might be wrong here.

I'll look into the additional support reqúired for -Tldata-segment.

I committed your fix for RODATA_ADDR. Thanks!

There is also a problem with SEPARATE_CODE. First to achieve reasonable
separation it is not enough to increase address by page-size. There needs to be
at least on guard-page for effective separation. I would suggest the algorithm
should be:
1. Page align
2. Add at least one page more

Leif Ekblad

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]