Line
Link Here
|
0 |
-- libc/Makeconfig |
0 |
++ libc/Makeconfig |
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) $(sysdep-LDFLAGS) --print-file-name=crtbegin.o` |
|
|
553 |
+postctor = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtend.o` |
554 |
# Variants of the two previous definitions for linking PIE programs. |
555 |
+prectorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbeginS.o` |
553 |
+prectorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbeginS.o` |
556 |
+postctorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtendS.o` |
554 |
+postctorS = `$(CC) $(sysdep-LDFLAGS) --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/ |
560 |
-- libc/sysdeps/unix/sysv/linux/x86_64/sigaction.c 2010-12-13 11:47:26.000000000 +0100 |
560 |
++ libc/sysdeps/unix/sysv/linux/x86_64/sigaction.c 2011-01-29 16:59:51.000000000 +0100 |
Lines 40-46
Link Here
|
40 |
/* Using the hidden attribute here does not change the code but it |
40 |
/* Using the hidden attribute here does not change the code but it |
41 |
helps to avoid warnings. */ |
41 |
helps to avoid warnings. */ |
42 |
extern void restore_rt (void) asm ("__restore_rt") attribute_hidden; |
42 |
extern void restore_rt (void) asm ("__restore_rt") __attribute__((__visibility__("hidden"))); |
43 |
/* If ACT is not NULL, change the action for SIG to *ACT. |
43 |
/* If ACT is not NULL, change the action for SIG to *ACT. |
Lines 126-131
Link Here
|
126 |
/* `nop' for debuggers assuming `call' should not disalign the code. */ \ |
126 |
/* `nop' for debuggers assuming `call' should not disalign the code. */ \ |
127 |
" nop\n" \ |
127 |
" nop\n" \ |
128 |
".align 16\n" \ |
128 |
".align 16\n" \ |
|
|
129 |
".globl __" #name "\n" \ |
129 |
".LSTART_" #name ":\n" \ |
130 |
".LSTART_" #name ":\n" \ |
130 |
" .type __" #name ",@function\n" \ |
131 |
" .type __" #name ",@function\n" \ |
131 |
"__" #name ":\n" \ |
132 |
"__" #name ":\n" \ |