Atualização - Veja minha outra resposta abaixo
Ok, depois de horas (literalmente) e horas de análise do arquivo Makefile criado pelo script de configuração do util-linux e outro arquivo Makefile criado por outro utilitário que acaba com arquivos estaticamente vinculados, recuperei com sucesso os parâmetros passados para arm-linux-gnueabi-gcc que produz arquivos estaticamente vinculados. Então acabei com isso:
arm-linux-gnueabi-gcc -ffloat-store -static -DHAVE_CONFIG_H -static -D_U_="__attribute__((unused))" -o <name_of_your_file> <object files produced by the compiler separated by space>
Então, depois de compilar whereis :
make whereis
Eu então fiz uma pesquisa por todos os arquivos de objetos produzidos:
find . -name "*.o"
Acabei com:
./misc-utils/whereis.o
./lib/libcommon_la-blkdev.o
./lib/libcommon_la-sysfs.o
./lib/libcommon_la-idcache.o
./lib/libcommon_la-procutils.o
./lib/libcommon_la-mbsalign.o
./lib/libcommon_la-linux_version.o
./lib/libcommon_la-env.o
./lib/libcommon_la-pager.o
./lib/libcommon_la-strutils.o
./lib/libcommon_la-mangle.o
./lib/libcommon_la-timeutils.o
./lib/libcommon_la-fileutils.o
./lib/libcommon_la-exec_shell.o
./lib/libcommon_la-match.o
./lib/libcommon_la-crc32.o
./lib/libcommon_la-md5.o
./lib/libcommon_la-randutils.o
./lib/libcommon_la-ttyutils.o
./lib/libcommon_la-cpuset.o
./lib/libcommon_la-color-names.o
./lib/libcommon_la-ismounted.o
./lib/libcommon_la-path.o
./lib/libcommon_la-canonicalize.o
./lib/libcommon_la-loopdev.o
./lib/libcommon_la-setproctitle.o
./lib/libcommon_la-strv.o
Então, eu consolidei todos os arquivos objeto em uma linha e executei outro comando:
arm-linux-gnueabi-gcc -ffloat-store -static -DHAVE_CONFIG_H -static -D_U_="__attribute__((unused))" -o mywhereis ./misc-utils/whereis.o ./lib/libcommon_la-blkdev.o ./lib/libcommon_la-sysfs.o ./lib/libcommon_la-idcache.o ./lib/libcommon_la-procutils.o ./lib/libcommon_la-mbsalign.o ./lib/libcommon_la-linux_version.o ./lib/libcommon_la-env.o ./lib/libcommon_la-pager.o ./lib/libcommon_la-strutils.o ./lib/libcommon_la-mangle.o ./lib/libcommon_la-timeutils.o ./lib/libcommon_la-fileutils.o ./lib/libcommon_la-exec_shell.o ./lib/libcommon_la-match.o ./lib/libcommon_la-crc32.o ./lib/libcommon_la-md5.o ./lib/libcommon_la-randutils.o ./lib/libcommon_la-ttyutils.o ./lib/libcommon_la-cpuset.o ./lib/libcommon_la-color-names.o ./lib/libcommon_la-ismounted.o ./lib/libcommon_la-path.o ./lib/libcommon_la-canonicalize.o ./lib/libcommon_la-loopdev.o ./lib/libcommon_la-setproctitle.o ./lib/libcommon_la-strv.o
E voila! :) mywhereis foi gerado.
Então eu fiz as honras executando o comando file:
mywhereis: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, for GNU/Linux 3.2.0, BuildID[sha1]=a5b7c4ad147dc26ed211a7aa643f744a29e477f3, not stripped
Que alívio! Ok, a solução não é ideal mas faz o trabalho e pode ser simplificada!
Eu gastei cerca de 8 horas no total trabalhando nisso e experimentei e percebi que pode não haver "uma solução para todos", mas isso realmente faz o trabalho! Eu testei o arquivo no meu telefone Android e funciona !!
Além disso, essa solução parece ser uma "correção única", pois apenas vincula os arquivos de objeto para criar um arquivo vinculado estaticamente. Eu testei isso com outro utilitário de um pacote fonte completamente diferente e isso também funcionou.