[coreboot] Some errors by compiling romstage (I am a newbie)
adurbin at google.com
Fri Mar 3 14:54:56 CET 2017
On Fri, Mar 3, 2017 at 6:41 AM, Maxim Gusev <mail at maximgusev.com> 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: adurbin at google.com
> To: Maxim Gusev <mail at maximgusev.com>
> coreboot at coreboot.org <coreboot at coreboot.org>
> On Thu, Mar 2, 2017 at 8:33 AM, Maxim Gusev <mail at 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
>> stages. I have create arch directory and mainboard directory where the
>> sources are located.
>> /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
>> build/romstage/lib/imd_cbmem.o: In function
>> /home/maxim/coreboot/src/lib/imd_cbmem.c:314: undefined reference to
>> 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: adurbin at google.com
>> To: Maxim Gusev <mail at maximgusev.com>
>> coreboot at coreboot.org <coreboot at coreboot.org>
>> On Thu, Mar 2, 2017 at 7:24 AM, Maxim Gusev via coreboot
>> <coreboot at 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
>>> (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
>>> 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
>>> to check the performance on real hardware the work of the bootblock, but
>>> toolchain requires me to compile other stages. And the error occurs even
>>> in my code, but my ignorance.
>>> Thanks a lot!
>>> Regards, Maxim
>>> coreboot mailing list: coreboot at coreboot.org
More information about the coreboot