This is the mail archive of the mailing list for the glibc 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]

[PATCH 0/2] Use /lib/ as the dynamic linker forthe ARM hard-float ABI.

It was agreed by the community that the dynamic linker name for the
ARM hard-float ABI would be changed to /lib/

The change in the dynamic linker name allows soft-float
(-mfloat-abi=soft and -mfloat-abi=softfp) and hard-float
(-mfloat-abi=hard) ABI binaries to coexist easily on one system.

The changes required for glibc are as follows:

* Detect that the compiler and the specified flags would cause the
build to use the hard-float ABI.

* If the hard-float ABI is detected use /lib/ as
the dynamic loader.

It was decided not to support unpatched or old gcc versions that are
do not use the new hard-float dynamic linker. If you were to use such
a gcc with the latest trunk for glibc the testsuite would fail
completely (since the compiler selects one dynamic linker, and glibc
installs another).

Two patches follow:

1/2 - glibc-ports: Add logic to sysdeps/arm/ to define
HAVE_ARM_PCS_VFP if the compiler is using the hard-float ABI e.g. if
__ARM_PCS_VFP is defined.

2/2 - glibc: Define HAVE_ARM_PCS_VFP in glibc's, this will
be used by ARM's shlib-versions to select the appropriate dynamic
linker name.

This is sufficient to select the right dynamic linker name, and does
not require compiling a program as my previous WIP patch did.

Patch #1 uses the __ARM_PCS_VFP checking code written by Khem Raj in
his follow-on patch to my WIP patch.

All patches are against glibc trunk.


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