Building libstdc++ non-shared with -fpic ?
Scott Bambrough
scottb@netwinder.org
Tue Jul 4 17:14:00 GMT 2000
> > On Jul 1, 2000, Richard Earnshaw <rearnsha@arm.com> wrote:
> >
> > >> > That would imply that you are able to build shared libraries, which
> > >> > use code which is not position independent
> > >>
> > >> That is indeed the case.
> >
> > > But only if your object model supports it.
> >
> > Not only the object model. The dynamic loader must support it too. I
> > remember a case of someone building shared libraries out of non-PIC
> > code on GNU/Linux/ARM (what a coincidence :-) that would fail because
> > glibc's ld.so wouldn't handle a particular kind of relocation.
>
> Indeed. This 'bug' was the first time I'd ever heard of non-pic code
> going into a shared library. I guess it must have been the same for
> whoever implemented that code on the ARM.
>
That would be me. And this particular "feature" of ELF is poorly
documented, and IMHO a poor design choice. It assumes the underlying
architecture can branch anywhere in the address space. It is still a
problem in the dynamic linker on ARM systems.
Scott
More information about the Gcc
mailing list