ff4ff35918
Red Bear OS is a full fork. All sources must be available from git clone with zero network access. Removed gitignore rules that excluded fetched source trees under recipes/*/source/, local/recipes/kde/*/source/, local/recipes/qt/*/source/, and vendor source trees. Build artifacts (target/, build/, source.tar, *.o, *.so) remain excluded. 127291 files added — kernel, relibc, base, bootloader, pkgar, all KDE/Qt frameworks, mesa, wayland, DRM drivers, and every other recipe source.
431 lines
8.9 KiB
ArmAsm
431 lines
8.9 KiB
ArmAsm
.equ CV_SIGNATURE_C13, 4
|
|
.equ DEBUG_S_SYMBOLS, 0xf1
|
|
|
|
.equ T_VOID, 0x0003
|
|
.equ T_UINT4, 0x0075
|
|
|
|
.equ LF_MODIFIER, 0x1001
|
|
.equ LF_PROCEDURE, 0x1008
|
|
.equ LF_ARGLIST, 0x1201
|
|
.equ LF_FUNC_ID, 0x1601
|
|
.equ LF_BUILDINFO, 0x1603
|
|
.equ LF_STRING_ID, 0x1605
|
|
|
|
.equ S_END, 0x0006
|
|
.equ S_FRAMEPROC, 0x1012
|
|
.equ S_OBJNAME, 0x1101
|
|
.equ S_THUNK32, 0x1102
|
|
.equ S_BLOCK32, 0x1103
|
|
.equ S_LABEL32, 0x1105
|
|
.equ S_REGISTER, 0x1106
|
|
.equ S_BPREL32, 0x110b
|
|
.equ S_GPROC32, 0x1110
|
|
.equ S_REGREL32, 0x1111
|
|
.equ S_UNAMESPACE, 0x1124
|
|
.equ S_FRAMECOOKIE, 0x113a
|
|
.equ S_COMPILE3, 0x113c
|
|
.equ S_LOCAL, 0x113e
|
|
.equ S_DEFRANGE_REGISTER, 0x1141
|
|
.equ S_DEFRANGE_FRAMEPOINTER_REL, 0x1142
|
|
.equ S_DEFRANGE_SUBFIELD_REGISTER, 0x1143
|
|
.equ S_DEFRANGE_FRAMEPOINTER_REL_FULL_SCOPE, 0x1144
|
|
.equ S_DEFRANGE_REGISTER_REL, 0x1145
|
|
.equ S_BUILDINFO, 0x114c
|
|
.equ S_INLINESITE, 0x114d
|
|
.equ S_INLINESITE_END, 0x114e
|
|
.equ S_HEAPALLOCSITE, 0x115e
|
|
|
|
.equ CV_AMD64_RAX, 328
|
|
.equ CV_CFL_AMD64, 0xd0
|
|
|
|
.section ".debug$S", "rn"
|
|
|
|
.long CV_SIGNATURE_C13
|
|
|
|
.long DEBUG_S_SYMBOLS
|
|
.long .syms_end - .syms_start
|
|
|
|
.syms_start:
|
|
|
|
.objname1:
|
|
.short .compile1 - .objname1 - 2
|
|
.short S_OBJNAME
|
|
.long 0 /* signature */
|
|
.asciz "syms3.o"
|
|
|
|
.compile1:
|
|
.short .unamespace1 - .compile1 - 2
|
|
.short S_COMPILE3
|
|
.long 0 /* flags */
|
|
.short CV_CFL_AMD64 /* target processor */
|
|
.short 0 /* frontend major */
|
|
.short 0 /* frontend minor */
|
|
.short 0 /* frontend build */
|
|
.short 0 /* frontend qfe */
|
|
.short 0 /* backend major */
|
|
.short 0 /* backend minor */
|
|
.short 0 /* backend build */
|
|
.short 0 /* backend qfe */
|
|
.asciz "GNU AS"
|
|
.byte 0xf3 /* padding */
|
|
.byte 0xf2 /* padding */
|
|
.byte 0xf1 /* padding */
|
|
|
|
.unamespace1:
|
|
.short .sbuildinfo1 - .unamespace1 - 2
|
|
.short S_UNAMESPACE
|
|
.asciz "std"
|
|
|
|
.sbuildinfo1:
|
|
.short .gproc1 - .sbuildinfo1 - 2
|
|
.short S_BUILDINFO
|
|
.long 0x1007 /* type */
|
|
|
|
.gproc1:
|
|
.short .frameproc1 - .gproc1 - 2
|
|
.short S_GPROC32
|
|
.long 0 /* parent */
|
|
.long 0 /* end */
|
|
.long 0 /* next symbol */
|
|
.long .proc1_end - proc1 /* length */
|
|
.long 0 /* debug start offset */
|
|
.long 0 /* debug end offset */
|
|
.long 0x1001 /* type */
|
|
.secrel32 proc1
|
|
.secidx proc1
|
|
.byte 0 /* flags */
|
|
.asciz "proc1"
|
|
.byte 0xf3 /* padding */
|
|
.byte 0xf2 /* padding */
|
|
.byte 0xf1 /* padding */
|
|
|
|
.frameproc1:
|
|
.short .framecookie1 - .frameproc1 - 2
|
|
.short S_FRAMEPROC
|
|
.long 0 /* frame size */
|
|
.long 0 /* frame padding */
|
|
.long 0 /* padding offset */
|
|
.long 0 /* size of callee-save registers */
|
|
.long 0 /* offset of exception handler */
|
|
.short 0 /* section of exception handler */
|
|
.long 0 /* flags */
|
|
.byte 0xf2 /* padding */
|
|
.byte 0xf1 /* padding */
|
|
|
|
.framecookie1:
|
|
.short .bprel1 - .framecookie1 - 2
|
|
.short S_FRAMECOOKIE
|
|
.long 8 /* frame-relative offset */
|
|
.short CV_AMD64_RAX /* register */
|
|
.long 0 /* cookie type (CV_COOKIETYPE_COPY) */
|
|
.byte 0 /* flags */
|
|
.byte 0xf1 /* padding */
|
|
|
|
.bprel1:
|
|
.short .reg1 - .bprel1 - 2
|
|
.short S_BPREL32
|
|
.long 4 /* BP-relative offset */
|
|
.long 0x1008 /* type */
|
|
.asciz "foo"
|
|
|
|
.reg1:
|
|
.short .regrel1 - .reg1 - 2
|
|
.short S_REGISTER
|
|
.long 0x1008 /* type */
|
|
.short CV_AMD64_RAX
|
|
.asciz "bar"
|
|
.byte 0xf2 /* padding */
|
|
.byte 0xf1 /* padding */
|
|
|
|
.regrel1:
|
|
.short .local1 - .regrel1 - 2
|
|
.short S_REGREL32
|
|
.long 4 /* offset */
|
|
.long 0x1008 /* type */
|
|
.short CV_AMD64_RAX
|
|
.asciz "baz"
|
|
.byte 0xf2 /* padding */
|
|
.byte 0xf1 /* padding */
|
|
|
|
.local1:
|
|
.short .defrange1 - .local1 - 2
|
|
.short S_LOCAL
|
|
.long 0x1008 /* type */
|
|
.short 0 /* flags */
|
|
.asciz "local1"
|
|
.byte 0xf3 /* padding */
|
|
.byte 0xf2 /* padding */
|
|
.byte 0xf1 /* padding */
|
|
|
|
.defrange1:
|
|
.short .local2 - .defrange1 - 2
|
|
.short S_DEFRANGE_REGISTER_REL
|
|
.short CV_AMD64_RAX
|
|
.short 0 /* offset parent */
|
|
.long 0 /* offset register */
|
|
.secrel32 .block1 /* offset */
|
|
.secidx .block1 /* section */
|
|
.short .block1_end - .block1 /* length */
|
|
.short .gap1 - .block1 /* gap 1 offset */
|
|
.short .gap1_end - .gap1 /* gap 1 length */
|
|
|
|
.local2:
|
|
.short .defrange2 - .local2 - 2
|
|
.short S_LOCAL
|
|
.long 0x1008 /* type */
|
|
.short 0 /* flags */
|
|
.asciz "local2"
|
|
.byte 0xf3 /* padding */
|
|
.byte 0xf2 /* padding */
|
|
.byte 0xf1 /* padding */
|
|
|
|
.defrange2:
|
|
.short .local3 - .defrange2 - 2
|
|
.short S_DEFRANGE_FRAMEPOINTER_REL
|
|
.long 4 /* frame pointer offset */
|
|
.secrel32 .block1 /* offset */
|
|
.secidx .block1 /* section */
|
|
.short .block1_end - .block1 /* length */
|
|
.short .gap1 - .block1 /* gap 1 offset */
|
|
.short .gap1_end - .gap1 /* gap 1 length */
|
|
|
|
.local3:
|
|
.short .defrange3 - .local3 - 2
|
|
.short S_LOCAL
|
|
.long 0x1008 /* type */
|
|
.short 0 /* flags */
|
|
.asciz "local3"
|
|
.byte 0xf3 /* padding */
|
|
.byte 0xf2 /* padding */
|
|
.byte 0xf1 /* padding */
|
|
|
|
.defrange3:
|
|
.short .local4 - .defrange3 - 2
|
|
.short S_DEFRANGE_SUBFIELD_REGISTER
|
|
.short CV_AMD64_RAX
|
|
.short 0 /* attributes */
|
|
.long 4 /* offset in parent variable */
|
|
.secrel32 .block1 /* offset */
|
|
.secidx .block1 /* section */
|
|
.short .block1_end - .block1 /* length */
|
|
.short .gap1 - .block1 /* gap 1 offset */
|
|
.short .gap1_end - .gap1 /* gap 1 length */
|
|
|
|
.local4:
|
|
.short .defrange4 - .local4 - 2
|
|
.short S_LOCAL
|
|
.long 0x1008 /* type */
|
|
.short 0 /* flags */
|
|
.asciz "local4"
|
|
.byte 0xf3 /* padding */
|
|
.byte 0xf2 /* padding */
|
|
.byte 0xf1 /* padding */
|
|
|
|
.defrange4:
|
|
.short .local5 - .defrange4 - 2
|
|
.short S_DEFRANGE_FRAMEPOINTER_REL_FULL_SCOPE
|
|
.long 4 /* frame pointer offset */
|
|
|
|
.local5:
|
|
.short .defrange5 - .local5 - 2
|
|
.short S_LOCAL
|
|
.long 0x1008 /* type */
|
|
.short 0 /* flags */
|
|
.asciz "local5"
|
|
.byte 0xf3 /* padding */
|
|
.byte 0xf2 /* padding */
|
|
.byte 0xf1 /* padding */
|
|
|
|
.defrange5:
|
|
.short .inlinesite1 - .defrange5 - 2
|
|
.short S_DEFRANGE_REGISTER
|
|
.short CV_AMD64_RAX
|
|
.short 0 /* attributes */
|
|
.secrel32 .block1 /* offset */
|
|
.secidx .block1 /* section */
|
|
.short .block1_end - .block1 /* length */
|
|
.short .gap1 - .block1 /* gap 1 offset */
|
|
.short .gap1_end - .gap1 /* gap 1 length */
|
|
|
|
.inlinesite1:
|
|
.short .inlinesite1end - .inlinesite1 - 2
|
|
.short S_INLINESITE
|
|
.long 0 /* parent */
|
|
.long 0 /* end */
|
|
.long 0x1009 /* inlinee (inline_func) */
|
|
|
|
.inlinesite1end:
|
|
.short .sblock1 - .inlinesite1end - 2
|
|
.short S_INLINESITE_END
|
|
|
|
.sblock1:
|
|
.short .label1 - .sblock1 - 2
|
|
.short S_BLOCK32
|
|
.long 0 /* parent (filled in by linker) */
|
|
.long 0 /* end (filled in by linker) */
|
|
.long .block1_end - .block1 /* length */
|
|
.secrel32 .block1
|
|
.secidx .block1
|
|
.byte 0 /* name */
|
|
.byte 0xf1 /* padding */
|
|
|
|
.label1:
|
|
.short .sblock1_end - .label1 - 2
|
|
.short S_LABEL32
|
|
.secrel32 label
|
|
.secidx label
|
|
.byte 0 /* flags */
|
|
.asciz "label"
|
|
.byte 0xf3 /* padding */
|
|
.byte 0xf2 /* padding */
|
|
.byte 0xf1 /* padding */
|
|
|
|
.sblock1_end:
|
|
.short .thunk1 - .sblock1_end - 2
|
|
.short S_END
|
|
|
|
.thunk1:
|
|
.short .thunk1_end - .thunk1 - 2
|
|
.short S_THUNK32
|
|
.long 0 /* parent */
|
|
.long 0 /* end */
|
|
.long 0 /* next */
|
|
.secrel32 thunk
|
|
.secidx thunk
|
|
.short .thunk_end - thunk
|
|
.byte 0 /* THUNK_ORDINAL value */
|
|
.asciz "thunk"
|
|
.byte 0xf1 /* padding */
|
|
|
|
.thunk1_end:
|
|
.short .heapallocsite1 - .thunk1_end - 2
|
|
.short S_END
|
|
|
|
.heapallocsite1:
|
|
.short .gproc1_end - .heapallocsite1 - 2
|
|
.short S_HEAPALLOCSITE
|
|
.secrel32 .gap1_end
|
|
.secidx .gap1_end
|
|
.short .block1_end - .gap1_end
|
|
.long 0x1008 /* type */
|
|
|
|
.gproc1_end:
|
|
.short .syms_end - .gproc1_end - 2
|
|
.short S_END
|
|
|
|
.syms_end:
|
|
|
|
.section ".debug$T", "rn"
|
|
|
|
.long CV_SIGNATURE_C13
|
|
|
|
/* Type 1000, arglist (uint32_t) */
|
|
.arglist1:
|
|
.short .proctype1 - .arglist1 - 2
|
|
.short LF_ARGLIST
|
|
.long 1 /* no. entries */
|
|
.long T_UINT4
|
|
|
|
/* Type 1001, procedure (return type T_VOID, arglist 1000) */
|
|
.proctype1:
|
|
.short .string1 - .proctype1 - 2
|
|
.short LF_PROCEDURE
|
|
.long T_VOID
|
|
.byte 0 /* calling convention */
|
|
.byte 0 /* attributes */
|
|
.short 1 /* no. parameters */
|
|
.long 0x1000
|
|
|
|
/* Type 1002, string "/tmp" (build directory) */
|
|
.string1:
|
|
.short .string2 - .string1 - 2
|
|
.short LF_STRING_ID
|
|
.long 0 /* sub-string */
|
|
.asciz "/tmp"
|
|
.byte 0xf3 /* padding */
|
|
.byte 0xf2 /* padding */
|
|
.byte 0xf1 /* padding */
|
|
|
|
/* Type 1003, string "gcc" (compiler) */
|
|
.string2:
|
|
.short .string3 - .string2 - 2
|
|
.short LF_STRING_ID
|
|
.long 0 /* sub-string */
|
|
.asciz "gcc"
|
|
|
|
/* Type 1004, string "tmp.c" (source file) */
|
|
.string3:
|
|
.short .string4 - .string3 - 2
|
|
.short LF_STRING_ID
|
|
.long 0 /* sub-string */
|
|
.asciz "tmp.c"
|
|
.byte 0xf2 /* padding */
|
|
.byte 0xf1 /* padding */
|
|
|
|
/* Type 1005, string "tmp.pdb" (PDB file) */
|
|
.string4:
|
|
.short .string5 - .string4 - 2
|
|
.short LF_STRING_ID
|
|
.long 0 /* sub-string */
|
|
.asciz "tmp.pdb"
|
|
|
|
/* Type 1006, string "-gcodeview" (command arguments) */
|
|
.string5:
|
|
.short .buildinfo1 - .string5 - 2
|
|
.short LF_STRING_ID
|
|
.long 0 /* sub-string */
|
|
.asciz "-gcodeview"
|
|
.byte 0xf1 /* padding */
|
|
|
|
/* Type 1007, build info */
|
|
.buildinfo1:
|
|
.short .mod1 - .buildinfo1 - 2
|
|
.short LF_BUILDINFO
|
|
.short 5 /* count */
|
|
.long 0x1002 /* build directory */
|
|
.long 0x1003 /* compiler */
|
|
.long 0x1004 /* source file */
|
|
.long 0x1005 /* PDB file */
|
|
.long 0x1006 /* command arguments */
|
|
.byte 0xf2 /* padding */
|
|
.byte 0xf1 /* padding */
|
|
|
|
/* Type 1008, const uint32_t */
|
|
.mod1:
|
|
.short .funcid1 - .mod1 - 2
|
|
.short LF_MODIFIER
|
|
.long T_UINT4
|
|
.short 1 /* const */
|
|
.p2align 2
|
|
|
|
/* Type 1009, func ID for inline_func */
|
|
.funcid1:
|
|
.short .types_end - .funcid1 - 2
|
|
.short LF_FUNC_ID
|
|
.long 0 /* parent scope */
|
|
.long 0x1001 /* type */
|
|
.asciz "inline_func"
|
|
|
|
.types_end:
|
|
|
|
.text
|
|
|
|
.global proc1
|
|
proc1:
|
|
.byte 0
|
|
.block1:
|
|
.byte 0
|
|
label:
|
|
.byte 0
|
|
.gap1:
|
|
.byte 0
|
|
.gap1_end:
|
|
.byte 0
|
|
.block1_end:
|
|
.byte 0
|
|
.proc1_end:
|
|
|
|
thunk:
|
|
.byte 0
|
|
.thunk_end:
|