This is the mail archive of the
mailing list for the binutils project.
Re: [PATCH] ld: Correct private data merging for DSOs
On 04/12/12 11:37, Richard Sandiford wrote:
Attributes as defined by ARM are explicitly for relocatable objects,
with program headers being used to record DSO compatibility.
I think we're not supposed to merge any attributes that a DSO
happens to have into an executable. Hopefully Richard E can confirm.
The attributes /design/ was intended to deal with linkable objects that
would be handled by LD. It comes from the background of many different
design trade-offs for embedded systems which can lead to
incompatibilities if not carefully managed. It was never intended to be
a high-performance system that would be used, for example, each time a
binary was run. The expectation for the latter is that the relevant
information would be distilled into an executable that could be rapidly
checked by a program loader if needed. Examples in this case would then
be limited to validating that the binary was compatible with the current
execution environment (CPU architecture, etc).
That being said, there's nothing in the design that would prevent it
being used within a DSO beyond the fact that the information is only
exposed by the section view and a DSO is only required to expose a
segment view. To fix that you'd have to start doing things like adding
a DT_ tag to reference the information.
The point still stands, though, that it wasn't the intended purpose of