Revert SF patch #103655.  Martin Löwis says:

-shared does the following things:
- invoke the linker with -G -dy -z text (the latter only if
  -mimpure-text was not given)
- drop crt1.o from the list of objects being linked
- drop -lc from the list of libraries being linked
OTOH, -G is just passed through to the linker.

The things that -shared does are necessary: crt1.o defines _start, and
requires main, so it should not be present in a shared library.
Likewise, -z text should be used to detect position-dependent code at
compile time.
1 file changed