Home | History | Annotate | only in /src/lib/libc/arch/aarch64
History log of /src/lib/libc/arch/aarch64
RevisionDateAuthorComments
 1.3 31-Oct-2021  thorpej Tidy up how __sigaction14_sigtramp.c is added to SRCS.
 1.2 15-Apr-2015  mrg remove various HAVE_GCC=45 fragments.
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file Makefile.inc was added on branch tls-maxphys on 2014-08-20 00:02:08 +0000
 1.4 23-Jul-2023  skrll ENTRY / END indentation. NFCI.
 1.3 09-Mar-2019  christos Fix previous... We need to deal with a conditional branch.
 1.2 09-Mar-2019  christos We don't fit anymore thanks to jemalloc:
relocation truncated to fit: R_AARCH64_CONDBR19 against symbol `cerror'
 1.1 10-Aug-2014  matt branches: 1.1.4; 1.1.26;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.26.1 10-Jun-2019  christos Sync with HEAD
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file SYS.h was added on branch tls-maxphys on 2014-08-20 00:02:08 +0000
 1.5 23-Nov-2021  thorpej Because the PC is not a general purpose register on aarch64, we need
to use DWARF pseudo-register for the signal trampoline return address.

Adjust the style to match other platforms.
 1.4 17-Oct-2020  skrll Change x30 to lr for ease of reading

NFCI
 1.3 13-Oct-2020  kamil Decorate the aarch64 signal trampoline with CFI attributes easing unwinding

Now, the unwinders (in backtrace(3) and similar) can unwind properly
the stack from a signal handler.
 1.2 10-May-2020  skrll Don't futz with tpidr_el0 in {set,long}jmp as it breaks TLS as seen in
qemu
 1.1 10-Aug-2014  matt branches: 1.1.4; 1.1.28;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.28.1 13-May-2020  martin Pull up following revision(s) (requested by skrll in ticket #901):

sys/arch/aarch64/include/setjmp.h: revision 1.2
lib/libc/arch/aarch64/genassym.cf: revision 1.2
lib/libc/arch/aarch64/gen/setjmp.S: revision 1.3
lib/libc/arch/aarch64/gen/_setjmp.S: revision 1.4

Don't futz with tpidr_el0 in {set,long}jmp as it breaks TLS as seen in
qemu
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file genassym.cf was added on branch tls-maxphys on 2014-08-20 00:02:08 +0000
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file Makefile.inc was added on branch tls-maxphys on 2014-08-20 00:02:08 +0000
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file arith.h was added on branch tls-maxphys on 2014-08-20 00:02:08 +0000
 1.2 01-Aug-2018  ryo fix long double NaN definition.
 1.1 10-Aug-2014  matt branches: 1.1.4; 1.1.24; 1.1.26;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.26.1 10-Jun-2019  christos Sync with HEAD
 1.1.24.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file gd_qnan.h was added on branch tls-maxphys on 2014-08-20 00:02:08 +0000
 1.3 07-Jun-2024  riastradh libc: Pacify lint on aarch64.
 1.2 07-Jul-2015  matt Add the fpset* routines for tests
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file Makefile.inc was added on branch tls-maxphys on 2014-08-20 00:02:08 +0000
 1.3 21-Nov-2018  skrll _REG_LR should be _lwp_exit
 1.2 04-Aug-2018  ryo need to set _UC_TLSBASE of uc_flags for _lwp_makecontext().
pointed out from skrll@. thanks.
 1.1 10-Aug-2014  matt branches: 1.1.4; 1.1.24; 1.1.26;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.26.1 10-Jun-2019  christos Sync with HEAD
 1.1.24.2 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.24.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file _lwp.c was added on branch tls-maxphys on 2014-08-20 00:02:08 +0000
 1.5 07-Oct-2021  skrll Fix the lib/libc/setjmp/t_setjmp:{,_}longjmp_zero test cases
 1.4 10-May-2020  skrll Don't futz with tpidr_el0 in {set,long}jmp as it breaks TLS as seen in
qemu
 1.3 28-Nov-2017  ryo branches: 1.3.6;
fix to work
* no need to check x29 != NULL. fp may be NULL.
* don't break in-use register x5.
 1.2 28-Nov-2017  ryo KNF. use tab
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file _setjmp.S was added on branch tls-maxphys on 2014-08-20 00:02:08 +0000
 1.3.6.2 13-Oct-2021  martin Pull up following revision(s) (requested by skrll in ticket #1358):

lib/libc/arch/aarch64/gen/setjmp.S: revision 1.4
lib/libc/arch/aarch64/gen/_setjmp.S: revision 1.5

Fix the lib/libc/setjmp/t_setjmp:{,_}longjmp_zero test cases
 1.3.6.1 13-May-2020  martin Pull up following revision(s) (requested by skrll in ticket #901):

sys/arch/aarch64/include/setjmp.h: revision 1.2
lib/libc/arch/aarch64/genassym.cf: revision 1.2
lib/libc/arch/aarch64/gen/setjmp.S: revision 1.3
lib/libc/arch/aarch64/gen/_setjmp.S: revision 1.4

Don't futz with tpidr_el0 in {set,long}jmp as it breaks TLS as seen in
qemu
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file fabs_ieee754.S was added on branch tls-maxphys on 2014-08-20 00:02:08 +0000
 1.2 08-Apr-2022  andvar fix various typos, mainly in comments, but also log messages, docs, game text.
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file flt_rounds.c was added on branch tls-maxphys on 2014-08-20 00:02:08 +0000
 1.3 07-Jun-2024  riastradh libc: Pacify lint on aarch64.
 1.2 24-Dec-2016  maya don't use systm.h header, it's not available to userland.

as a side effect, this fixes the evbarm64 build, which was failing due
to a declaration of psize_t physmem in systm.h, while psize_t is
kernel-only.

ok riastradh
 1.1 05-Jul-2015  matt branches: 1.1.2;
Some test programs require these.
 1.1.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.3 07-Jun-2024  riastradh libc: Pacify lint on aarch64.
 1.2 24-Dec-2016  maya don't use systm.h header, it's not available to userland.

as a side effect, this fixes the evbarm64 build, which was failing due
to a declaration of psize_t physmem in systm.h, while psize_t is
kernel-only.

ok riastradh
 1.1 05-Jul-2015  matt branches: 1.1.2;
Some test programs require these.
 1.1.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.2 24-Dec-2016  maya don't use systm.h header, it's not available to userland.

as a side effect, this fixes the evbarm64 build, which was failing due
to a declaration of psize_t physmem in systm.h, while psize_t is
kernel-only.

ok riastradh
 1.1 05-Jul-2015  matt branches: 1.1.2;
Some test programs require these.
 1.1.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.3 07-Jun-2024  riastradh libc: Pacify lint on aarch64.
 1.2 24-Dec-2016  maya don't use systm.h header, it's not available to userland.

as a side effect, this fixes the evbarm64 build, which was failing due
to a declaration of psize_t physmem in systm.h, while psize_t is
kernel-only.

ok riastradh
 1.1 07-Jul-2015  matt branches: 1.1.2;
Add the fpset* routines for tests
 1.1.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.4 29-Oct-2024  riastradh fpsetround(3): Don't toggle all the other bits in fpcr on aarch64.

PR port-arm/58782: fpsetround flips all the other fpcsr bits on aarch64
 1.3 07-Jun-2024  riastradh branches: 1.3.2;
libc: Pacify lint on aarch64.
 1.2 24-Dec-2016  maya branches: 1.2.16; 1.2.24;
don't use systm.h header, it's not available to userland.

as a side effect, this fixes the evbarm64 build, which was failing due
to a declaration of psize_t physmem in systm.h, while psize_t is
kernel-only.

ok riastradh
 1.1 07-Jul-2015  matt branches: 1.1.2;
Add the fpset* routines for tests
 1.1.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.2.24.1 01-Nov-2024  martin Pull up following revision(s) (requested by rin in ticket #996):

tests/lib/libc/gen/t_fpsetround.c: revision 1.7
tests/lib/libc/gen/t_fpsetround.c: revision 1.8
lib/libc/arch/aarch64/gen/fpsetround.c: revision 1.4

fpsetround(3): Test that this doesn't flip on FTZ by accident.
PR port-arm/58782: fpsetround flips all the other fpcsr bits on aarch64

fpsetround(3): Don't toggle all the other bits in fpcr on aarch64.
PR port-arm/58782: fpsetround flips all the other fpcsr bits on aarch64
 1.2.16.1 20-Nov-2024  martin Pull up following revision(s) (requested by riastradh in ticket #1923):

tests/lib/libc/gen/t_fpsetround.c: revision 1.7
tests/lib/libc/gen/t_fpsetround.c: revision 1.8
lib/libc/arch/aarch64/gen/fpsetround.c: revision 1.4

fpsetround(3): Test that this doesn't flip on FTZ by accident.
PR port-arm/58782: fpsetround flips all the other fpcsr bits on aarch64

fpsetround(3): Don't toggle all the other bits in fpcr on aarch64.
PR port-arm/58782: fpsetround flips all the other fpcsr bits on aarch64
 1.3.2.1 02-Aug-2025  perseant Sync with HEAD
 1.2 24-Dec-2016  maya don't use systm.h header, it's not available to userland.

as a side effect, this fixes the evbarm64 build, which was failing due
to a declaration of psize_t physmem in systm.h, while psize_t is
kernel-only.

ok riastradh
 1.1 07-Jul-2015  matt branches: 1.1.2;
Add the fpset* routines for tests
 1.1.2.1 07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.2 16-Nov-2018  ryo fix type of argument for va_arg; don't round to 32bit.
 1.1 10-Aug-2014  matt branches: 1.1.4; 1.1.24; 1.1.26;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.26.1 10-Jun-2019  christos Sync with HEAD
 1.1.24.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file makecontext.c was added on branch tls-maxphys on 2014-08-20 00:02:08 +0000
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file nanf.c was added on branch tls-maxphys on 2014-08-20 00:02:08 +0000
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file resumecontext.c was added on branch tls-maxphys on 2014-08-20 00:02:08 +0000
 1.4 07-Oct-2021  skrll Fix the lib/libc/setjmp/t_setjmp:{,_}longjmp_zero test cases
 1.3 10-May-2020  skrll Don't futz with tpidr_el0 in {set,long}jmp as it breaks TLS as seen in
qemu
 1.2 28-Nov-2017  ryo branches: 1.2.6;
fix to work
* no need to check x29 != NULL. fp may be NULL.
* don't break in-use register x5.
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file setjmp.S was added on branch tls-maxphys on 2014-08-20 00:02:08 +0000
 1.2.6.2 13-Oct-2021  martin Pull up following revision(s) (requested by skrll in ticket #1358):

lib/libc/arch/aarch64/gen/setjmp.S: revision 1.4
lib/libc/arch/aarch64/gen/_setjmp.S: revision 1.5

Fix the lib/libc/setjmp/t_setjmp:{,_}longjmp_zero test cases
 1.2.6.1 13-May-2020  martin Pull up following revision(s) (requested by skrll in ticket #901):

sys/arch/aarch64/include/setjmp.h: revision 1.2
lib/libc/arch/aarch64/genassym.cf: revision 1.2
lib/libc/arch/aarch64/gen/setjmp.S: revision 1.3
lib/libc/arch/aarch64/gen/_setjmp.S: revision 1.4

Don't futz with tpidr_el0 in {set,long}jmp as it breaks TLS as seen in
qemu
 1.2 12-Feb-2018  jakllsch Fix __siglongjmp14().

Fixes SIGINT causing ksh to "longjmp botch", presumably due to incorrect
magic number.
cvs: ----------------------------------------------------------------------
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file sigsetjmp.S was added on branch tls-maxphys on 2014-08-20 00:02:08 +0000
 1.4 23-Nov-2018  skrll Update comments to help explain what's going on
 1.3 23-Nov-2018  skrll Fix so the setcontext call is via the PLT and libpthread can override
 1.2 21-Nov-2018  skrll Fix some register names in comments
 1.1 10-Aug-2014  matt branches: 1.1.4; 1.1.24; 1.1.26;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.26.1 10-Jun-2019  christos Sync with HEAD
 1.1.24.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file swapcontext.S was added on branch tls-maxphys on 2014-08-20 00:02:08 +0000
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file Makefile.inc was added on branch tls-maxphys on 2014-08-20 00:02:08 +0000
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file aarch64-gcc.h was added on branch tls-maxphys on 2014-08-20 00:02:08 +0000
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file milieu.h was added on branch tls-maxphys on 2014-08-20 00:02:08 +0000
 1.4 05-Oct-2022  nia libc: switch aarch64 to use softfloat functions from compiler_rt

The old definitions in qp.c being all grouped together in one file
causes problems when static linking with libgcc (i.e. cc --static-libgcc)
due to functions like __trunctfdf2 conflicting with libgcc, as seen in
PR 57021

We can also add some missing functions like __fixdfti for converting
a double to an int128_t, the lack of which is currently preventing webkit
from linking on aarch64, as seen in PR 57022

Unclear to me if libc is the right place for these functions, but
we can avoid breaking compatibility right now and maintain the status
quo while avoiding some obvious immediate problems.
nm output for libc shows no functions being removed by this change.
 1.3 27-Aug-2018  ryo delete __{ge,lt,gt,le,eq,ne,unordt}tf2.
these should not be defined in libc.

pointed out by joerg@. thanks.
 1.2 11-Aug-2018  ryo fix multiple definition of __{ge,lt,gt,le,eq,ne,unordt}tf2 in libc and libgcc.
this fixes the ATF call_once_static, call_once2_static, cxxruntime_static, static_destructor_static.
 1.1 10-Aug-2014  matt branches: 1.1.4; 1.1.24; 1.1.26;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.26.1 10-Jun-2019  christos Sync with HEAD
 1.1.24.1 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file qp.c was added on branch tls-maxphys on 2014-08-20 00:02:08 +0000
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file softfloat-qp.h was added on branch tls-maxphys on 2014-08-20 00:02:08 +0000
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file softfloat-wrapper.c was added on branch tls-maxphys on 2014-08-20 00:02:08 +0000
 1.2 06-Dec-2018  tih Summary: Align softfloat float128 with libgcc.

While libgcc adapts its float128 data structure to the endianness of
the architecture, the softfloat code in libc didn't. With both of
them handling the same values, softfloat must follow the toolchain.

OK: riastradh
 1.1 10-Aug-2014  matt branches: 1.1.4; 1.1.24; 1.1.26;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.26.1 10-Jun-2019  christos Sync with HEAD
 1.1.24.1 26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file softfloat.h was added on branch tls-maxphys on 2014-08-20 00:02:08 +0000
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file Makefile.inc was added on branch tls-maxphys on 2014-08-20 00:02:09 +0000
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file Makefile.inc was added on branch tls-maxphys on 2014-08-20 00:02:09 +0000
 1.2 22-Nov-2018  ryo fix condition code. x1==0 is parent.
 1.1 10-Aug-2014  matt branches: 1.1.4; 1.1.24; 1.1.26;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.26.1 10-Jun-2019  christos Sync with HEAD
 1.1.24.1 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file __clone.S was added on branch tls-maxphys on 2014-08-20 00:02:09 +0000
 1.2 26-Oct-2021  christos Merge all MD __sigaction14_sigtramp.c copies into one:
- sparc and sparc64 were not using version 0 sigcontext when there were
no arguments in the signal version. This was probably a bug.
- vax is using +1 the version numbers of the other archs.
- Only hppa was defining __LIBC12_SOURCE__ so it was getting a working
sigcontext before. all the other ports that supported sigcontext had
the compat code disabled.
[pointed out by thorpej, thanks!]
If we want to remove sigcontext support from userland at least now there
is less work to do so.
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file __sigaction14_sigtramp.c was added on branch tls-maxphys on 2014-08-20 00:02:09 +0000
 1.7 23-Nov-2021  thorpej Because the PC is not a general purpose register on aarch64, we need
to use DWARF pseudo-register for the signal trampoline return address.

Adjust the style to match other platforms.
 1.6 24-Oct-2020  skrll Update the unwinder comment to better reflect ARM64
 1.5 24-Oct-2020  skrll s/ARM/ARM64/ in comment
 1.4 19-Oct-2020  kamil Restore SP from mcontext

Improves unwinding of multiple frames without frame pointer.
 1.3 17-Oct-2020  skrll Change x30 to lr for ease of reading

NFCI
 1.2 13-Oct-2020  kamil Decorate the aarch64 signal trampoline with CFI attributes easing unwinding

Now, the unwinders (in backtrace(3) and similar) can unwind properly
the stack from a signal handler.
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file __sigtramp2.S was added on branch tls-maxphys on 2014-08-20 00:02:09 +0000
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file __syscall.S was added on branch tls-maxphys on 2014-08-20 00:02:09 +0000
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file __vfork14.S was added on branch tls-maxphys on 2014-08-20 00:02:09 +0000
 1.2 05-Feb-2019  mrg use adrp not adr, since the data is not pc-rel. fixes brk(2).
 1.1 10-Aug-2014  matt branches: 1.1.4; 1.1.26;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.26.1 10-Jun-2019  christos Sync with HEAD
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file brk.S was added on branch tls-maxphys on 2014-08-20 00:02:09 +0000
 1.2 12-Oct-2017  ryo return 0xffffffffffffffff (= -1). not 0x00000000ffffffff.
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file cerror.S was added on branch tls-maxphys on 2014-08-20 00:02:09 +0000
 1.2 07-Feb-2017  kamil Mark exect(3) obsolete and bind it to plain execve(2) on all platforms

The original exect(2) from BSD4.2 was enabling bit for tracing
(single-step mode) and calling execve(2). The purpose of it was to generate
a signal for a tracer once the application will change its image to a new
program.

This approach no longer works as:
- exect(2) traces (single-steps) libc and it requires hundreds or
thousands steps before entering a new image
- it's vax and x86 specific code
- this functionality has been moved to the kernel - once a process is
traced it will generate SIGTRAP with si_code TRAP_EXEC and route it to
its debugger
- the side effects and unportability make this interface unusable
- there are no known users of this interface
- it apparently never worked better since day0 of NetBSD ("day0 bug")

Users are requested to move to other execve(2) variants. Calling current
execve(2) as it is the most similar behavior to this one from BSD4.2.

Discussed several times on mailing lists and in PR/51700.

Add warning to exect(3) telling about marking this function obsolete.

This function is prepared to be removed in next libc major bump.

Sponsored by <The NetBSD Foundation>
 1.1 10-Aug-2014  matt branches: 1.1.4; 1.1.8; 1.1.12;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.12.1 21-Apr-2017  bouyer Sync with HEAD
 1.1.8.1 20-Mar-2017  pgoyette Sync with HEAD
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file exect.S was added on branch tls-maxphys on 2014-08-20 00:02:09 +0000
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file fork.S was added on branch tls-maxphys on 2014-08-20 00:02:09 +0000
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file getcontext.S was added on branch tls-maxphys on 2014-08-20 00:02:09 +0000
 1.2 04-Feb-2018  skrll lower case 'ret' to avoid macro clash
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file pipe.S was added on branch tls-maxphys on 2014-08-20 00:02:09 +0000
 1.2 20-Jul-2018  ryo fix a bug. no need postincrement here.
 1.1 10-Aug-2014  matt branches: 1.1.4; 1.1.24; 1.1.26;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.26.1 10-Jun-2019  christos Sync with HEAD
 1.1.24.1 28-Jul-2018  pgoyette Sync with HEAD
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file ptrace.S was added on branch tls-maxphys on 2014-08-20 00:02:09 +0000
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file sbrk.S was added on branch tls-maxphys on 2014-08-20 00:02:09 +0000
 1.1 10-Aug-2014  matt branches: 1.1.4;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file shmat.S was added on branch tls-maxphys on 2014-08-20 00:02:09 +0000
 1.2 18-Apr-2020  thorpej Rename "syscall" to "_syscall" and provide "syscall" as a weak alias.
 1.1 10-Aug-2014  matt branches: 1.1.4; 1.1.26;
Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
 1.1.26.1 21-Apr-2020  martin Sync with HEAD
 1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.1 10-Aug-2014  tls file syscall.S was added on branch tls-maxphys on 2014-08-20 00:02:09 +0000

RSS XML Feed