Skip to content

Sync Upstream into mcw/main - #9

Open
mayankag-qti wants to merge 108 commits into
Multicorewareinc:mcw/mainfrom
mayankag-qti:sync-official-into-mcw
Open

Sync Upstream into mcw/main#9
mayankag-qti wants to merge 108 commits into
Multicorewareinc:mcw/mainfrom
mayankag-qti:sync-official-into-mcw

Conversation

@mayankag-qti

Copy link
Copy Markdown

No description provided.

chandru-mcw and others added 30 commits April 30, 2026 13:47
Many long double math functions currently rely on x87-specific
assembly and assume extended precision, which breaks on targets
where long double is the same as double (e.g. aarch64).
Use __SIZEOF_LONG_DOUBLE__ == __SIZEOF_DOUBLE__ to detect such
targets and provide fallback implementations that call the
corresponding double functions.
Also guard x87 assembly with x86/x86_64 checks and fix missing
includes.
This makes the math code portable while keeping existing x86
optimizations unchanged.

Signed-off-by: Martin Vejbora <martin.vejbora@microsoft.com>
Signed-off-by: Thirumalai Nagalingam <thirumalai.nagalingam@multicorewareinc.com>
Signed-off-by: chandru-mcw <Chandru.kumaresan@multicorewareinc.com>
The configure rule for misaligned accesses is too wide by including
__riscv_misaligned_fast or __riscv_misaligned_slow for enabling the
HW supported misaligned access.
The vector implementation uses m8 register grouping and processes data in
vector-length chunks, providing significant performance improvements on
RVV-capable hardware.  Use conditional compilation to fall back to the
generic implementation when __riscv_vector is not available, maintaining
compatibility with non-vector RISC-V systems.

Signed-off-by: Pincheng Wang <pincheng.plct@isrc.iscas.ac.cn>
The vector implementation uses m8 register grouping and processes data in
vector-length chunks, providing significant performance improvements on
RVV-capable hardware.  Use conditional compilation to fall back to the
scalar implementation when __riscv_vector is not available, maintaining
compatibility with non-vector RISC-V systems.

Signed-off-by: Pincheng Wang <pincheng.plct@isrc.iscas.ac.cn>
The vector implementation uses m8 register grouping and processes data in
vector-length chunks, providing significant performance improvements on
RVV-capable hardware.  Use conditional compilation to fall back to the
generic implementation when __riscv_vector is not available, maintaining
compatibility with non-vector RISC-V systems.

Signed-off-by: Pincheng Wang <pincheng.plct@isrc.iscas.ac.cn>
The vector implementation uses m8 register grouping and processes data in
vector-length chunks, providing significant performance improvements on
RVV-capable hardware.  Use conditional compilation to fall back to the
generic implementation when __riscv_vector is not available, maintaining
compatibility with non-vector RISC-V systems.

Signed-off-by: Pincheng Wang <pincheng.plct@isrc.iscas.ac.cn>
The vector implementation processes data in vector-length chunks,
providing significant performance improvements on RVV-capable hardware.
Use conditional compilation to fall back to the scalar implementation
when __riscv_vector is not available, maintaining compatibility with
non-vector RISC-V systems.

Signed-off-by: Pincheng Wang <pincheng.plct@isrc.iscas.ac.cn>
Respsect _HAVE_HW_MISALIGNED_ACCESS for riscv string functions
When a console process originating from a pseudo console exits, the
current sequence is as follows:

  1) atexit handlers (pcon_handover_proc) called. This also closes
     parent_pty_input_mutex which is introduced by the commit
     c4fb720.
  2) close_all_files() is called via _exit(). This terminates
     cons_master_thread.

parent_pty_input_mutex is referenced in cons_master_thread, so
cons_master_thread may still use the mutex after it has been closed.
This can lead to undesired behaviour, including a deadlock. Instead
of registering pcon_hand_over_proc() as an atexit handler, this
patch calls pcon_handover_proc() at a point in fhandler_console::close
where cons_master_thread has already terminated, ensuring that no
other thread accesses the mutex.

Addresses: msys2/msys2-runtime#338
Fixes: c4fb720 ("Cygwin: console: Use input_mutex in the parent PTY in master thread")
Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Reviewed-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Since the commit 5f515cf, if one thread calls fclose() while
another thread calls fork(), a deadlock can occur. The mechanism
is as follows.
  1) fclose() first calls __sfp_lock_acquire() and, then calls
     lock_process::locker.acquire() via cygheap_fdget().
  2) fork() first calls lock_process::locker.acquire() via the
     constructor of the lock_process class in the hold_everything
     class, and then calls __sfp_lock_acquire() via __fp_lock_all()
     in atforkprepare().
  3) As a result, the thread calling fclose() tries to acquire the
     lock_process lock while holding __sfp_lock, and the thread
     calling fork() tries to acquire __sfp_lock while holding the
     lock_process lock.
This leads to a deadlock. Before the commit 5f515cf, __sfp_lock
was acquired in the constructor of the lock_pthread class in the
hold_everything class, and since lock_pthread is defined before
lock_process, this deadlock did not occur.

This patch moves the atforkprepare() call back into the constructor
of the lock_pthread class, restoring the previous lock acquisition
order.

Fixes: 5f515cf ("Cygwin: add _Fork() system call per POSIX.1-2024")
Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Reviewed-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
The commit 782aac5 introduced surrogate-pair handling. However,
it does not work as expected in the legacy console. This is because,
in legacy console, a KeyDown event for ALT key with UnicodeChar == 0
is inserted between the surrogate pair. The current code reads the
next input event unconditionally for the second UnicodeChar, but it
is not correct. This patch searches the next appropriate key event
with a valid UnicodeChar, ensuring that the second code unit is valid.

Fixes: 782aac5 ("Cygwin: console: Handle Unicode surrogate pairs.")
Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Reviewed-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
libgloss/glue.h has a declaration of print() so there's no need for
putnum.c to have one (which is incorrect and triggers a compilation
warning/error).

Signed-off-by: Chris Packham <judge.packham@gmail.com>
Don't bother trying to determine the flags needed to link the BFD
library if we're not even building dumper.

(AC_NO_EXECUTABLES doesn't do what the name would simply suggest: It
silently checks if a trivial program can link, and turns itself off if
that suceeds.

Tests which rely on linking are only made to fail by AC_NO_EXECUTABLES
if that trivial link has failed (which OK, were probably going to fail
anyway, but now you get the error 'link tests are not allowed after
AC_NO_EXECUTABLES', which is perhaps slightly more informative when you
are cross-compiling with a bootstrap compiler).)

Anyhow, if we're using a compiler which can't link executables, these
instances of AC_CHECK_LIB will definitely fail.  But we can't possibly
build dumper in that situation, so we'll be configuring with
--disable-dumper, and doing those checks serves no purpose.

Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
…erl.S

Fix a typo in the aarch64 preprocessor conditional used in remainderl.S.

> ../../../../src/winsup/cygwin/math/remainderl.S:39:15: error: missing binary operator before token ‘(’
>    39 | #elif _defined(__aarch64__)
>       |               ^

Fixes: a1f347c ("Cygwin: Adapt math functions to use 64bit long double on aarch64")
Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
The mingW-targetted gcc available in Fedora is now gcc 16.

> ../../../../../winsup/utils/mingw/cygcheck.cc: In function 'void dump_sysinfo()':
> ../../../../../winsup/utils/mingw/cygcheck.cc:1716:11: error: variable 'count_path_items' set but not used [-Werror=unused-but-set-variable=]

As far as I can tell, the value of count_path_items we compute has never
been used.

Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
The existing logic for open() assumes an fd is always available in
the fdtable for a created file.  This leads to a situation where, if
there is no fd available due to the OPEN_MAX limit being hit, the
file is created but cannot be referenced by a Cygwin fd.

Move the fd reservation code to an earlier location within open().

Reported-by: Christian Franke <Christian.Franke@t-online.de>
Addresses: https://cygwin.com/pipermail/cygwin/2026-May/259664.html
Signed-off-by: Mark Geisert <mark@maxrnd.com>
Fixes: e859706 (* autoload.cc (NtCreateFile): Add.)
Fixes: 31bf91f ("Cygwin: Ensure unused fd available for open()")
Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
There's several expected failures at the moment which just mask new
problems occuring.

Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
Change "chown 18.544" to "18:544" in two locations.

Reported-by: Lionel Cons <lionelcons1972@gmail.com>
Addresses: <https://cygwin.com/pipermail/cygwin/2026-June/259786.html>
Signed-off-by: Mark Geisert <mark@maxrnd.com>
Fixes: b5a7cb0 (* cygserver-config: Use numeric id 18 instead of "system" in chown.)
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch
up to that fact and revert to their recommended match of BSD-2-Clause.

Discussed with:		pfg
MFC After:		3 days
Sponsored by:		Netflix
__BITSET_FOREACH_ADVANCE is a helper macro for
__BITSET_FOREACH_IS(SET|CLR) and wasn't meant to be used directly by
consumers.

While here, fix some whitespace and move a comment back to where it
belongs.

Fixes:	5e04571cf3cf ("sys/bitset.h: reduce visibility of BIT_* macros")
MFC after:	1 week
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
Macros to ANDNOT a bitset currently exist, but there are no ORNOT
equivalents. Introduce ORNOT macros for bitset(9), cpuset(9), and
domainset(9).

Approved by:	markj (mentor)
Reviewed by:	markj
MFC after:	1 week
Sponsored by:	NIKSUN, Inc.
Differential Revision:	https://reviews.freebsd.org/D44976
jdx-gh and others added 30 commits July 14, 2026 17:17
This patch adds support for .preinit_array, .init_array, and .fini_array
for the H8 family when binutils and GCC are configured with "--enable-initfini-array".

The changes to init.c and fini.c ensure that linker-defined symbols
referenced from C code are not affected by target-specific symbol naming
conventions. For example, GCC for H8 prefixes external symbol names with
an underscore, whereas GCC for ARM does not. The asm keyword is used to
associate C identifiers with the corresponding linker-defined symbol names
in a target-independent manner.

The patch has been tested on H8 wher it enables support for the
initialization and finalization arrays and on ARM in order to verify that
the changes do not introduce any regressions.

Signed-off-by: Jan Dubiec <jdx@o2.pl>
When the test case is compiled for a target with a 16-bit int, the compiler
emits the two warnings shown below, causing the test to fail. The code
assumes that int is 32 bits wide, which is not always the case. This patch
removes that assumption and fixes the resulting compilation warnings.

Signed-off-by: Jan Dubiec <jdx@o2.pl>
…argets

When the test case is compiled for a target with a 16-bit wint_t, the
compiler emits the two warnings shown below, causing the test to fail. The
code assumes that wint_t is 32 bits wide, which is not always the case.
This patch fixes the issue.

Signed-off-by: Jan Dubiec <jdx@o2.pl>
…it targets.

When the test case is compiled for a 16-bit target, the compiler emits
the two warnings shown below, causing the test to fail. The code assumes
that pointers are 32 bits wide, which obviously is not true. This patch
fixes the issue.

Signed-off-by: Jan Dubiec <jdx@o2.pl>
Use the correct BFD target vector name for AArch64,
"elf64-littleaarch64", matching the aarch64_elf64_le_vec
vector registered by BFD, instead of the previously
used "elf64-aarch64", which is not a valid BFD target
name and caused bfd_openw() to fail with "invalid bfd target".

Set the BFD architecture/machine appropriately for
AArch64 (bfd_arch_aarch64 / bfd_mach_aarch64) rather
than unconditionally using bfd_arch_i386, which only
applies to the x86_64 build.

Signed-off-by: Chandru Kumaresan <chandru.kumaresan@multicorewareinc.com>
Signed-off-by: Aswin Kalies <aswin.kalies@multicorewareinc.com>
Also fix the sort order of stress tests.

Signed-off-by: Christian Franke <christian.franke@t-online.de>
Report list of failed tests as a GHA compatible annotation.
Use separate exit status 2 instead of 1 if any test failed.

Signed-off-by: Christian Franke <christian.franke@t-online.de>
This patch defines the _POINTER_INT, _READ_WRITE_RETURN_TYPE, and
_READ_WRITE_BUFSIZE_TYPE macros explicitly for the H8 family, avoiding the
use of their default definitions. It also removes the unused H8300 macro.

Signed-off-by: Jan Dubiec <jdx@o2.pl>
Since the commit 31bf91f, opening fifo causes a deadlock. This
is because, open_with_arch() for fifo can be blocked until the other
side of the fifo is opened. The commit 31bf91f moves the creating
cygheap_fdnew before open_with_arch() to address the issue:
https://cygwin.com/pipermail/cygwin/2026-May/259664.html
However, cygheap_fdnew locks fdtab, so open() for the other side of
fifo cannot create cygheap_fdnew until fdtab is unlocked. This is
the cause of the deadlock.

With this patch, fdtab is unlocked before open_with_arch(), but marked
as used using tentative fhandler. The summary of open() is as follows.
 1) Lock fdtab.
 2) Create new fd.
 3) Mark fd as used using tentative fhandler.
 4) Unlock fdtab.
 5) Call open_with_arch().
 6) Set final fhandler to fd.

The important point is that create fd before open_with_arch() to
address https://cygwin.com/pipermail/cygwin/2026-May/259664.html,
but unlock fdtab before open_with_arch() to address
https://cygwin.com/pipermail/cygwin/2026-July/259884.html.

Fixes: 31bf91f ("Cygwin: Ensure unused fd available for open()")
Addresses: https://cygwin.com/pipermail/cygwin/2026-July/259884.html
Reported-by: kikairoya <kikairoya@gmail.com>
Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Reviewed-by: Mark Geisert <mark@maxrnd.com>
Previously, the steps: cmd.exe -> bash -> cmd.exe exhibit broken
cursor position even with the commit b34394d ("Cygwin: pty:
Fixup pty state after a cygwin app exits").

This patch sets req_fixup_pcon_cur_pos also when reusing existing
pseudo console as well as req_xfer_input. In addition, clearing
`pcon_start_pid` has been moved inside `input_mutex`, to addess
the race condition that becomes harmfull with this patch.

Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Reviewed-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Factor out the repeated .text, .globl, .type, landing-pad (lpad) and
.size boilerplate at the start and end of each assembly function into
ENTRY/END style macros, and convert the RISC-V assembly routines to use
them.
the commit 524d75f ("Cygwin: open: Unlock fdtab before open_
with_arch()") introduced a bug that fdtab lock was not unlocked
when new fd cannot be allocated due to an error.

This patch adds missing unlock for fdtab lock on error.

Fixes: 524d75f ("Cygwin: open: Unlock fdtab before open_with_arch()")
Suggested-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Reviewed-by: Mark Geisert <mark@maxrnd.com>
In the latest version, binutils' BFD no longer declares a `bfd_boolean`,
and the `bfd_record_phdr()` function accepts plain `bool` parameters
instead.

Let's accommodate for that to avoid these build failures:

  .../winsup/utils/dumper.cc: In member function 'int dumper::prepare_core_dump()':
  .../winsup/utils/dumper.cc:830:7: error: 'bfd_boolean' was not declared in this scope; did you mean 'boolean'?
    830 |       bfd_boolean filehdr = 0;
        |       ^~~~~~~~~~~
        |       boolean
  .../winsup/utils/dumper.cc:831:18: error: expected ';' before 'phdrs'
    831 |       bfd_boolean phdrs = 0;
        |                  ^~~~~~
        |                  ;
  [...]

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This patch fixes crashes that occur when a signal interrupts sigfe or
any non-cygwin function that does not preserve the LR register in its
prologue/epilogue. This crash was discovered through the "run-heredoc"
testcase in bash's testsuite, which caused bash to call "read"
frequently, leading to a high chance of a signal interrupting sigfe.

The original "sigdelayed" function in gendef clobbered the LR register
to return to the instruction where the thread was interrupted. Picking
any other register for branching back would also clobber said register.
Leaf functions are not guaranteed to be compiled with LR being preserved
on the stack. The solution is to use RtlRestoreContext to restore all
registers without needing to sacrifice any.

The patch replaces sigdelayed with an implementation that consists of
both C and assembly functions. The "sigdelayed" assembly function was
replaced with a simple wrapper function that was kept as assembly code
to guarantee total control of the registers that get clobbered prior to
capturing the context. This function calls RtlCaptureContext first, with
the context being stored on the stack. The context is then passed to a
C++ function which fixes the clobbered registers. Finally, this calls a
C++ implementation of the original x64/AArch64 assembly version of
sigdelayed. These functions were not written in assembly for the sake of
readability. Once it completed handling the signals, it uses
RtlRestoreContext to jump back.

Signed-off-by: Mate Dimand <mate.dimand@arm.com>
Tentative assignment of fhandler to fdtab introduced by the commit
524d75f ("Cygwin: open: Unlock fdtab before open_with_arch()")
causes the undesired behaviour. The commit intended that fhandler
was just a marker for reservation of fd. However, another cygwin
call may assume that the fd is valid and in use, and may operate on
it.

This patch introduces a special value ((fhandler_base *) -1) for
fdtab that marks the fd as reserved and means it cannot be assigned
for another open(), etc.

Fixes: 524d75f ("Cygwin: open: Unlock fdtab before open_with_arch()")
Suggested-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Reviewed-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
The commit fac7391 ("Cygwin: console: Fix typeahead input for
bash") introduced a bug where select() consumes some input chars in
canonical mode, preventing read() from reading them. This is due to
discarding input events when process_input_message() does not return
`input_ok` even if it is called from select().
The basic idea of that commit was making process_input_message()
not to store processed chars into readahead buffer. This was not
correct because the key input events were processed twice, once by
select() and again by read(). Thus even if that commit worked as
intended, the side effect such as input echo would be applied twice.

With this patch, process_input_message() handles only the minimum
necessary of input events in both cases, those processed by select()
and those processed by read(). To achieve this behaviour, the function
returns without processing when `input_ready` is already satisfied,
or after it has processed the specified number of chars.

Addresses: https://cygwin.com/pipermail/cygwin/2026-August/259915.html
Reported-by: Steven Doerfler <sgd-cygwinlist@lugaru.com>
Fixes: fac7391 ("Cygwin: console: Fix typeahead input for bash")
Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Revewied-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
…ygwin

Currently, when a native Windows program starts a Cygwin program while a
pseudo console is active, and the Cygwin program then starts another
native Windows program, the final program can lose access to console
input. It then behaves as though its standard input were redirected
instead of remaining interactive.

For example, a native `git.exe` may invoke shell aliases (i.e. execute a
shell command) that would in turn call interactive Git commands who
would no longer work because their standard input appeared to be
redirected. This can be demonstrated as follows:

  git -c 'alias.console-probe=!powershell.exe -NoLogo -NoProfile -Command "
    Write-Output ([Console]::IsInputRedirected)
    try {
      [void][Console]::KeyAvailable
      exit 0
    } catch {
      exit 1
    }
  "' console-probe

Running this command with a Win32 version of `git.exe` currently prints
`True` and exits with exit code 1. In the latest official release, where
this bug is not present, it prints `False` and results in exit code 0.

The reason is to be fonud in the archetype code. Reminder: For each
pseudo terminal (pty), the archetype is the shared pty fhandler that
owns the underlying native handles and supplies them to every
per-file-descriptor fhandler for that pty.

`open_with_arch()` calls `open()`, copies the first pty fhandler's state
into the archetype, and then calls `open_setup()`. At that stage, pcon
handle adoption already took place in `open_setup()`. This was not
anticipated by 60a8889 (Cygwin: pty: do not leak nat handles when
adopting the pcon's in open_setup(), 2026-06-25), which tried to fix a
leak by closing the superseded native handles as they were replaced in
`open_setup()`.  Because `open_with_arch()` had already copied those
handle values into the archetype, closing them invalidated the
archetype's copies.

The archetype therefore retained stale values for those closed handles,
which later pty fd fhandlers would inherit. If Windows reuses one of
those values for a newly duplicated pcon handle, closing the stale value
closes the new handle instead. The nested native program then receives
unusable console input.

Preserve usable console input by moving the unchanged transactional pcon
handle adoption to `open()`, before the archetype snapshot. The archetype
then receives valid pcon handles, all pty fd fhandlers inherit live
handles, and the superseded raw pipe handles are closed exactly once.

This commit is best viewed with `--color-moved`.

Fixes: 60a8889 ("Cygwin: pty: do not leak nat handles when
 adopting the pcon's in open_setup()")
Assisted-by: GPT-5.6 Sol
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Reviewed-by: Takashi Yano <takashi.yano@nifty.ne.jp>
With the commit a0fe984 ("getlocalename_l: allow LC_ALL category"),
the code attempts to copy locale string to `locobj->locale_string`,
in __currentlocale() in _getlocalename_l_r(). However, if `locobj` is
the "C" locale, it points to the const area. This results in a crash.

This patch simply returns "C" when the `locobj` represents the C
locale, instead of constructing LC_ALL string from `categories[]`
because all the `categories[]` are always "C" for the C locale.

Fixes: a0fe984 ("getlocalename_l: allow LC_ALL category")
Addresses: https://cygwin.com/pipermail/cygwin/2026-August/259965.html
Reported-by: Tony Cook <tony@develop-help.com>
Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
This patch complements the following binutils patch: https://sourceware.org/pipermail/binutils/2026-August/150974.html.

Signed-off-by: Jan Dubiec <jdx@o2.pl>
The ABI of the architecture makes $r6 to $r11 call-saved.  The routines
saved and restored $r6 to $r10 only, and _JBLEN left no room for
another register.  A value which the compiler holds in $r11 across a
setjmp() and longjmp() pair was lost.  A caller which returns through
longjmp() and then makes an indirect call through $r11 jumps to
whatever the intervening code left there.

Add $r11 to the jump buffer and raise _JBLEN to 11.  Correct the layout
comment, which swapped $sp and $fp and gave the last stack frame slot
as 0x25.

The size of jmp_buf changes, so the C library and every application
must be built together.

Found with the RTEMS test suite on the moxie GDB simulator.  The test
spmutex01 calls longjmp() from a fatal error extension and returns into
an indirect call through $r11.

Assisted-by: Claude:claude-opus-5 claude-code
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
Previously, format_proc_loadavg() wrongly passed an argument `i` to
get_process_state(). This should be windows process ID (pids[i]->
dwProcessId). This patch fix that.

Fixes: 9ca6553 ("* fhandler_proc.cc (format_proc_loadavg): Add running/total processes as fourth component of output.")
Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Reviewed-by: Mark Geisert <mark@maxrnd.com>
Currently, /proc/<pid>/stat always reports 0 as the number of thread.
However, get_process_state() does know the thread count for the
process, so expose that value in /proc/<pid>/stat. Additionally, add
a "Threads:" entry to /proc/<pid>/status.

Fixes: 9ba913a ("* fhandler_proc.cc (proc_listing_array): Add 'loadavg', 'meminfo', and 'stat'.")
Signed-off-by: Takashi Yano <takashi.yano@nifty.ne.jp>
Reviewed-by: Mark Geisert <mark@maxrnd.com>
This might be more reliable if the http service is being DDoS'ed.
Add the AArch64 implementations that were previously #error stubs:
  - the alternate-signal-stack (SA_ONSTACK) asm in call_signal_handler,
  - the __cont_link_context trampoline, and
  - setcontext/makecontext for aarch64.

Signal delivery itself already worked; this fills in the SA_ONSTACK and
ucontext paths.

Signed-off-by: Chandru Kumaresan <chandru.kumaresan@multicorewareinc.com>
Signed-off-by: Aswin Kalies <aswin.kalies@multicorewareinc.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.