Propagating addresses from linker to the runtie
Segher Boessenkool
segher@kernel.crashing.org
Fri Oct 18 14:20:00 GMT 2019
On Fri, Oct 18, 2019 at 03:20:41PM +0200, Josef Wolf wrote:
> On Fri, Oct 18, 2019 at 07:51:38AM -0500, Segher Boessenkool wrote:
> [ ... ]
> > Using reserved names (like those starting with two underscores) is UB
> > already.
>
> What does "UB" mean?
Undefined behaviour. I should have spelled that out, sorry.
> I was talking about exporting start+length instead of start+stop.
>
> Having start+length would allow a confirming implementation, because pointer
> arithmetic on unrelated objects would no longer be needed:
>
> unsigned long *dst = &_s_bss;
> for (n = 0; n < _l_bss / sizeof (unsigned long); n++)
> dst[n] = 0;
Using anything like these symbols is not conforming *already*.
You can spell out exactly what implementation behaviour your program expects
in your documentation, that is much more realistic than saying "conforming".
Segher
More information about the Gcc-help
mailing list