So the problem appears only in libc6-dev 2.21. No problem with
libc6-dev 2.19
Diff is:
/usr/include/time.h
@@ -108,7 +108,7 @@ typedef __timer_t timer_t;
#if (!defined __timespec_defined \
&& ((defined _TIME_H \
- && (defined __USE_POSIX199309 || defined __USE_MISC \
+ && (defined __USE_POSIX199309 \
|| defined __USE_ISOC11)) \
|| defined __need_timespec))
# define __timespec_defined 1
Maxim.
On 12/09/2015 03:13, Bill Fischofer wrote:
Well, I've verified that if you do similar mods to
test/validation/pktio/pktio.c and test/validation/time/time.c then all
is good, however what this means is that we've just broken ODP API
portability because we now require that ODP applications include this
#define when compiling for linux-generic. That's bad.
I tried putting the #define into
platform/linux-generic/include/odp/plat/time_types.h since that's
where odp_time_t is defined, but C doesn't like that. As this is an
artifact of the linux-generic implementation of the odp_time APIs
whatever magic needs to happen strictly within linux-generic and
cannot spill over to the validation tests or other ODP applications.
On Tue, Dec 8, 2015 at 5:23 PM, Mike Holmes <mike.hol...@linaro.org
<mailto:mike.hol...@linaro.org>> wrote:
Yep, I just compiled what I had, but it is the same root cause,
just needs to be told to allow POSIX in that SRC.
Maxim do you just want to fix in your morning, I dont have time
now tonight so dont wait for me but you could add me as Suggested-by
On 8 December 2015 at 18:17, Bill Fischofer
<bill.fischo...@linaro.org <mailto:bill.fischo...@linaro.org>> wrote:
That helps but it looks incomplete. With that patch applied
ODP compiles but the CUnit tests fail:
Making all in pktio
make[3]: Entering directory
'/home/bill/linaro/api-next/test/validation/pktio'
CC pktio.lo
pktio.c: In function 'queue_deq_wait_time':
pktio.c:339:13: error: storage size of 'wait' isn't known
odp_time_t wait, end;
^
pktio.c:339:19: error: storage size of 'end' isn't known
odp_time_t wait, end;
^
pktio.c:342:2: error: invalid use of incomplete typedef
'odp_time_t'
wait = odp_time_local_from_ns(ns);
^
pktio.c:343:2: error: invalid use of incomplete typedef
'odp_time_t'
end = odp_time_sum(odp_time_local(), wait);
^
pktio.c:343:21: error: type of formal parameter 1 is incomplete
end = odp_time_sum(odp_time_local(), wait);
^
pktio.c:343:39: error: type of formal parameter 2 is incomplete
end = odp_time_sum(odp_time_local(), wait);
^
pktio.c:348:2: error: invalid use of incomplete typedef
'odp_time_t'
} while (odp_time_cmp(end, odp_time_local()) > 0);
^
pktio.c:348:24: error: type of formal parameter 1 is incomplete
} while (odp_time_cmp(end, odp_time_local()) > 0);
^
pktio.c:348:29: error: type of formal parameter 2 is incomplete
} while (odp_time_cmp(end, odp_time_local()) > 0);
^
pktio.c:339:19: error: unused variable 'end'
[-Werror=unused-variable]
odp_time_t wait, end;
^
pktio.c:339:13: error: unused variable 'wait'
[-Werror=unused-variable]
odp_time_t wait, end;
^
pktio.c: In function 'wait_for_packet':
pktio.c:356:13: error: storage size of 'wait_time' isn't known
odp_time_t wait_time, end;
^
pktio.c:356:24: error: storage size of 'end' isn't known
odp_time_t wait_time, end;
^
pktio.c:362:2: error: invalid use of incomplete typedef
'odp_time_t'
wait_time = odp_time_local_from_ns(ns);
^
pktio.c:363:2: error: invalid use of incomplete typedef
'odp_time_t'
end = odp_time_sum(odp_time_local(), wait_time);
^
pktio.c:363:21: error: type of formal parameter 1 is incomplete
end = odp_time_sum(odp_time_local(), wait_time);
^
pktio.c:363:39: error: type of formal parameter 2 is incomplete
end = odp_time_sum(odp_time_local(), wait_time);
^
pktio.c:389:2: error: invalid use of incomplete typedef
'odp_time_t'
} while (odp_time_cmp(end, odp_time_local()) > 0);
^
pktio.c:389:24: error: type of formal parameter 1 is incomplete
} while (odp_time_cmp(end, odp_time_local()) > 0);
^
pktio.c:389:29: error: type of formal parameter 2 is incomplete
} while (odp_time_cmp(end, odp_time_local()) > 0);
^
pktio.c:356:24: error: unused variable 'end'
[-Werror=unused-variable]
odp_time_t wait_time, end;
^
pktio.c:356:13: error: unused variable 'wait_time'
[-Werror=unused-variable]
odp_time_t wait_time, end;
^
cc1: all warnings being treated as errors
Makefile:504: recipe for target 'pktio.lo' failed
make[3]: *** [pktio.lo] Error 1
make[3]: Leaving directory
'/home/bill/linaro/api-next/test/validation/pktio'
Makefile:417: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
On Tue, Dec 8, 2015 at 5:12 PM, Mike Holmes
<mike.hol...@linaro.org <mailto:mike.hol...@linaro.org>> wrote:
Patch sent that works for me, it depends on the compiler
in use and the c99 vs posix standard I think
On 8 December 2015 at 17:14, Bill Fischofer
<bill.fischo...@linaro.org
<mailto:bill.fischo...@linaro.org>> wrote:
git bisect shows:
3164ccfe7e6dc548852b8f6f681069cd6d524bfc is the first
bad commit
commit 3164ccfe7e6dc548852b8f6f681069cd6d524bfc
Author: Ivan Khoronzhuk <ivan.khoronz...@linaro.org
<mailto:ivan.khoronz...@linaro.org>>
Date: Fri Dec 4 19:51:29 2015 +0200
linux-generic: odp_time: don't use cpu cycle API
to get time
The linux-generic time API implementation
shouldn't depend on cpu
cycle API wich is not stable enough to measure
time period due to
dynamic frequency scaling.
Reviewed-by: Petri Savolainen
<petri.savolai...@nokia.com
<mailto:petri.savolai...@nokia.com>>
Signed-off-by: Ivan Khoronzhuk
<ivan.khoronz...@linaro.org
<mailto:ivan.khoronz...@linaro.org>>
Signed-off-by: Maxim Uvarov
<maxim.uva...@linaro.org <mailto:maxim.uva...@linaro.org>>
:040000 040000
5b252b56eaa4d7c8df9f4583d0b6e7b8db9a9fb9
d331e32ad2a37014cdb8133a917cd660f52b6f7c Mplatform
On Tue, Dec 8, 2015 at 3:55 PM, Bill Fischofer
<bill.fischo...@linaro.org
<mailto:bill.fischo...@linaro.org>> wrote:
Trying to compile a fresh clone of api-next I'm
seeing the following:
CC odp_schedule.lo
odp_schedule.c: In function 'schedule_loop':
odp_schedule.c:589:13: error: storage size of
'next' isn't known
odp_time_t next, wtime;
^
odp_schedule.c:589:19: error: storage size of
'wtime' isn't known
odp_time_t next, wtime;
^
odp_schedule.c:606:4: error: invalid use of
incomplete typedef 'odp_time_t'
wtime = odp_time_local_from_ns(wait);
^
odp_schedule.c:607:4: error: invalid use of
incomplete typedef 'odp_time_t'
next = odp_time_sum(odp_time_local(), wtime);
^
odp_schedule.c:607:24: error: type of formal
parameter 1 is incomplete
next = odp_time_sum(odp_time_local(), wtime);
^
odp_schedule.c:607:42: error: type of formal
parameter 2 is incomplete
next = odp_time_sum(odp_time_local(), wtime);
^
odp_schedule.c:612:3: error: invalid use of
incomplete typedef 'odp_time_t'
if (odp_time_cmp(next, odp_time_local()) < 0)
^
odp_schedule.c:612:20: error: type of formal
parameter 1 is incomplete
if (odp_time_cmp(next, odp_time_local()) < 0)
^
odp_schedule.c:612:26: error: type of formal
parameter 2 is incomplete
if (odp_time_cmp(next, odp_time_local()) < 0)
^
odp_schedule.c:589:19: error: unused variable
'wtime' [-Werror=unused-variable]
odp_time_t next, wtime;
^
odp_schedule.c:589:13: error: unused variable
'next' [-Werror=unused-variable]
odp_time_t next, wtime;
^
cc1: all warnings being treated as errors
Makefile:757: recipe for target 'odp_schedule.lo'
failed
--
Mike Holmes
Technical Manager - Linaro Networking Group
Linaro.org <http://www.linaro.org/>***│ *Open source
software for ARM SoCs
--
Mike Holmes
Technical Manager - Linaro Networking Group
Linaro.org <http://www.linaro.org/>***│ *Open source software for
ARM SoCs
_______________________________________________
lng-odp mailing list
lng-odp@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/lng-odp