1 Reply Latest reply on Jun 22, 2014 9:14 PM by billbsing

    Unresolved symbols (longjmp, setjmp) during GRUB build - BSP v1.0.0.

    cooler1989

      Hello during grub build fallowing BSP building guide v1.0.1 (But building packages with number v1.0.0) I encountered unresolved symbols - longjmp and setjmp.

       

      My system is 64b Ubuntu 12.04; using gnu-efi-3.0,  gcc 4.6.3-1ubuntu5;

       

      Build output looks like this:

       

      gcc -m32 -march=i586 -fno-stack-protector -DHAVE_CONFIG_H -I. -I..   -Wall -Wmissing-prototypes -Wunused -Wshadow -Wpointer-arith -falign-jumps=1 -falign-loops=1 -falign-functions=1 -Wundef -fno-stack-protector -isystem /usr/lib/gcc/x86_64-linux-gnu/4.6/include -fpic -fshort-wchar -fno-strict-aliasing -fno-merge-constants -I../stage1 -I../lib -I. -I.. -I../stage2 -fno-builtin  -DSUPPORT_SERIAL=1  -DSUPPORT_GRAPHICS=1 -nostdinc -Os -fno-strict-aliasing -Wall -Werror -Wno-shadow -Wno-unused -Wno-pointer-sign -DGRUB_QUARK_DEBUG=1 -DINTEL_QUARK_TEST=1 -g -MT libgrubefi_a-early_uart.o -MD -MP -MF .deps/libgrubefi_a-early_uart.Tpo -c -o libgrubefi_a-early_uart.o `test -f 'quark/early_uart.c' || echo './'`quark/early_uart.c

      mv -f .deps/libgrubefi_a-early_uart.Tpo .deps/libgrubefi_a-early_uart.Po

      rm -f libgrubefi.a

      ar cru libgrubefi.a callwrap.o libgrubefi_a-eficore.o libgrubefi_a-efimm.o libgrubefi_a-efimisc.o libgrubefi_a-eficon.o libgrubefi_a-efidisk.o libgrubefi_a-graphics.o libgrubefi_a-efigraph.o libgrubefi_a-efiuga.o libgrubefi_a-efidp.o libgrubefi_a-font_8x16.o libgrubefi_a-efiserial.o libgrubefi_a-linux.o libgrubefi_a-efichainloader.o libgrubefi_a-xpm.o libgrubefi_a-pxe.o libgrubefi_a-efitftp.o libgrubefi_a-boot_settings.o libgrubefi_a-recovery.o libgrubefi_a-sdio_program.o libgrubefi_a-mfh.o libgrubefi_a-iarom.o libgrubefi_a-intel_quark_sb.o libgrubefi_a-imr.o libgrubefi_a-perf_metrics.o libgrubefi_a-asset.o libgrubefi_a-spi_program.o libgrubefi_a-test_module.o libgrubefi_a-early_uart.o

      ranlib libgrubefi.a

      gcc -m32 -march=i586 -fno-stack-protector -o efimain.o -c -fno-stack-protector -isystem /usr/lib/gcc/x86_64-linux-gnu/4.6/include -fpic -fshort-wchar -fno-strict-aliasing -fno-merge-constants -I../stage1 -I../lib -I. -I.. -I../stage2 -fno-builtin  -DSUPPORT_SERIAL=1  -DSUPPORT_GRAPHICS=1 -nostdinc efimain.c

      ld -o grub.so -T /home/pawelpyszko/programs/gnu-efi-3.0/gnuefi/elf_ia32_efi.lds -nostdlib -shared -Bsymbolic -Map=grub.map efimain.o /home/pawelpyszko/programs/gnu-efi-3.0/gnuefi/crt0-efi-ia32.o ../stage2/libstage2.a libgrubefi.a /usr/lib/gcc/x86_64-linux-gnu/4.6/32/libgcc.a /home/pawelpyszko/programs/gnu-efi-3.0/gnuefi/libgnuefi.a

      echo '-------------- unresolved symbols ---------------------'

      -------------- unresolved symbols ---------------------

      ! nm grub.so | grep -iw u

               U longjmp

               U setjmp

      make[2]: *** [grub.so] Error 1

      make[2]: Leaving directory `/home/pawelpyszko/programs/intel/grub-legacy_5775f32a+v1.0.0/work/efi'

      make[1]: *** [all-recursive] Error 1

      make[1]: Leaving directory `/home/pawelpyszko/programs/intel/grub-legacy_5775f32a+v1.0.0/work'

      make: *** [all] Error 2

       

       

      My question: How to resolve this dependency?