On Fri, Mar 3, 2017 at 6:41 AM, Maxim Gusev <[email protected]> wrote: > These options are supported. > But the option -fno-pie is not supported (Don’t produce a position > independent executable). > Is it the reason of the fault?
I wouldn't think so. If you remove that option does it magically work? From the errors you showed -gc-sections along with -fdata-sections and -ffunction-sections would have removed the unreferenced symbols and not cause a link error. To prove that -f(data|function)-sections are working can you provide the readelf -e output from an intermediate .o file you compiled for romstage? > > > > -------- Original Message -------- > Subject: Re: [coreboot] Some errors by compiling romstage (I am a newbie) > Local Time: 2 Марта 2017 г. 6:01 вечера > UTC Time: 2 Марта 2017 г. 15:01 > From: [email protected] > To: Maxim Gusev <[email protected]> > [email protected] <[email protected]> > > On Thu, Mar 2, 2017 at 8:33 AM, Maxim Gusev <[email protected]> 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: [email protected] >> To: Maxim Gusev <[email protected]> >> [email protected] <[email protected]> >> >> On Thu, Mar 2, 2017 at 7:24 AM, Maxim Gusev via coreboot >> <[email protected]> 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: [email protected] >>> https://www.coreboot.org/mailman/listinfo/coreboot >> >> > > -- coreboot mailing list: [email protected] https://www.coreboot.org/mailman/listinfo/coreboot

