On Thu, Mar 2, 2017 at 8:33 AM, Maxim Gusev <m...@maximgusev.com> wrote: > Hello, Aaron! > > I am compiling sourses of my arch e2k. > I have compiled bootblock with my sources. There aren't my sources in other > stages. I have create arch directory and mainboard directory where the > sources are located. > > > > Log: > > /home/maxim/coreboot/util/crossgcc/xgcc/bin/linux-ld: warning: cannot find > entry symbol start; defaulting to 0000000100187000 > build/romstage/lib/imd_cbmem.o: In function `cbmem_add_bootmem': > /home/maxim/coreboot/src/lib/imd_cbmem.c:287: undefined reference to > `bootmem_add_range' > build/romstage/lib/imd_cbmem.o: In function `cbmem_add_records_to_cbtable': > /home/maxim/coreboot/src/lib/imd_cbmem.c:314: undefined reference to > `lb_new_record' > make: *** [build/cbfs/fallback/romstage.debug] Error 1 >
Does your arch's compiler support -ffuncation-sections and -fdata-sections? As well as your linker supporting --gc-sections ? All the architectures we support have those flags. See Makefile.inc which provides those in CFLAGS_common and LDFLAGS_common. That support allows us to not sprinkle #ifdef's all around in the code when the same source file is compiled for different stages. > > > -------- Original Message -------- > Subject: Re: [coreboot] Some errors by compiling romstage (I am a newbie) > Local Time: 2 Марта 2017 г. 5:22 вечера > UTC Time: 2 Марта 2017 г. 14:22 > From: adur...@google.com > To: Maxim Gusev <m...@maximgusev.com> > coreboot@coreboot.org <coreboot@coreboot.org> > > On Thu, Mar 2, 2017 at 7:24 AM, Maxim Gusev via coreboot > <coreboot@coreboot.org> wrote: >> Hi everbody! >> >> I have a question. Very hope for your help. >> >> When I am compiling the romstage there are 2 errors by the linker: >> Undefined refference to 'bootmem_add_range' >> Undefined refference to 'lb_new_record' in the imd_cbmem.c file (it is >> included in src/lib/Makefile.inc romstage). >> >> The definitions of these functions are in lib/bootmem.c and >> lib/coreboot_table.c accordingly. >> But I can't see the inclusion of these files in romstage in >> src/Makefile.inc >> (only in ramstage): >> ramstage-y += bootmem.c >> ramstage-y += coreboot_table.c >> >> How to solve this problem? >> The inclusion of these files produces a number of other errors, but >> nowhere >> in the code no one does it? Why only I am having this error. > > > What board are you building? Are you working on local patches to your > setup only? What does the build log indicate? > >> >> In General, I don't even need these stages (romstage and ramstage) - I >> want >> to check the performance on real hardware the work of the bootblock, but >> the >> toolchain requires me to compile other stages. And the error occurs even >> not >> in my code, but my ignorance. >> >> Thanks a lot! >> Regards, Maxim >> >> >> >> >> -- >> coreboot mailing list: coreboot@coreboot.org >> https://www.coreboot.org/mailman/listinfo/coreboot > > -- coreboot mailing list: coreboot@coreboot.org https://www.coreboot.org/mailman/listinfo/coreboot