Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Linux/arch/x86/lib/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 2 kB image not shown  

Quelle  bhi.S   Sprache: Sparc

 
/* SPDX-License-Identifier: GPL-2.0 */

#include <linux/linkage.h>
#include <asm/unwind_hints.h>
#include <asm/nospec-branch.h>

/*
 * Notably, the FineIBT preamble calling these will have ZF set and r10 zero.
 *
 * The very last element is in fact larger than 32 bytes, but since its the
 * last element, this does not matter,
 *
 * There are 2 #UD sites, located between 0,1-2,3 and 4,5-6,7 such that they
 * can be reached using Jcc.d8, these elements (1 and 5) have sufficiently
 * big alignment holes for this to not stagger the array.
 */


.pushsection .noinstr.text, "ax"

 .align 32
SYM_CODE_START(__bhi_args)

#ifdef CONFIG_FINEIBT_BHI

 .align 32
SYM_INNER_LABEL(__bhi_args_0, SYM_L_LOCAL)
 ANNOTATE_NOENDBR
 UNWIND_HINT_FUNC
 jne .Lud_1
 ANNOTATE_UNRET_SAFE
 ret
 int3

 .align 32
SYM_INNER_LABEL(__bhi_args_1, SYM_L_LOCAL)
 ANNOTATE_NOENDBR
 UNWIND_HINT_FUNC
 jne .Lud_1
 cmovne %r10, %rdi
 ANNOTATE_UNRET_SAFE
 ret
 int3

 .align 8
 ANNOTATE_REACHABLE
.Lud_1: ud2
 ANNOTATE_UNRET_SAFE
 ret
 int3

 .align 32
SYM_INNER_LABEL(__bhi_args_2, SYM_L_LOCAL)
 ANNOTATE_NOENDBR
 UNWIND_HINT_FUNC
 jne .Lud_1
 cmovne %r10, %rdi
 cmovne %r10, %rsi
 ANNOTATE_UNRET_SAFE
 ret
 int3

 .align 32
SYM_INNER_LABEL(__bhi_args_3, SYM_L_LOCAL)
 ANNOTATE_NOENDBR
 UNWIND_HINT_FUNC
 jne .Lud_1
 cmovne %r10, %rdi
 cmovne %r10, %rsi
 cmovne %r10, %rdx
 ANNOTATE_UNRET_SAFE
 ret
 int3

 .align 32
SYM_INNER_LABEL(__bhi_args_4, SYM_L_LOCAL)
 ANNOTATE_NOENDBR
 UNWIND_HINT_FUNC
 jne .Lud_2
 cmovne %r10, %rdi
 cmovne %r10, %rsi
 cmovne %r10, %rdx
 cmovne %r10, %rcx
 ANNOTATE_UNRET_SAFE
 ret
 int3

 .align 32
SYM_INNER_LABEL(__bhi_args_5, SYM_L_LOCAL)
 ANNOTATE_NOENDBR
 UNWIND_HINT_FUNC
 jne .Lud_2
 cmovne %r10, %rdi
 cmovne %r10, %rsi
 cmovne %r10, %rdx
 cmovne %r10, %rcx
 cmovne %r10, %r8
 ANNOTATE_UNRET_SAFE
 ret
 int3

 .align 8
 ANNOTATE_REACHABLE
.Lud_2: ud2
 ANNOTATE_UNRET_SAFE
 ret
 int3

 .align 32
SYM_INNER_LABEL(__bhi_args_6, SYM_L_LOCAL)
 ANNOTATE_NOENDBR
 UNWIND_HINT_FUNC
 jne .Lud_2
 cmovne %r10, %rdi
 cmovne %r10, %rsi
 cmovne %r10, %rdx
 cmovne %r10, %rcx
 cmovne %r10, %r8
 cmovne %r10, %r9
 ANNOTATE_UNRET_SAFE
 ret
 int3

 .align 32
SYM_INNER_LABEL(__bhi_args_7, SYM_L_LOCAL)
 ANNOTATE_NOENDBR
 UNWIND_HINT_FUNC
 jne .Lud_2
 cmovne %r10, %rdi
 cmovne %r10, %rsi
 cmovne %r10, %rdx
 cmovne %r10, %rcx
 cmovne %r10, %r8
 cmovne %r10, %r9
 cmovne %r10, %rsp
 ANNOTATE_UNRET_SAFE
 ret
 int3

#endif /* CONFIG_FINEIBT_BHI */

 .align 32
SYM_INNER_LABEL(__bhi_args_end, SYM_L_GLOBAL)
 ANNOTATE_NOENDBR
 nop /* Work around toolchain+objtool quirk */
SYM_CODE_END(__bhi_args)

.popsection

Messung V0.5
C=97 H=100 G=98

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.