search for: _ztsfie

Displaying 3 results from an estimated 3 matches for "_ztsfie".

Did you mean: _ztsfive
2017 May 16
2
[RFC] CFI for indirect calls with ThinLTO
...and we don’t want to copy the actual function bodies to the merged module. Indirect call targets can be represented in the following way using named metadata: void foo() {} int bar() { return 0; } # Merged module !cfi.functions = !{!1, !3} !1 = !{!"bar", i8 0, !2} !2 = !{i64 0, !"_ZTSFiE"} !3 = !{!"foo", i8 0, !4} !4 = !{i64 0, !"_ZTSFvE"} Each function is described by a tuple of * Promoted name as a string * Linkage (see below) * Type(s) A function can have multiple types. In the Cross-DSO mode each function has a second “external” numeric type, and we...
2017 May 16
2
[RFC] CFI for indirect calls with ThinLTO
...direct call targets can be represented in the following way using >> named metadata: >> >> void foo() {} >> int bar() { return 0; } >> >> # Merged module >> !cfi.functions = !{!1, !3} >> !1 = !{!"bar", i8 0, !2} >> !2 = !{i64 0, !"_ZTSFiE"} >> !3 = !{!"foo", i8 0, !4} >> !4 = !{i64 0, !"_ZTSFvE"} > > > Presumably there would be no entries in !cfi.functions for functions defined > in the merged module, as the type metadata would come from the module > itself. Right. The same as wit...
2017 May 24
2
[RFC] CFI for indirect calls with ThinLTO
...t; named metadata: > >>> > >>> void foo() {} > >>> int bar() { return 0; } > >>> > >>> # Merged module > >>> !cfi.functions = !{!1, !3} > >>> !1 = !{!"bar", i8 0, !2} > >>> !2 = !{i64 0, !"_ZTSFiE"} > >>> !3 = !{!"foo", i8 0, !4} > >>> !4 = !{i64 0, !"_ZTSFvE"} > >> > >> > >> Presumably there would be no entries in !cfi.functions for functions > defined > >> in the merged module, as the type metadata woul...