Ensure builtin binaries are aligned to ibf_header
Since IBF result string size should be multiple of 4, this should not increase the binary size actually.
This commit is contained in:
parent
b5ac483d95
commit
e25889951f
Notes:
git
2025-04-06 05:32:39 +00:00
@ -5,19 +5,24 @@
|
|||||||
% unless ARGV.include?('--cross=yes')
|
% unless ARGV.include?('--cross=yes')
|
||||||
% ary = RubyVM.enum_for(:each_builtin).to_a
|
% ary = RubyVM.enum_for(:each_builtin).to_a
|
||||||
% ary.each{|feature, iseq|
|
% ary.each{|feature, iseq|
|
||||||
|
% bin = iseq.to_binary
|
||||||
|
|
||||||
static const unsigned char <%= feature %>_bin[] = {
|
static const union {
|
||||||
% iseq \
|
unsigned char binary[<%= bin.bytesize %>];
|
||||||
% . to_binary \
|
uint32_t align_as_ibf_header;
|
||||||
|
} <%= feature %>_builtin = {
|
||||||
|
.binary = {
|
||||||
|
% bin \
|
||||||
% . each_byte \
|
% . each_byte \
|
||||||
% . each_slice(12) {|a|
|
% . each_slice(12) {|a|
|
||||||
<%= a.map{ '0x%02x,' % _1 }.join(' ') %>
|
<%= a.map{ '0x%02x,' % _1 }.join(' ') %>
|
||||||
% }
|
% }
|
||||||
|
}
|
||||||
};
|
};
|
||||||
% }
|
% }
|
||||||
|
|
||||||
#define BUILTIN_BIN(feature) \
|
#define BUILTIN_BIN(feature) \
|
||||||
{ #feature, feature ## _bin, sizeof(feature ## _bin), }
|
{ #feature, feature ## _builtin.binary, sizeof(feature ## _builtin.binary), }
|
||||||
static const struct builtin_binary builtin_binary[] = {
|
static const struct builtin_binary builtin_binary[] = {
|
||||||
% ary.each{|feature, |
|
% ary.each{|feature, |
|
||||||
BUILTIN_BIN(<%= feature %>),
|
BUILTIN_BIN(<%= feature %>),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user