355 lines
13 KiB
ArmAsm
355 lines
13 KiB
ArmAsm
.file "asm-offsets.c"
|
|
# GNU C89 (Ubuntu 11.4.0-1ubuntu1~22.04) version 11.4.0 (x86_64-linux-gnu)
|
|
# compiled by GNU C version 11.4.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP
|
|
|
|
# GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
|
|
# options passed: -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -m64 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -mindirect-branch=thunk-extern -mindirect-branch-register -march=x86-64 -O2 -std=gnu90 -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -fcf-protection=none -falign-jumps=1 -falign-loops=1 -fno-asynchronous-unwind-tables -fno-jump-tables -fno-delete-null-pointer-checks -fno-allow-store-data-races -fstack-protector-strong -fomit-frame-pointer -fno-strict-overflow -fstack-check=no -fconserve-stack -fstack-protector-strong -fstack-clash-protection
|
|
.text
|
|
.section .text.startup,"ax",@progbits
|
|
.p2align 4
|
|
.globl main
|
|
.type main, @function
|
|
main:
|
|
# arch/x86/kernel/asm-offsets_64.c:32: ENTRY(bx);
|
|
#APP
|
|
# 32 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->pt_regs_bx $40 offsetof(struct pt_regs, bx)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:33: ENTRY(cx);
|
|
# 33 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->pt_regs_cx $88 offsetof(struct pt_regs, cx)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:34: ENTRY(dx);
|
|
# 34 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->pt_regs_dx $96 offsetof(struct pt_regs, dx)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:35: ENTRY(sp);
|
|
# 35 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->pt_regs_sp $152 offsetof(struct pt_regs, sp)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:36: ENTRY(bp);
|
|
# 36 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->pt_regs_bp $32 offsetof(struct pt_regs, bp)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:37: ENTRY(si);
|
|
# 37 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->pt_regs_si $104 offsetof(struct pt_regs, si)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:38: ENTRY(di);
|
|
# 38 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->pt_regs_di $112 offsetof(struct pt_regs, di)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:39: ENTRY(r8);
|
|
# 39 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->pt_regs_r8 $72 offsetof(struct pt_regs, r8)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:40: ENTRY(r9);
|
|
# 40 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->pt_regs_r9 $64 offsetof(struct pt_regs, r9)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:41: ENTRY(r10);
|
|
# 41 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->pt_regs_r10 $56 offsetof(struct pt_regs, r10)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:42: ENTRY(r11);
|
|
# 42 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->pt_regs_r11 $48 offsetof(struct pt_regs, r11)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:43: ENTRY(r12);
|
|
# 43 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->pt_regs_r12 $24 offsetof(struct pt_regs, r12)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:44: ENTRY(r13);
|
|
# 44 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->pt_regs_r13 $16 offsetof(struct pt_regs, r13)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:45: ENTRY(r14);
|
|
# 45 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->pt_regs_r14 $8 offsetof(struct pt_regs, r14)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:46: ENTRY(r15);
|
|
# 46 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->pt_regs_r15 $0 offsetof(struct pt_regs, r15)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:47: ENTRY(flags);
|
|
# 47 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->pt_regs_flags $144 offsetof(struct pt_regs, flags)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:48: BLANK();
|
|
# 48 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->"
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:52: ENTRY(cr0);
|
|
# 52 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->saved_context_cr0 $200 offsetof(struct saved_context, cr0)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:53: ENTRY(cr2);
|
|
# 53 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->saved_context_cr2 $208 offsetof(struct saved_context, cr2)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:54: ENTRY(cr3);
|
|
# 54 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->saved_context_cr3 $216 offsetof(struct saved_context, cr3)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:55: ENTRY(cr4);
|
|
# 55 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->saved_context_cr4 $224 offsetof(struct saved_context, cr4)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:56: ENTRY(gdt_desc);
|
|
# 56 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->saved_context_gdt_desc $267 offsetof(struct saved_context, gdt_desc)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:57: BLANK();
|
|
# 57 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->"
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:60: BLANK();
|
|
# 60 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->"
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:63: DEFINE(stack_canary_offset, offsetof(struct fixed_percpu_data, stack_canary));
|
|
# 63 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->stack_canary_offset $40 offsetof(struct fixed_percpu_data, stack_canary)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:64: BLANK();
|
|
# 64 "arch/x86/kernel/asm-offsets_64.c" 1
|
|
|
|
.ascii "->"
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets_64.c:67: }
|
|
#NO_APP
|
|
xorl %eax, %eax #
|
|
ret
|
|
.size main, .-main
|
|
.text
|
|
.p2align 4
|
|
.type common, @function
|
|
common:
|
|
# arch/x86/kernel/asm-offsets.c:34: BLANK();
|
|
#APP
|
|
# 34 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->"
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:35: OFFSET(TASK_threadsp, task_struct, thread.sp);
|
|
# 35 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->TASK_threadsp $2648 offsetof(struct task_struct, thread.sp)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:37: OFFSET(TASK_stack_canary, task_struct, stack_canary);
|
|
# 37 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->TASK_stack_canary $1264 offsetof(struct task_struct, stack_canary)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:40: BLANK();
|
|
# 40 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->"
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:41: OFFSET(crypto_tfm_ctx_offset, crypto_tfm, __crt_ctx);
|
|
# 41 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->crypto_tfm_ctx_offset $24 offsetof(struct crypto_tfm, __crt_ctx)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:43: BLANK();
|
|
# 43 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->"
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:44: OFFSET(pbe_address, pbe, address);
|
|
# 44 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->pbe_address $0 offsetof(struct pbe, address)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:45: OFFSET(pbe_orig_address, pbe, orig_address);
|
|
# 45 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->pbe_orig_address $8 offsetof(struct pbe, orig_address)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:46: OFFSET(pbe_next, pbe, next);
|
|
# 46 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->pbe_next $16 offsetof(struct pbe, next)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:49: BLANK();
|
|
# 49 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->"
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:50: OFFSET(IA32_SIGCONTEXT_ax, sigcontext_32, ax);
|
|
# 50 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->IA32_SIGCONTEXT_ax $44 offsetof(struct sigcontext_32, ax)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:51: OFFSET(IA32_SIGCONTEXT_bx, sigcontext_32, bx);
|
|
# 51 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->IA32_SIGCONTEXT_bx $32 offsetof(struct sigcontext_32, bx)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:52: OFFSET(IA32_SIGCONTEXT_cx, sigcontext_32, cx);
|
|
# 52 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->IA32_SIGCONTEXT_cx $40 offsetof(struct sigcontext_32, cx)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:53: OFFSET(IA32_SIGCONTEXT_dx, sigcontext_32, dx);
|
|
# 53 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->IA32_SIGCONTEXT_dx $36 offsetof(struct sigcontext_32, dx)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:54: OFFSET(IA32_SIGCONTEXT_si, sigcontext_32, si);
|
|
# 54 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->IA32_SIGCONTEXT_si $20 offsetof(struct sigcontext_32, si)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:55: OFFSET(IA32_SIGCONTEXT_di, sigcontext_32, di);
|
|
# 55 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->IA32_SIGCONTEXT_di $16 offsetof(struct sigcontext_32, di)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:56: OFFSET(IA32_SIGCONTEXT_bp, sigcontext_32, bp);
|
|
# 56 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->IA32_SIGCONTEXT_bp $24 offsetof(struct sigcontext_32, bp)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:57: OFFSET(IA32_SIGCONTEXT_sp, sigcontext_32, sp);
|
|
# 57 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->IA32_SIGCONTEXT_sp $28 offsetof(struct sigcontext_32, sp)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:58: OFFSET(IA32_SIGCONTEXT_ip, sigcontext_32, ip);
|
|
# 58 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->IA32_SIGCONTEXT_ip $56 offsetof(struct sigcontext_32, ip)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:60: BLANK();
|
|
# 60 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->"
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:61: OFFSET(IA32_RT_SIGFRAME_sigcontext, rt_sigframe_ia32, uc.uc_mcontext);
|
|
# 61 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->IA32_RT_SIGFRAME_sigcontext $164 offsetof(struct rt_sigframe_ia32, uc.uc_mcontext)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:78: BLANK();
|
|
# 78 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->"
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:79: OFFSET(BP_scratch, boot_params, scratch);
|
|
# 79 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->BP_scratch $484 offsetof(struct boot_params, scratch)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:80: OFFSET(BP_secure_boot, boot_params, secure_boot);
|
|
# 80 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->BP_secure_boot $492 offsetof(struct boot_params, secure_boot)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:81: OFFSET(BP_loadflags, boot_params, hdr.loadflags);
|
|
# 81 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->BP_loadflags $529 offsetof(struct boot_params, hdr.loadflags)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:82: OFFSET(BP_hardware_subarch, boot_params, hdr.hardware_subarch);
|
|
# 82 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->BP_hardware_subarch $572 offsetof(struct boot_params, hdr.hardware_subarch)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:83: OFFSET(BP_version, boot_params, hdr.version);
|
|
# 83 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->BP_version $518 offsetof(struct boot_params, hdr.version)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:84: OFFSET(BP_kernel_alignment, boot_params, hdr.kernel_alignment);
|
|
# 84 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->BP_kernel_alignment $560 offsetof(struct boot_params, hdr.kernel_alignment)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:85: OFFSET(BP_init_size, boot_params, hdr.init_size);
|
|
# 85 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->BP_init_size $608 offsetof(struct boot_params, hdr.init_size)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:86: OFFSET(BP_pref_address, boot_params, hdr.pref_address);
|
|
# 86 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->BP_pref_address $600 offsetof(struct boot_params, hdr.pref_address)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:88: BLANK();
|
|
# 88 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->"
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:89: DEFINE(PTREGS_SIZE, sizeof(struct pt_regs));
|
|
# 89 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->PTREGS_SIZE $168 sizeof(struct pt_regs)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:92: OFFSET(TLB_STATE_user_pcid_flush_mask, tlb_state, user_pcid_flush_mask);
|
|
# 92 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->TLB_STATE_user_pcid_flush_mask $22 offsetof(struct tlb_state, user_pcid_flush_mask)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:95: OFFSET(CPU_ENTRY_AREA_entry_stack, cpu_entry_area, entry_stack_page);
|
|
# 95 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->CPU_ENTRY_AREA_entry_stack $4096 offsetof(struct cpu_entry_area, entry_stack_page)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:96: DEFINE(SIZEOF_entry_stack, sizeof(struct entry_stack));
|
|
# 96 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->SIZEOF_entry_stack $4096 sizeof(struct entry_stack)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:97: DEFINE(MASK_entry_stack, (~(sizeof(struct entry_stack) - 1)));
|
|
# 97 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->MASK_entry_stack $-4096 (~(sizeof(struct entry_stack) - 1))" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:100: OFFSET(TSS_sp0, tss_struct, x86_tss.sp0);
|
|
# 100 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->TSS_sp0 $4 offsetof(struct tss_struct, x86_tss.sp0)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:101: OFFSET(TSS_sp1, tss_struct, x86_tss.sp1);
|
|
# 101 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->TSS_sp1 $12 offsetof(struct tss_struct, x86_tss.sp1)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:102: OFFSET(TSS_sp2, tss_struct, x86_tss.sp2);
|
|
# 102 "arch/x86/kernel/asm-offsets.c" 1
|
|
|
|
.ascii "->TSS_sp2 $20 offsetof(struct tss_struct, x86_tss.sp2)" #
|
|
# 0 "" 2
|
|
# arch/x86/kernel/asm-offsets.c:103: }
|
|
#NO_APP
|
|
ret
|
|
.size common, .-common
|
|
.ident "GCC: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0"
|
|
.section .note.GNU-stack,"",@progbits
|