⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shdl-1.s

📁 GNU binutils是GNU交叉工具链中的一个源码包
💻 S
字号:
! Test inter-file DataLabel support.!! We need to test symbols that are:! * Global, defined in this file, with/without/both-with-without datalabel!   references.! * The above in combinations where the reference is/is not from within!   the same section.  The implementation is currently indifferent to that!   fact, but it seems likely to be something that can change.! * Extern with/without/both-with-without datalabel-qualified references.! * The above with reference from same *and* other file.! * The above in combinations for where the symbol is/is not a!   STO_SH5_ISA32-marked symbol.! There will be omissions and overlap in combinations.  Add spotted! omissions with complementary tests in other files.	.text	.mode SHmedia! For good measure, we start with a nop to get a non-zero offset within! the .text section.	.global startstart:	nop! Referenced from the same file, same section, is ISA32, only referenced! with datalabel qualifier.	.global foofoo:	nop	movi (datalabel foo + 8) & 65535,r30! Referenced from same file, same section, both with and without! datalabel qualifier, is ISA32.	.global foobothfooboth:	nop	movi (datalabel fooboth + 16) & 65535,r40	movi (fooboth + 12) & 65535,r40! Same as above, but in different order.	.global fooboth2fooboth2:	nop	movi (fooboth2 + 12) & 65535,r40	movi (datalabel fooboth2 + 16) & 65535,r40! Referenced from this file and another, same section, is ISA32.	.global foowithoutfoowithout:	nop	movi (foowithout + 24) & 65535,r30! Same as above, different section than definition.	.global foo_otherfoo_other:	nop	.global foo_otherbothfoo_otherboth:	nop	.global foo_otherboth2foo_otherboth2:	nop	.global foo_otherwithoutfoo_otherwithout:	nop	.section .rodata	.long datalabel foo_other + 4	.long datalabel foo_otherboth + 40	.long foo_otherboth + 24	.long foo_otherboth2 + 24	.long datalabel foo_otherboth2 + 40	.long foo_otherwithout	.text! Same as above, mixing references from same and other section.	.global foo_mixfoo_mix:	nop	movi (datalabel foo_mix + 8) & 65535,r30	.global foo_mix2foo_mix2:	nop	movi (foo_mix2 + 8) & 65535,r30	.global foo_mixbothfoo_mixboth:	nop	movi (datalabel foo_mixboth + 80) & 65535,r30	movi (foo_mixboth + 80) & 65535,r30	.global foo_mixboth2foo_mixboth2:	nop	movi (foo_mixboth2 + 64) & 65535,r30	movi (datalabel foo_mixboth2 + 64) & 65535,r30	.global foo_mixwithoutfoo_mixwithout:	nop	movi (foo_mixwithout + 42) & 65535,r30	.global foo_mixwithout2foo_mixwithout2:	nop	movi (foo_mixwithout2 + 24) & 65535,r30	.section .rodata	.long foo_mix + 4	.long datalabel foo_mix2 + 48	.long datalabel foo_mixboth + 400	.long foo_mixboth + 420	.long foo_mixboth2 + 248	.long datalabel foo_mixboth2 + 240	.long foo_mixwithout! Same as above, referencing symbol in other file (reference only from! this to other file).	.text	nop	movi (datalabel bar + 8) & 65535,r30	movi (datalabel barboth + 16) & 65535,r40	movi (barboth + 12) & 65535,r40	movi (barboth2 + 12) & 65535,r40	movi (datalabel barboth2 + 16) & 65535,r40	movi (barwithout + 24) & 65535,r30	.section .rodata	.long datalabel bar_other + 4	.long datalabel bar_otherboth + 40	.long bar_otherboth + 24	.long bar_otherboth2 + 24	.long datalabel bar_otherboth2 + 40	.long bar_otherwithout	.text	movi (datalabel bar_mix + 8) & 65535,r30	movi (bar_mix2 + 8) & 65535,r30	movi (datalabel bar_mixboth + 80) & 65535,r30	movi (bar_mixboth + 80) & 65535,r30	movi (bar_mixboth2 + 64) & 65535,r30	movi (datalabel bar_mixboth2 + 64) & 65535,r30	movi (bar_mixwithout + 42) & 65535,r30	movi (bar_mixwithout2 + 24) & 65535,r30	.section .rodata	.long bar_mix + 4	.long datalabel bar_mix2 + 48	.long datalabel bar_mixboth + 400	.long bar_mixboth + 420	.long bar_mixboth2 + 248	.long datalabel bar_mixboth2 + 240	.long bar_mixwithout! Same as above, referencing symbol in other file *and* within that file.	.text	movi (datalabel baz + 8) & 65535,r30	movi (datalabel bazboth + 16) & 65535,r40	movi (bazboth + 12) & 65535,r40	movi (bazboth2 + 12) & 65535,r40	movi (datalabel bazboth2 + 16) & 65535,r40	movi (bazwithout + 24) & 65535,r30	.section .rodata	.long datalabel baz_other + 4	.long datalabel baz_otherboth + 40	.long baz_otherboth + 24	.long baz_otherboth2 + 24	.long datalabel baz_otherboth2 + 40	.long baz_otherwithout	.text	movi (datalabel baz_mix + 8) & 65535,r30	movi (baz_mix2 + 8) & 65535,r30	movi (datalabel baz_mixboth + 80) & 65535,r30	movi (baz_mixboth + 80) & 65535,r30	movi (baz_mixboth2 + 64) & 65535,r30	movi (datalabel baz_mixboth2 + 64) & 65535,r30	movi (baz_mixwithout + 42) & 65535,r30	movi (baz_mixwithout2 + 24) & 65535,r30	.section .rodata	.long baz_mix + 4	.long datalabel baz_mix2 + 48	.long datalabel baz_mixboth + 400	.long baz_mixboth + 420	.long baz_mixboth2 + 248	.long datalabel baz_mixboth2 + 240	.long baz_mixwithout! Same as all of the above, but where the symbol is not an ISA32 one.	.data	.global dfoodfoo:	.long 0	.long (datalabel dfoo + 8)	.global dfoobothdfooboth:	.long 0	.long (datalabel dfooboth + 16)	.long (dfooboth + 12)	.global dfooboth2dfooboth2:	.long 0	.long (dfooboth2 + 12)	.long (datalabel dfooboth2 + 16)	.global dfoowithoutdfoowithout:	.long 0	.long (dfoowithout + 24)	.global dfoo_otherdfoo_other:	.long 0	.global dfoo_otherbothdfoo_otherboth:	.long 0	.global dfoo_otherboth2dfoo_otherboth2:	.long 0	.global dfoo_otherwithoutdfoo_otherwithout:	.long 0	.section .rodata	.long datalabel dfoo_other + 4	.long datalabel dfoo_otherboth + 40	.long dfoo_otherboth + 24	.long dfoo_otherboth2 + 24	.long datalabel dfoo_otherboth2 + 40	.long dfoo_otherwithout	.data! Same as above, mixing references from same and other section.	.global dfoo_mixdfoo_mix:	.long 0	.long (datalabel dfoo_mix + 8)	.global dfoo_mix2dfoo_mix2:	.long 0	.long (dfoo_mix2 + 8)	.global dfoo_mixbothdfoo_mixboth:	.long 0	.long (datalabel dfoo_mixboth + 80)	.long (dfoo_mixboth + 80)	.global dfoo_mixboth2dfoo_mixboth2:	.long 0	.long (dfoo_mixboth2 + 64)	.long (datalabel dfoo_mixboth2 + 64)	.global dfoo_mixwithoutdfoo_mixwithout:	.long 0	.long (dfoo_mixwithout + 42)	.global dfoo_mixwithout2dfoo_mixwithout2:	.long 0	.long (dfoo_mixwithout2 + 24)	.section .rodata	.long dfoo_mix + 4	.long datalabel dfoo_mix2 + 48	.long datalabel dfoo_mixboth + 400	.long dfoo_mixboth + 420	.long dfoo_mixboth2 + 248	.long datalabel dfoo_mixboth2 + 240	.long dfoo_mixwithout! Same as above, referencing symbol in other file (reference only from! this to other file).	.text	movi (datalabel dbarboth + 16) & 65535,r40	movi (dbarboth + 12) & 65535,r40	movi (dbarboth2 + 12) & 65535,r40	movi (datalabel dbarboth2 + 16) & 65535,r40	movi (dbarwithout + 24) & 65535,r30	.data	.long (datalabel dbar + 8)	.long datalabel dbar_other + 4	.long datalabel dbar_otherboth + 40	.long dbar_otherboth + 24	.long dbar_otherboth2 + 24	.long datalabel dbar_otherboth2 + 40	.long dbar_otherwithout	.text	movi (datalabel dbar_mix + 8) & 65535,r30	movi (dbar_mix2 + 8) & 65535,r30	movi (datalabel dbar_mixboth + 80) & 65535,r30	movi (dbar_mixboth + 80) & 65535,r30	movi (dbar_mixboth2 + 64) & 65535,r30	movi (datalabel dbar_mixboth2 + 64) & 65535,r30	movi (dbar_mixwithout + 42) & 65535,r30	movi (dbar_mixwithout2 + 24) & 65535,r30	.data	.long dbar_mix + 4	.long datalabel dbar_mix2 + 48	.long datalabel dbar_mixboth + 400	.long dbar_mixboth + 420	.long dbar_mixboth2 + 248	.long datalabel dbar_mixboth2 + 240	.long dbar_mixwithout! Same as above, referencing symbol in other file *and* within that file.	.text	movi (datalabel dbazboth + 16) & 65535,r40	movi (dbazboth + 12) & 65535,r40	movi (dbazboth2 + 12) & 65535,r40	movi (datalabel dbazboth2 + 16) & 65535,r40	movi (dbazwithout + 24) & 65535,r30	.data	.long (datalabel dbaz + 8)	.long datalabel dbaz_other + 4	.long datalabel dbaz_otherboth + 40	.long dbaz_otherboth + 24	.long dbaz_otherboth2 + 24	.long datalabel dbaz_otherboth2 + 40	.long dbaz_otherwithout	.text	movi (datalabel dbaz_mix + 8) & 65535,r30	movi (dbaz_mix2 + 8) & 65535,r30	movi (datalabel dbaz_mixboth + 80) & 65535,r30	movi (dbaz_mixboth + 80) & 65535,r30	movi (dbaz_mixboth2 + 64) & 65535,r30	movi (datalabel dbaz_mixboth2 + 64) & 65535,r30	movi (dbaz_mixwithout + 42) & 65535,r30	movi (dbaz_mixwithout2 + 24) & 65535,r30	.data	.long dbaz_mix + 4	.long datalabel dbaz_mix2 + 48	.long datalabel dbaz_mixboth + 400	.long dbaz_mixboth + 420	.long dbaz_mixboth2 + 248	.long datalabel dbaz_mixboth2 + 240	.long dbaz_mixwithout

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -