MIPS code size strangeness

Adrian Chadd adrian.chadd at gmail.com
Sun Nov 20 22:18:12 UTC 2016


* is this gcc-4.2 ?
* can you disassemble that mips function and see?

thanks!


-a


On 20 November 2016 at 10:14, Eugene Grosbein <eugen at grosbein.net> wrote:
> Hi!
>
> I'm currently struggle trying to fit my FreeBSD 12/mips build into 8M flash available.
> It used to fit with early 11.0-CURRENT and it has over megabyte overhead with 12.0-CURRENT.
>
> Large parts are /usr/bin and /usr/lib and I've found something very strange.
> For example: /usr/lib/libprivateucl.so.1 has 136064 bytes for amd64
> and it has 241560 bytes for mips.
>
> "nm -C -D --print-size --size-sort libprivateucl.so.1" shows the symbol "ucl_hash_replace"
> has 330 bytes (0x14a) for amd64 and it has 25000 bytes (sic! 0x61a8) for mips.
>
> I understand that amd64 version is built with clang and MIPS code generated with gcc.
> But why such large difference? In no way such small function ucl_hash_replace()
> should expand to 25000 machine code bytes.
>
> I suspect other parts of code may have this problem too.
>
> Eugene Grosbein
> _______________________________________________
> freebsd-mips at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-mips
> To unsubscribe, send any mail to "freebsd-mips-unsubscribe at freebsd.org"


More information about the freebsd-mips mailing list