diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2017-10-29 12:03:03 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2017-10-29 12:03:03 -0700 |
commit | d7ca99d742d11803ab0e2b594ab828886bc069dc (patch) | |
tree | 67937374332e2f56b870d306f18e671e6f759df3 /scripts/move-if-change | |
parent | 3242db2138de7e0786ee3806f8bd016925d06099 (diff) | |
download | glibc-hjl/pr22362/symlink.tar.gz |
nptl: Simplify libpthread.so ruleshjl/pr22362/symlink
libpthread.so must be created against a special crti.o and when multi-lib
GCC is used to build glibc, the special crti.o must be placed under the
`gcc -print-multi-directory` subdirectory so that -B$(common-objpfx)nptl/
will pick it up. This patch compiles the special crti.o directly with
"-include pt-crti.h" and uses the new make-link-multidir from the fix
for [BZ #22362] to create the symlink for the multi-lib subdirectory.
It simplifies libpthread.so rules to support -B$(common-objpfx)nptl/
and -B$(common-objpfx)/ for correct crt*.o files.
Tested on x86-64 for x86-64, i686 and x32.
* nptl/Makefile (multidir.mk): Don't generate.
($(objpfx)multidir.mk): Removed.
(crtn-objs): Likewise.
(generated-dirs): Don't add $(multidir).
(multilib-crti-objs): New.
(extra-objs): Use $(multilib-crti-objs). Don't add pt-crti.o.
($(objpfx)libpthread.so): Removed.
(CPPFLAGS-crti.o): New.
($(objpfx)crti.o): Removed.
($(objpfx)$(multidir)/crti.o): Likewise.
($(objpfx)$(multidir)/crtn.o): Likewise.
($(addprefix $(objpfx)$(multidir)/, $(crti-objs))): New target.
(generated): Remove multidir.mk.
* nptl/pt-crti.S: Renamed to ...
* nptl/pt-crti.h: This. Don't include <crti.S>.
Diffstat (limited to 'scripts/move-if-change')
0 files changed, 0 insertions, 0 deletions