1## Test that note values are interpreted correctly for core files. 2 3## Check NT_PRSTATUS. 4# RUN: yaml2obj %s -DTYPE=0x1 -o %t_nt_prstatus.o 5# RUN: llvm-readelf --notes %t_nt_prstatus.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_PRSTATUS (prstatus structure)" 6# RUN: llvm-readobj --notes %t_nt_prstatus.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_PRSTATUS (prstatus structure)" 7 8## Check NT_FPREGSET. 9# RUN: yaml2obj %s -DTYPE=0x2 -o %t_nt_fpregset.o 10# RUN: llvm-readelf --notes %t_nt_fpregset.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_FPREGSET (floating point registers)" 11# RUN: llvm-readobj --notes %t_nt_fpregset.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_FPREGSET (floating point registers)" 12 13## Check NT_PRPSINFO. 14# RUN: yaml2obj %s -DTYPE=0x3 -o %t_nt_prpsinfo.o 15# RUN: llvm-readelf --notes %t_nt_prpsinfo.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_PRPSINFO (prpsinfo structure)" 16# RUN: llvm-readobj --notes %t_nt_prpsinfo.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_PRPSINFO (prpsinfo structure)" 17 18## Check NT_TASKSTRUCT. 19# RUN: yaml2obj %s -DTYPE=0x4 -o %t_nt_taskstruct.o 20# RUN: llvm-readelf --notes %t_nt_taskstruct.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_TASKSTRUCT (task structure)" 21# RUN: llvm-readobj --notes %t_nt_taskstruct.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_TASKSTRUCT (task structure)" 22 23## Check NT_AUXV. 24# RUN: yaml2obj %s -DTYPE=0x6 -o %t_nt_auxv.o 25# RUN: llvm-readelf --notes %t_nt_auxv.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_AUXV (auxiliary vector)" 26# RUN: llvm-readobj --notes %t_nt_auxv.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_AUXV (auxiliary vector)" 27 28## Check NT_PSTATUS. 29# RUN: yaml2obj %s -DTYPE=0xA -o %t_nt_pstatus.o 30# RUN: llvm-readelf --notes %t_nt_pstatus.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_PSTATUS (pstatus structure)" 31# RUN: llvm-readobj --notes %t_nt_pstatus.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_PSTATUS (pstatus structure)" 32 33## Check NT_FPREGS. 34# RUN: yaml2obj %s -DTYPE=0xC -o %t_nt_fpregs.o 35# RUN: llvm-readelf --notes %t_nt_fpregs.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_FPREGS (floating point registers)" 36# RUN: llvm-readobj --notes %t_nt_fpregs.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_FPREGS (floating point registers)" 37 38## Check NT_PSINFO. 39# RUN: yaml2obj %s -DTYPE=0xD -o %t_nt_psinfo.o 40# RUN: llvm-readelf --notes %t_nt_psinfo.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_PSINFO (psinfo structure)" 41# RUN: llvm-readobj --notes %t_nt_psinfo.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_PSINFO (psinfo structure)" 42 43## Check NT_LWPSTATUS. 44# RUN: yaml2obj %s -DTYPE=0x10 -o %t_nt_lwpstatus.o 45# RUN: llvm-readelf --notes %t_nt_lwpstatus.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_LWPSTATUS (lwpstatus_t structure)" 46# RUN: llvm-readobj --notes %t_nt_lwpstatus.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_LWPSTATUS (lwpstatus_t structure)" 47 48## Check NT_LWPSINFO. 49# RUN: yaml2obj %s -DTYPE=0x11 -o %t_nt_lwpsinfo.o 50# RUN: llvm-readelf --notes %t_nt_lwpsinfo.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_LWPSINFO (lwpsinfo_t structure)" 51# RUN: llvm-readobj --notes %t_nt_lwpsinfo.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_LWPSINFO (lwpsinfo_t structure)" 52 53## Check NT_WIN32PSTATUS. 54# RUN: yaml2obj %s -DTYPE=0x12 -o %t_nt_win32pstatus.o 55# RUN: llvm-readelf --notes %t_nt_win32pstatus.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_WIN32PSTATUS (win32_pstatus structure)" 56# RUN: llvm-readobj --notes %t_nt_win32pstatus.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_WIN32PSTATUS (win32_pstatus structure)" 57 58## Check ELF::NT_PPC_VMX. 59# RUN: yaml2obj %s -DTYPE=0x100 -o %t_nt_ppc_vmx.o 60# RUN: llvm-readelf --notes %t_nt_ppc_vmx.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_PPC_VMX (ppc Altivec registers)" 61# RUN: llvm-readobj --notes %t_nt_ppc_vmx.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_PPC_VMX (ppc Altivec registers)" 62 63## Check ELF::NT_PPC_VSX. 64# RUN: yaml2obj %s -DTYPE=0x102 -o %t_nt_ppc_vsx.o 65# RUN: llvm-readelf --notes %t_nt_ppc_vsx.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_PPC_VSX (ppc VSX registers)" 66# RUN: llvm-readobj --notes %t_nt_ppc_vsx.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_PPC_VSX (ppc VSX registers)" 67 68## Check ELF::NT_PPC_TAR. 69# RUN: yaml2obj %s -DTYPE=0x103 -o %t_nt_ppc_tar.o 70# RUN: llvm-readelf --notes %t_nt_ppc_tar.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_PPC_TAR (ppc TAR register)" 71# RUN: llvm-readobj --notes %t_nt_ppc_tar.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_PPC_TAR (ppc TAR register)" 72 73## Check ELF::NT_PPC_PPR. 74# RUN: yaml2obj %s -DTYPE=0x104 -o %t_nt_ppc_ppr.o 75# RUN: llvm-readelf --notes %t_nt_ppc_ppr.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_PPC_PPR (ppc PPR register)" 76# RUN: llvm-readobj --notes %t_nt_ppc_ppr.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_PPC_PPR (ppc PPR register)" 77 78## Check ELF::NT_PPC_DSCR. 79# RUN: yaml2obj %s -DTYPE=0x105 -o %t_nt_ppc_dscr.o 80# RUN: llvm-readelf --notes %t_nt_ppc_dscr.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_PPC_DSCR (ppc DSCR register)" 81# RUN: llvm-readobj --notes %t_nt_ppc_dscr.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_PPC_DSCR (ppc DSCR register)" 82 83## Check ELF::NT_PPC_EBB. 84# RUN: yaml2obj %s -DTYPE=0x106 -o %t_nt_ppc_ebb.o 85# RUN: llvm-readelf --notes %t_nt_ppc_ebb.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_PPC_EBB (ppc EBB registers)" 86# RUN: llvm-readobj --notes %t_nt_ppc_ebb.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_PPC_EBB (ppc EBB registers)" 87 88## Check ELF::NT_PPC_PMU. 89# RUN: yaml2obj %s -DTYPE=0x107 -o %t_nt_ppc_pmu.o 90# RUN: llvm-readelf --notes %t_nt_ppc_pmu.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_PPC_PMU (ppc PMU registers)" 91# RUN: llvm-readobj --notes %t_nt_ppc_pmu.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_PPC_PMU (ppc PMU registers)" 92 93## Check ELF::NT_PPC_TM_CGPR. 94# RUN: yaml2obj %s -DTYPE=0x108 -o %t_nt_ppc_tm_cgpr.o 95# RUN: llvm-readelf --notes %t_nt_ppc_tm_cgpr.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_PPC_TM_CGPR (ppc checkpointed GPR registers)" 96# RUN: llvm-readobj --notes %t_nt_ppc_tm_cgpr.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_PPC_TM_CGPR (ppc checkpointed GPR registers)" 97 98## Check ELF::NT_PPC_TM_CFPR. 99# RUN: yaml2obj %s -DTYPE=0x109 -o %t_nt_ppc_tm_cfpr.o 100# RUN: llvm-readelf --notes %t_nt_ppc_tm_cfpr.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_PPC_TM_CFPR (ppc checkpointed floating point registers)" 101# RUN: llvm-readobj --notes %t_nt_ppc_tm_cfpr.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_PPC_TM_CFPR (ppc checkpointed floating point registers)" 102 103## Check ELF::NT_PPC_TM_CVMX. 104# RUN: yaml2obj %s -DTYPE=0x10a -o %t_nt_ppc_tm_cvmx.o 105# RUN: llvm-readelf --notes %t_nt_ppc_tm_cvmx.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_PPC_TM_CVMX (ppc checkpointed Altivec registers)" 106# RUN: llvm-readobj --notes %t_nt_ppc_tm_cvmx.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_PPC_TM_CVMX (ppc checkpointed Altivec registers)" 107 108## Check ELF::NT_PPC_TM_CVSX. 109# RUN: yaml2obj %s -DTYPE=0x10b -o %t_nt_ppc_tm_cvsx.o 110# RUN: llvm-readelf --notes %t_nt_ppc_tm_cvsx.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_PPC_TM_CVSX (ppc checkpointed VSX registers)" 111# RUN: llvm-readobj --notes %t_nt_ppc_tm_cvsx.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_PPC_TM_CVSX (ppc checkpointed VSX registers)" 112 113## Check ELF::NT_PPC_TM_SPR. 114# RUN: yaml2obj %s -DTYPE=0x10c -o %t_nt_ppc_tm_spr.o 115# RUN: llvm-readelf --notes %t_nt_ppc_tm_spr.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_PPC_TM_SPR (ppc TM special purpose registers)" 116# RUN: llvm-readobj --notes %t_nt_ppc_tm_spr.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_PPC_TM_SPR (ppc TM special purpose registers)" 117 118## Check ELF::NT_PPC_TM_CTAR. 119# RUN: yaml2obj %s -DTYPE=0x10d -o %t_nt_ppc_tm_ctar.o 120# RUN: llvm-readelf --notes %t_nt_ppc_tm_ctar.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_PPC_TM_CTAR (ppc checkpointed TAR register)" 121# RUN: llvm-readobj --notes %t_nt_ppc_tm_ctar.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_PPC_TM_CTAR (ppc checkpointed TAR register)" 122 123## Check ELF::NT_PPC_TM_CPPR. 124# RUN: yaml2obj %s -DTYPE=0x10e -o %t_nt_ppc_tm_cppr.o 125# RUN: llvm-readelf --notes %t_nt_ppc_tm_cppr.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_PPC_TM_CPPR (ppc checkpointed PPR register)" 126# RUN: llvm-readobj --notes %t_nt_ppc_tm_cppr.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_PPC_TM_CPPR (ppc checkpointed PPR register)" 127 128## Check ELF::NT_PPC_TM_CDSCR. 129# RUN: yaml2obj %s -DTYPE=0x10f -o %t_nt_ppc_tm_cdscr.o 130# RUN: llvm-readelf --notes %t_nt_ppc_tm_cdscr.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_PPC_TM_CDSCR (ppc checkpointed DSCR register)" 131# RUN: llvm-readobj --notes %t_nt_ppc_tm_cdscr.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_PPC_TM_CDSCR (ppc checkpointed DSCR register)" 132 133## Check ELF::NT_386_TLS. 134# RUN: yaml2obj %s -DTYPE=0x200 -o %t_nt_386_tls.o 135# RUN: llvm-readelf --notes %t_nt_386_tls.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_386_TLS (x86 TLS information)" 136# RUN: llvm-readobj --notes %t_nt_386_tls.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_386_TLS (x86 TLS information)" 137 138## Check ELF::NT_386_IOPERM. 139# RUN: yaml2obj %s -DTYPE=0x201 -o %t_nt_386_ioperm.o 140# RUN: llvm-readelf --notes %t_nt_386_ioperm.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_386_IOPERM (x86 I/O permissions)" 141# RUN: llvm-readobj --notes %t_nt_386_ioperm.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_386_IOPERM (x86 I/O permissions)" 142 143## Check ELF::NT_X86_XSTATE. 144# RUN: yaml2obj %s -DTYPE=0x202 -o %t_nt_x86_xstate.o 145# RUN: llvm-readelf --notes %t_nt_x86_xstate.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_X86_XSTATE (x86 XSAVE extended state)" 146# RUN: llvm-readobj --notes %t_nt_x86_xstate.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_X86_XSTATE (x86 XSAVE extended state)" 147 148## Check ELF::NT_S390_HIGH_GPRS. 149# RUN: yaml2obj %s -DTYPE=0x300 -o %t_nt_s390_high_gprs.o 150# RUN: llvm-readelf --notes %t_nt_s390_high_gprs.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_S390_HIGH_GPRS (s390 upper register halves)" 151# RUN: llvm-readobj --notes %t_nt_s390_high_gprs.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_S390_HIGH_GPRS (s390 upper register halves)" 152 153## Check ELF::NT_S390_TIMER. 154# RUN: yaml2obj %s -DTYPE=0x301 -o %t_nt_s390_timer.o 155# RUN: llvm-readelf --notes %t_nt_s390_timer.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_S390_TIMER (s390 timer register)" 156# RUN: llvm-readobj --notes %t_nt_s390_timer.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_S390_TIMER (s390 timer register)" 157 158## Check ELF::NT_S390_TODCMP. 159# RUN: yaml2obj %s -DTYPE=0x302 -o %t_nt_s390_todcmp.o 160# RUN: llvm-readelf --notes %t_nt_s390_todcmp.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_S390_TODCMP (s390 TOD comparator register)" 161# RUN: llvm-readobj --notes %t_nt_s390_todcmp.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_S390_TODCMP (s390 TOD comparator register)" 162 163## Check ELF::NT_S390_TODPREG. 164# RUN: yaml2obj %s -DTYPE=0x303 -o %t_nt_s390_todpreg.o 165# RUN: llvm-readelf --notes %t_nt_s390_todpreg.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_S390_TODPREG (s390 TOD programmable register)" 166# RUN: llvm-readobj --notes %t_nt_s390_todpreg.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_S390_TODPREG (s390 TOD programmable register)" 167 168## Check ELF::NT_S390_CTRS. 169# RUN: yaml2obj %s -DTYPE=0x304 -o %t_nt_s390_ctrs.o 170# RUN: llvm-readelf --notes %t_nt_s390_ctrs.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_S390_CTRS (s390 control registers)" 171# RUN: llvm-readobj --notes %t_nt_s390_ctrs.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_S390_CTRS (s390 control registers)" 172 173## Check ELF::NT_S390_PREFIX. 174# RUN: yaml2obj %s -DTYPE=0x305 -o %t_nt_s390_prefix.o 175# RUN: llvm-readelf --notes %t_nt_s390_prefix.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_S390_PREFIX (s390 prefix register)" 176# RUN: llvm-readobj --notes %t_nt_s390_prefix.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_S390_PREFIX (s390 prefix register)" 177 178## Check ELF::NT_S390_LAST_BREAK. 179# RUN: yaml2obj %s -DTYPE=0x306 -o %t_nt_s390_last_break.o 180# RUN: llvm-readelf --notes %t_nt_s390_last_break.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_S390_LAST_BREAK (s390 last breaking event address)" 181# RUN: llvm-readobj --notes %t_nt_s390_last_break.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_S390_LAST_BREAK (s390 last breaking event address)" 182 183## Check ELF::NT_S390_SYSTEM_CALL. 184# RUN: yaml2obj %s -DTYPE=0x307 -o %t_nt_s390_system_call.o 185# RUN: llvm-readelf --notes %t_nt_s390_system_call.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_S390_SYSTEM_CALL (s390 system call restart data)" 186# RUN: llvm-readobj --notes %t_nt_s390_system_call.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_S390_SYSTEM_CALL (s390 system call restart data)" 187 188## Check ELF::NT_S390_TDB. 189# RUN: yaml2obj %s -DTYPE=0x308 -o %t_nt_s390_tdb.o 190# RUN: llvm-readelf --notes %t_nt_s390_tdb.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_S390_TDB (s390 transaction diagnostic block)" 191# RUN: llvm-readobj --notes %t_nt_s390_tdb.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_S390_TDB (s390 transaction diagnostic block)" 192 193## Check ELF::NT_S390_VXRS_LOW. 194# RUN: yaml2obj %s -DTYPE=0x309 -o %t_nt_s390_vxrs_low.o 195# RUN: llvm-readelf --notes %t_nt_s390_vxrs_low.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_S390_VXRS_LOW (s390 vector registers 0-15 upper half)" 196# RUN: llvm-readobj --notes %t_nt_s390_vxrs_low.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_S390_VXRS_LOW (s390 vector registers 0-15 upper half)" 197 198## Check ELF::NT_S390_VXRS_HIGH. 199# RUN: yaml2obj %s -DTYPE=0x30a -o %t_nt_s390_vxrs_high.o 200# RUN: llvm-readelf --notes %t_nt_s390_vxrs_high.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_S390_VXRS_HIGH (s390 vector registers 16-31)" 201# RUN: llvm-readobj --notes %t_nt_s390_vxrs_high.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_S390_VXRS_HIGH (s390 vector registers 16-31)" 202 203## Check ELF::NT_S390_GS_CB. 204# RUN: yaml2obj %s -DTYPE=0x30b -o %t_nt_s390_gs_cb.o 205# RUN: llvm-readelf --notes %t_nt_s390_gs_cb.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_S390_GS_CB (s390 guarded-storage registers)" 206# RUN: llvm-readobj --notes %t_nt_s390_gs_cb.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_S390_GS_CB (s390 guarded-storage registers)" 207 208## Check ELF::NT_S390_GS_BC. 209# RUN: yaml2obj %s -DTYPE=0x30c -o %t_nt_s390_gs_bc.o 210# RUN: llvm-readelf --notes %t_nt_s390_gs_bc.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_S390_GS_BC (s390 guarded-storage broadcast control)" 211# RUN: llvm-readobj --notes %t_nt_s390_gs_bc.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_S390_GS_BC (s390 guarded-storage broadcast control)" 212 213## Check ELF::NT_ARM_VFP. 214# RUN: yaml2obj %s -DTYPE=0x400 -o %t_nt_arm_vfp.o 215# RUN: llvm-readelf --notes %t_nt_arm_vfp.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_ARM_VFP (arm VFP registers)" 216# RUN: llvm-readobj --notes %t_nt_arm_vfp.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_ARM_VFP (arm VFP registers)" 217 218## Check ELF::NT_ARM_TLS. 219# RUN: yaml2obj %s -DTYPE=0x401 -o %t_nt_arm_tls.o 220# RUN: llvm-readelf --notes %t_nt_arm_tls.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_ARM_TLS (AArch TLS registers)" 221# RUN: llvm-readobj --notes %t_nt_arm_tls.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_ARM_TLS (AArch TLS registers)" 222 223## Check ELF::NT_ARM_HW_BREAK. 224# RUN: yaml2obj %s -DTYPE=0x402 -o %t_nt_arm_hw_break.o 225# RUN: llvm-readelf --notes %t_nt_arm_hw_break.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_ARM_HW_BREAK (AArch hardware breakpoint registers)" 226# RUN: llvm-readobj --notes %t_nt_arm_hw_break.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_ARM_HW_BREAK (AArch hardware breakpoint registers)" 227 228## Check ELF::NT_ARM_HW_WATCH. 229# RUN: yaml2obj %s -DTYPE=0x403 -o %t_nt_arm_hw_watch.o 230# RUN: llvm-readelf --notes %t_nt_arm_hw_watch.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_ARM_HW_WATCH (AArch hardware watchpoint registers)" 231# RUN: llvm-readobj --notes %t_nt_arm_hw_watch.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_ARM_HW_WATCH (AArch hardware watchpoint registers)" 232 233## Check ELF::NT_ARM_SVE 234# RUN: yaml2obj %s -DTYPE=0x405 -o %t_nt_arm_sve.o 235# RUN: llvm-readelf --notes %t_nt_arm_sve.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_ARM_SVE (AArch64 SVE registers)" 236# RUN: llvm-readobj --notes %t_nt_arm_sve.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_ARM_SVE (AArch64 SVE registers)" 237 238## Check ELF::NT_ARM_PAC_MASK 239# RUN: yaml2obj %s -DTYPE=0x406 -o %t_nt_arm_pac_mask.o 240# RUN: llvm-readelf --notes %t_nt_arm_pac_mask.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_ARM_PAC_MASK (AArch64 Pointer Authentication code masks)" 241# RUN: llvm-readobj --notes %t_nt_arm_pac_mask.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_ARM_PAC_MASK (AArch64 Pointer Authentication code masks)" 242 243## Check ELF::NT_ARM_TAGGED_ADDR_CTRL 244# RUN: yaml2obj %s -DTYPE=0x409 -o %t_nt_arm_tagged_addr_ctrl.o 245# RUN: llvm-readelf --notes %t_nt_arm_tagged_addr_ctrl.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_ARM_TAGGED_ADDR_CTRL (AArch64 Tagged Address Control)" 246# RUN: llvm-readobj --notes %t_nt_arm_tagged_addr_ctrl.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_ARM_TAGGED_ADDR_CTRL (AArch64 Tagged Address Control)" 247 248## Check ELF::NT_ARM_SSVE 249# RUN: yaml2obj %s -DTYPE=0x40b -o %t_nt_arm_ssve.o 250# RUN: llvm-readelf --notes %t_nt_arm_ssve.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_ARM_SSVE (AArch64 Streaming SVE registers)" 251# RUN: llvm-readobj --notes %t_nt_arm_ssve.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_ARM_SSVE (AArch64 Streaming SVE registers)" 252 253## Check ELF::NT_ARM_ZA 254# RUN: yaml2obj %s -DTYPE=0x40c -o %t_nt_arm_za.o 255# RUN: llvm-readelf --notes %t_nt_arm_za.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_ARM_ZA (AArch64 SME ZA registers)" 256# RUN: llvm-readobj --notes %t_nt_arm_za.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_ARM_ZA (AArch64 SME ZA registers)" 257 258## Check ELF::NT_ARM_ZT 259# RUN: yaml2obj %s -DTYPE=0x40d -o %t_nt_arm_zt.o 260# RUN: llvm-readelf --notes %t_nt_arm_zt.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_ARM_ZT (AArch64 SME ZT registers)" 261# RUN: llvm-readobj --notes %t_nt_arm_zt.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_ARM_ZT (AArch64 SME ZT registers)" 262 263## Check ELF::NT_ARM_FPMR 264# RUN: yaml2obj %s -DTYPE=0x40e -o %t_nt_arm_fpmr.o 265# RUN: llvm-readelf --notes %t_nt_arm_fpmr.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_ARM_FPMR (AArch64 Floating Point Mode Register)" 266# RUN: llvm-readobj --notes %t_nt_arm_fpmr.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_ARM_FPMR (AArch64 Floating Point Mode Register)" 267 268## Check ELF::NT_ARM_GCS 269# RUN: yaml2obj %s -DTYPE=0x410 -o %t_nt_arm_gcs.o 270# RUN: llvm-readelf --notes %t_nt_arm_gcs.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_ARM_GCS (AArch64 Guarded Control Stack state)" 271# RUN: llvm-readobj --notes %t_nt_arm_gcs.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_ARM_GCS (AArch64 Guarded Control Stack state)" 272 273## Check ELF::NT_FILE. 274# RUN: yaml2obj %s -DTYPE=0x46494c45 -o %t_nt_file.o 275# RUN: llvm-readelf --notes %t_nt_file.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_FILE (mapped files)" 276# RUN: llvm-readobj --notes %t_nt_file.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_FILE (mapped files)" 277 278## Check ELF::NT_PRXFPREG. 279# RUN: yaml2obj %s -DTYPE=0x46e62b7f -o %t_nt_prxfpreg.o 280# RUN: llvm-readelf --notes %t_nt_prxfpreg.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_PRXFPREG (user_xfpregs structure)" 281# RUN: llvm-readobj --notes %t_nt_prxfpreg.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_PRXFPREG (user_xfpregs structure)" 282 283## Check ELF::NT_SIGINFO. 284# RUN: yaml2obj %s -DTYPE=0x53494749 -o %t_nt_siginfo.o 285# RUN: llvm-readelf --notes %t_nt_siginfo.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="NT_SIGINFO (siginfo_t data)" 286# RUN: llvm-readobj --notes %t_nt_siginfo.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="NT_SIGINFO (siginfo_t data)" 287 288## Check an arbitrary unknown type. 289# RUN: yaml2obj %s -DTYPE=0x12345678 -o %t_unknown.o 290# RUN: llvm-readelf --notes %t_unknown.o | FileCheck %s --check-prefix=CHECK-GNU -DDESC="Unknown note type: (0x12345678)" 291# RUN: llvm-readobj --notes %t_unknown.o | FileCheck %s --check-prefix=CHECK-LLVM -DDESC="Unknown (0x12345678)" 292 293# CHECK-GNU: Owner Data size Description 294# CHECK-GNU-NEXT: CORE 0x00000000 [[DESC]] 295# CHECK-GNU-EMPTY: 296 297# CHECK-LLVM: Size: 0x14 298# CHECK-LLVM-NEXT: Notes [ 299# CHECK-LLVM-NEXT: { 300# CHECK-LLVM-NEXT: Owner: CORE 301# CHECK-LLVM-NEXT: Data size: 0x0 302# CHECK-LLVM-NEXT: Type: [[DESC]] 303# CHECK-LLVM-NEXT: } 304# CHECK-LLVM-NEXT: ] 305 306--- !ELF 307FileHeader: 308 Class: ELFCLASS64 309 Data: ELFDATA2LSB 310 Type: ET_CORE 311Sections: 312 - Name: .note.foo 313 Type: SHT_NOTE 314 Notes: 315 - Name: CORE 316 Type: [[TYPE]] 317ProgramHeaders: 318 - Type: PT_NOTE 319 FirstSec: .note.foo 320 LastSec: .note.foo 321