6 .macro decltype name, type
17 .macro entry name, type, vis, typespc, visspc, entry_fct
22 .\visspc __acle_se_\name
28 decltype __acle_se_\name, \type
30 decltype __acle_se_\name, \typespc
42 .size __acle_se_\name, .-__acle_se_\name
47 @ Valid setups for veneer generation
48 entry glob_entry_veneer1, function, global
49 entry weak_entry_veneer1, function, weak
50 entry glob_entry_veneer2, function, global, visspc=weak
51 entry weak_entry_veneer2, function, weak, visspc=global
53 @ Valid setup for entry function without SG veneer
54 entry glob_entry_fct, function, global, entry_fct=nop
56 @ Valid setup for entry function with absolute address
58 .global __acle_se_abs_entry_fct
60 .type __acle_se_abs_entry_fct, %function
61 .type abs_entry_fct, %function
62 __acle_se_abs_entry_fct = 0x10000
63 abs_entry_fct = 0x10004
64 .size abs_entry_fct, 0
65 .size __acle_se_abs_entry_fct, 0
67 @ Invalid setups for veneer generation (visibility)
68 entry loc_entry_veneer1, function, local
69 entry loc_entry_veneer2, function, global, visspc=local
70 entry loc_entry_veneer3, function, local, visspc=global
71 entry loc_entry_veneer4, function, weak, visspc=local
72 entry loc_entry_veneer5, function, local, visspc=weak
74 @ Invalid setups for veneer generation (absent standard symbol)
76 .global __acle_se_fake_entry_veneer1
79 .type __acle_se_fake_entry_veneer1, %function
80 __acle_se_fake_entry_veneer1:
82 .size __acle_se_fake_entry_veneer1, .-__acle_se_fake_entry_veneer1
84 @ Invalid setups for veneer generation (type)
85 entry obj_entry_veneer1, object, global, typespc=function
86 entry obj_entry_veneer2, function, global, typespc=object
88 @ Invalid setup for veneer generation (sections)
93 .global __acle_se_fake_entry_veneer2
94 .type __acle_se_fake_entry_veneer2, %function
95 __acle_se_fake_entry_veneer2:
97 .size __acle_se_fake_entry_veneer2, .-__acle_se_fake_entry_veneer2
102 .global fake_entry_veneer2
103 .type fake_entry_veneer2, %function
106 .size fake_entry_veneer2, .-fake_entry_veneer2