[coreboot] QEMU build failure in master

Aaron Durbin adurbin at google.com
Wed May 6 18:45:38 CEST 2015


On Wed, May 6, 2015 at 9:41 AM, Aaron Durbin <adurbin at google.com> wrote:
> On Wed, May 6, 2015 at 9:36 AM, Timothy Pearson
> <tpearson at raptorengineeringinc.com> wrote:
>> On 05/06/2015 06:54 AM, Patrick Georgi wrote:
>>>
>>> 2015-05-05 21:49 GMT+02:00 Timothy
>>> Pearson<tpearson at raptorengineeringinc.com>:
>>>>
>>>> While working on the test system earlier today I noticed that QEMU builds
>>>> are currently failing with the following error:
>>>>
>>>> coreboot/src/lib/timestamp.c:184: undefined reference to
>>>> `timer_monotonic_get'
>>>>
>>>> Builds using the same configuration were working yesterday.  The
>>>> KFSN4-DRE
>>>> does not appear to be affected at this time.
>>>
>>> Regarding build failures we should be covered (at least for default
>>> configurations).
>>> When looking at http://qa.coreboot.org/job/coreboot/, I don't see this
>>> error.
>>>
>>>
>>> Patrick
>>
>>
>> Granted, the test stand configuration has more options enabled for more test
>> coverage.  My question at this point is: are timestamps a supported option
>> for QEMU systems?  The test stand sets COLLECT_TIMESTAMPS=y, and this was
>> working until a day ago.
>>
>> This is the commit that broke the QEMU build:
>> http://review.coreboot.org/10104
>>
>
> That's probably my fault. I was under the impression monotonic_timer
> was a first class citizen now (I at least recall someone doing that) I
> thought wrong?
>
> You could add the following in the beginning of that function:
>
> if (!IS_ENABLED(CONFIG_HAVE_MONOTONIC_TIMER)
>    return 0;

I see the error in your original email...

coreboot/src/lib/timestamp.c:184: undefined reference to `timer_monotonic_get'

Does your qemu build have a timestamp_get() defined?

$ git grep timestamp_get | grep void
src/arch/arm/armv7/timestamp.c:uint64_t timestamp_get(void)
src/arch/arm64/timestamp.c:uint64_t timestamp_get(void)
src/arch/x86/lib/timestamp.c:uint64_t timestamp_get(void)
src/include/timestamp.h:uint64_t timestamp_get(void);
src/lib/timestamp.c:uint64_t  __attribute__((weak)) timestamp_get(void)
src/soc/imgtec/pistachio/monotonic_timer.c:uint64_t timestamp_get(void)

That's what I see. Presumably your qemu build is using the one in
src/arch/x86/lib/timestamp.c. Do you have a config I can use to try
and reproduce? The weak symbol might be picked up inappropriately. If
that's the case then... did I ever say how much I don't like our
linking process?
>
> I need to look at your logs to know the build failure.
>
>> Thanks!
>>
>> --
>> Timothy Pearson
>> Raptor Engineering
>> +1 (415) 727-8645
>> http://www.raptorengineeringinc.com
>>
>> --
>> coreboot mailing list: coreboot at coreboot.org
>> http://www.coreboot.org/mailman/listinfo/coreboot



More information about the coreboot mailing list