summaryrefslogtreecommitdiff
path: root/libc/ports/ChangeLog.aarch64.linaro
blob: ec999f807b56540aaffa3703b5bb0a48483ed191 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
2014-05-29  Richard Henderson  <rth@twiddle.net>

	* sysdeps/unix/sysv/linux/aarch64/sysdep.h [NOT_IN_libc]
	(SYSCALL_ERROR_HANDLER): Use tpidr_el0 instead of a call
	to __errno_location.
	* sysdeps/unix/sysv/linux/aarch64/nptl/localplt.data (libpthread.so):
	Remove the expected plt for __errno_location.

	* sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h
	[NOT_IN_libc] (SINGLE_THREAD_P): Use tpidr_el0 instead of a
	call to __read_tp.

	* sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h (PSEUDO):
	Always allocate 64 bytes of stack frame.  Use ldp/stp to create
	it and break it down.
	(DOCARGS_0, DOCARGS_1): Do nothing.
	(DOCARGS_2): Update to store into the new stack frame.
	(DOCARGS_3, DOCARGS_4, DOCARGS_5, DOCARGS_6): Likewise.
	(UNDOCARGS_1): Update to restore from the new stack frame.
	(UNDOCARGS_2, UNDOCARGS_3, UNDOCARGS_4): Likewise.
	(UNDOCARGS_5, UNDOCARGS_6): Likewise.

	* sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h
	(SINGLE_THREAD_P): New parameter for result regno.
	(PSEUDO): Update to match; use cbz instead of beq.

	* sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h (PSEUDO):
	Use ENTRY to define the _nocancel entry point.  Share the syscall
	and syscall error check paths with the cancel path.
	(PSEUDO_END): New.

	* sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h: Adjust
	whitespace; tabs before and after asm mnemonics.

2014-05-26  Kyle McMartin  <kyle@redhat.com>

	[BZ #16796]
	* sysdeps/aarch64/nptl/tls.h: increase TCB alignment to the
	alignment of struct pthread.

2014-05-25  Richard Henderson  <rth@twiddle.net>

	* sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h
	(SINGLE_THREAD_P_PIC): Remove.

2014-05-21  Richard Henderson  <rth@redhat.com>

	* sysdeps/unix/sysv/linux/aarch64/sysdep.h (PSEUDO_RET): Move
	branch to syscall error ...
	(PSEUDO): ... here.
	[NOT_IN_libc] (SYSCALL_ERROR_HANDLER): Rename the label
	from __local_syscall_error to .Lsyscall_error.
	[!NOT_IN_libc] (SYSCALL_ERROR_HANDLER): Branch to __syscall_error.
	(SYSCALL_ERROR): Update label name.

	* sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h (PSEUDO):
	Do not use DOARGS/UNDOARGS.
	* sysdeps/unix/sysv/linux/aarch64/sysdep.h (DO_CALL): Likewise.
	(DOARGS_0, DOARGS_1, DOARGS_2, DOARGS_3): Remove.
	(DOARGS_4, DOARGS_5, DOARGS_6, DOARGS_7): Remove.
	(UNDOARGS_0, UNDOARGS_1, UNDOARGS_2, UNDOARGS_3): Remove.
	(UNDOARGS_4, UNDOARGS_5, UNDOARGS_6, UNDOARGS_7): Remove.

	* sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h
	(SINGLE_THREAD_P): Use the correct width load.  Fold
	into the ldr offset.

	* sysdeps/unix/sysv/linux/aarch64/sysdep.h [RTLD_PRIVATE_ERRNO]
	(SYSCALL_ERROR_HANDLER): Fold add insn into str offset.

2014-06-02  Wilco  <wdijkstr@arm.com>

	* sysdeps/aarch64/fpu/fpu_control.h (_FPU_SETCW): Remove ISB after
	FPCR write.

2014-06-02  Wilco  <wdijkstr@arm.com>

	[BZ #17009]
	* sysdeps/aarch64/fpu/feupdateenv (feupdateenv):
	Rewrite to reduce FPCR/FPSR accesses.

2014-05-20  Will Newton  <will.newton@linaro.org>

	* sysdeps/unix/sysv/linux/aarch64/nptl/sysdep-cancel.h (PSEUDO):
	Test the return value of the system call in the nocancel case.

2014-05-20  Will Newton  <will.newton@linaro.org>
	    Yvan Roux  <yvan.roux@linaro.org>

	* sysdeps/unix/sysv/linux/aarch64/sys/user.h: Remove unused
	#include of asm/ptrace.h.
	(PTRACE_GET_THREAD_AREA): Remove #undef.
	(PTRACE_GETHBPREGS): Likewise.
	(PTRACE_SETHBPREGS): Likewise.
	(struct user_regs_struct): New structure.
	(struct user_fpsimd_struct): New structure.
	* sysdeps/unix/sysv/linux/aarch64/sys/procfs.h: Remove unused
	#include of asm/ptrace.h and second #include of sys/user.h.
	(PTRACE_GET_THREAD_AREA): Remove #undef.
	(PTRACE_GETHBPREGS): Likewise.
	(PTRACE_SETHBPREGS): Likewise.
	(ELF_NGREG): Use new struct user_regs_struct.
	(elf_fpregset_t): Use new struct user_fpsimd_struct.

2014-04-24  Ian Bolton  <ian.bolton@arm.com>

	* sysdeps/aarch64/fpu/fclrexcpt.c (feclearexcept): Don't write to
	fpsr if value didn't change.
	* sysdeps/aarch64/fpu/fedisblxcpt.c (fedisableexcept): Don't write
	to fpcr if value didn't change.
	* sysdeps/aarch64/fpu/feenablxcpt.c (feenableexcept): Likewise.
	* sysdeps/aarch64/fpu/feholdexcpt.c (feholdexcept): Don't write to
	fpsr or fpcr if value didn't change.
	* sysdeps/aarch64/fpu/fesetenv.c (fesetenv): Likewise.
	* sysdeps/aarch64/fpu/fesetround.c (fesetround): Don't write to
	fpcr if value didn't change.
	* sysdeps/aarch64/fpu/fsetexcptflg.c (fesetexceptflag): Don't write
	to fpsr if value didn't change.

2014-04-17  Ian Bolton  <ian.bolton@arm.com>
	    Wilco Dijkstra  <wilco.dijkstra@arm.com>

	* sysdeps/aarch64/fpu/math_private.h (HAVE_RM_CTX)
	(libc_feholdsetround_aarch64_ctx)
	(libc_feholdsetround_ctx, libc_feholdsetroundf_ctx)
	(libc_feholdsetroundl_ctx, libc_feresetround_aarch64_ctx)
	(libc_feresetround_ctx, libc_feresetroundf_ctx)
	(libc_feresetroundl_ctx, libc_feresetround_noex_aarch64_ctx)
	(libc_feresetround_noex_ctx, libc_feresetround_noexf_ctx)
	(libc_feresetround_noexl_ctx): Define.

2014-04-16  Ian Bolton  <ian.bolton@arm.com>
	    Wilco Dijkstra  <wilco.dijkstra@arm.com>

	* sysdeps/aarch64/fpu/math_private.h: New file.

2014-03-07  Marcus Shawcroft  <marcus.shawcroft@arm.com>

	* sysdeps/aarch64/fpu/feenablxcpt.c (feenableexcept): Detect and
	error absence of trapping exception support.
	* sysdeps/aarch64/fpu/fesetenv.c (fesetenv): Likewise.

2014-04-22  Will Newton  <will.newton@linaro.org>
	    Venkataramanan Kumar  <venkataramanan.kumar@linaro.org>

	* sysdeps/aarch64/__longjmp.S: Include stap-probe.h.
	(__longjmp): Add longjmp and longjmp_target SystemTap
	probes.
	* sysdeps/aarch64/setjmp.S: Include stap-probe.h.
	(__sigsetjmp): Add setjmp SystemTap probe.

2014-04-17  Will Newton  <will.newton@linaro.org>

	[BZ #16629]
	* sysdeps/unix/sysv/linux/aarch64/setcontext.S (__setcontext):
	Re-implement to restore registers in user code and avoid
	rt_sigreturn system call.