|
Lines 447-457
Link Here
|
| 447 |
$(common-objpfx)libc% $(+postinit),$^) \ |
447 |
$(common-objpfx)libc% $(+postinit),$^) \ |
| 448 |
$(link-extra-libs) $(link-libc) $(+postctorS) $(+postinit) |
448 |
$(link-extra-libs) $(link-libc) $(+postctorS) $(+postinit) |
| 449 |
endif |
449 |
endif |
|
|
450 |
+link = $(+link-pie) |
| 450 |
# Command for statically linking programs with the C library. |
451 |
# Command for statically linking programs with the C library. |
| 451 |
ifndef +link-static |
452 |
ifndef +link-static |
| 452 |
+link-static = $(CC) -nostdlib -nostartfiles -static -o $@ \ |
453 |
+link-static = $(CC) -nostdlib -nostartfiles -static -o $@ \ |
| 453 |
$(sysdep-LDFLAGS) $(LDFLAGS) $(LDFLAGS-$(@F)) \ |
454 |
$(sysdep-LDFLAGS) $(LDFLAGS) $(LDFLAGS-$(@F)) \ |
| 454 |
$(addprefix $(csu-objpfx),$(static-start-installed-name)) \ |
455 |
$(addprefix $(csu-objpfx),S$(static-start-installed-name)) \ |
| 455 |
$(+preinit) $(+prector) \ |
456 |
$(+preinit) $(+prector) \ |
| 456 |
$(filter-out $(addprefix $(csu-objpfx),start.o \ |
457 |
$(filter-out $(addprefix $(csu-objpfx),start.o \ |
| 457 |
$(start-installed-name))\ |
458 |
$(start-installed-name))\ |
|
Lines 549-559
Link Here
|
| 549 |
ifeq ($(elf),yes) |
550 |
ifeq ($(elf),yes) |
| 550 |
+preinit = $(addprefix $(csu-objpfx),crti.o) |
551 |
+preinit = $(addprefix $(csu-objpfx),crti.o) |
| 551 |
+postinit = $(addprefix $(csu-objpfx),crtn.o) |
552 |
+postinit = $(addprefix $(csu-objpfx),crtn.o) |
| 552 |
+prector = `$(CC) --print-file-name=crtbegin.o` |
|
|
| 553 |
+postctor = `$(CC) --print-file-name=crtend.o` |
| 554 |
# Variants of the two previous definitions for linking PIE programs. |
| 555 |
+prectorS = `$(CC) --print-file-name=crtbeginS.o` |
553 |
+prectorS = `$(CC) --print-file-name=crtbeginS.o` |
| 556 |
+postctorS = `$(CC) --print-file-name=crtendS.o` |
554 |
+postctorS = `$(CC) --print-file-name=crtendS.o` |
|
|
555 |
+prector = $(+prectorS) |
| 556 |
+postctor = $(+postctorS) |
| 557 |
+interp = $(addprefix $(elf-objpfx),interp.os) |
557 |
+interp = $(addprefix $(elf-objpfx),interp.os) |
| 558 |
endif |
558 |
endif |
| 559 |
csu-objpfx = $(common-objpfx)csu/ |
559 |
csu-objpfx = $(common-objpfx)csu/ |