https://sourceware.org/bugzilla/show_bug.cgi?id=31964

--- Comment #7 from Jakub Jelinek <jakub at redhat dot com> ---
So, I've tried your patch on my short #embed testcase:
unsigned char a[] = {
#embed "cc1plus"
};
with the #embed patchset for GCC, where cc1plus is 273372376 bytes long binary.
Assembly for this from the gcc is 1328371852 bytes long, just
        .file   "embed-11.c"
        .text
        .globl  a
        .data
        .align 32
        .type   a, @object
        .size   a, 273372376
a:
        .byte   127
        .string "ELF\002\001\001\003"
        .string ""
        .string ""
...
        .string
"(\035\214\034\347_u\244\rz|~\002\253h\267\271\203v\244\266\372\001\353\363\026\346\365\305\211\005\220\372\215h\267\211{\022\257\277'\0256\215G\2013c.~\244\206\360\2
26|_\226\223\034\177j\232u\300,\003\3273kh\267q\221\302\326\3153\3772\202,\003\327\346\207\3662giJ3\202,\003\327\305\271\234@%v~\2446-\034\257\310\207\302\326=\256h\267\016\237h\267Q
\201\023\257\016\313\302\326q\032\\*\205(u\244\237\023t\244\344Vt\244\247\335\243k\007\256\302\326,th\267}\221h\267\317O\034\257\377\373v\244\227\202a\221$\236\3772\263\326X\221\215M
z\244\216\227\034\257F\213\302\326G\316\302\326\033\277\302\326\177\220h\267\023\263\302\326X\236v\244\034Zt\244\003>\177[\0135\022\257\226ph\267|\377\3033Ox\022\257\214\307\340`\356
\235\3772M>\245\013\321*\003\327=\377\3033"
...
        .string ""
        .string ""
        .byte   0
        .ident  "GCC: (GNU) 15.0.0 20240703 (experimental)"
        .section        .note.GNU-stack,"",@progbits
Now, if I hand edit this to replace the first .byte up to the last one
including .string etc. directives in between with
cat cc1plus | base64 | sed 's/^/\t.base64\t"/;s/$/"/'
the new assembly is 422048853 bytes.
time .../gas/as-new -o embed-11.o embed-11.s 

real    0m10.481s
user    0m10.113s
sys     0m0.356s

time .../gas/as-new -o embed-11_.o embed-11_.s 

real    0m2.519s
user    0m2.282s
sys     0m0.233s
md5sum embed-11.o embed-11_.o
049aaf9fdb9cf6f84fd54984ab032ac0  embed-11.o
049aaf9fdb9cf6f84fd54984ab032ac0  embed-11_.o

So, this looks good to me.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Reply via email to