fixlibc.sh 458 B

1234567891011121314151617181920212223
  1. #!/bin/bash
  2. ROMELF=~/esp8266/esp32/rom_image/eagle.pro.rom.out
  3. rm -rf extracted
  4. mkdir extracted
  5. cd extracted
  6. mkdir inrom
  7. ar x ../libc.a
  8. cp ../libc.a ../libc-minusrom.a
  9. nm $ROMELF | grep -e ' [TB] ' | cut -d ' ' -f 3- > romsyms
  10. for x in *.o; do
  11. nm $x | grep -e ' [TB] ' | cut -d ' ' -f 3- | while read a; do
  12. if [ -e "$x" ] && cat romsyms | grep -q '^'$a'$'; then
  13. echo "$a found in rom"
  14. mv $x inrom
  15. ar -d ../libc-minusrom.a $x
  16. fi
  17. done
  18. done