From: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
To: <cake@lists.bufferbloat.net>
Subject: Re: [Cake] Fixing iproute2 compile
Date: Tue, 20 Oct 2015 10:13:21 +0100 [thread overview]
Message-ID: <562605B1.2020508@darbyshire-bryant.me.uk> (raw)
In-Reply-To: <EEDAE319-7DC8-44A5-A364-310F4DE1C0BF@darbyshire-bryant.me.uk>
[-- Attachment #1: Type: text/plain, Size: 3505 bytes --]
Hi list,
Now that I've had a little more time to look at this and I'm not on a
train with exceptionally awful connectivity........
iproute2 commit 6256f8c9e45f01187b297a576e148534a393c990 introduced a
backup definition of 'offsetof' macro in utils.h presumably to cover the
case where it wasn't defined elsewhere. Anything post that iproute2
commit (Dave's tc-adv repo as example) will have this macro defined
courtesy 'utils.h'.
According to various man pages, 'offsetof' should be defined as part of
'stddef.h' which q_cake.c does not include. By including 'stddef.h' in
q_cake.c I can get q_cake.c to compile and I think that this is a more
correct solution than that proposed previously. I'm sure someone will
come up with an even more correct solution :-)
For full disclosure I should point out that toke's iproute2 4.0.0 + cake
repo still fails to build completely on my Linux mint 17.2 box *BUT*
with the following diff it at least finishes 'cake' whereas it used to
blow up over 'offsetof' :-)
Kevin
diff --git a/tc/q_cake.c b/tc/q_cake.c
index 3ab93c2..8c3e9c8 100644
--- a/tc/q_cake.c
+++ b/tc/q_cake.c
@@ -37,6 +37,7 @@
#include <stdio.h>
#include <stdlib.h>
+#include <stddef.h>
#include <unistd.h>
#include <syslog.h>
#include <fcntl.h>
On 19/10/15 22:17, Kevin Darbyshire-Bryant wrote:
> I think the problem is we're not including stddef.h which defines offsetof. Later versions of iproute include a def in Utils.h but that wasn't in v4.0.0 which is what tokes repo is based on. Tc-adv is a bit more recent.
>
> --
> Cheers,
>
> Kevin@Darbyshire-Bryant.me.uk
> Sent from my phone, apologies for brevity, spelling & top posting
>
>> On 19 Oct 2015, at 17:41, Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk> wrote:
>>
>> Hold the phone...
>>
>> My guess is a difference in definition of offsetof as potentially defined in tc/include/Utils.h
>>
>> But very hard to tell on my phone!
>>
>> --
>> Cheers,
>>
>> Kevin@Darbyshire-Bryant.me.uk
>> Sent from my phone, apologies for brevity, spelling & top posting
>>
>>> On 19 Oct 2015, at 17:01, Toke Høiland-Jørgensen <toke@toke.dk> wrote:
>>>
>>> So finally got iproute2 to compile out of the kau.toke.dk repo. The
>>> patch below was needed to cake. Posting it here rather than just
>>> committing in the hope of getting someone (Jonathan?) to take a look at
>>> it and fix it everywhere it's needed :)
>>>
>>> -Toke
>>>
>>> diff --git a/tc/q_cake.c b/tc/q_cake.c
>>> index 4d64405..1384a46 100644
>>> --- a/tc/q_cake.c
>>> +++ b/tc/q_cake.c
>>> @@ -495,7 +496,7 @@ static int cake_print_xstats(struct qdisc_util *qu, FILE *f,
>>>
>>> } else if (stnc->version >= 1 && stnc->version < 0xFF
>>> && stnc->max_tins == TC_CAKE_MAX_TINS
>>> - && RTA_PAYLOAD(xstats) >= offsetof(*stnc, capacity_estimate))
>>> + && RTA_PAYLOAD(xstats) >= offsetof(typeof(*stnc), capacity_estimate))
>>> {
>>> int i;
>>>
>>> _______________________________________________
>>> Cake mailing list
>>> Cake@lists.bufferbloat.net
>>> https://lists.bufferbloat.net/listinfo/cake
>> _______________________________________________
>> Cake mailing list
>> Cake@lists.bufferbloat.net
>> https://lists.bufferbloat.net/listinfo/cake
>>
>>
>> _______________________________________________
>> Cake mailing list
>> Cake@lists.bufferbloat.net
>> https://lists.bufferbloat.net/listinfo/cake
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4816 bytes --]
next prev parent reply other threads:[~2015-10-20 9:13 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-19 16:01 Toke Høiland-Jørgensen
2015-10-19 16:31 ` Kevin Darbyshire-Bryant
2015-10-20 15:33 ` Toke Høiland-Jørgensen
2015-10-19 16:41 ` Kevin Darbyshire-Bryant
2015-10-19 21:17 ` Kevin Darbyshire-Bryant
2015-10-20 9:13 ` Kevin Darbyshire-Bryant [this message]
2015-10-20 15:38 ` Toke Høiland-Jørgensen
2015-10-21 10:31 ` Kevin Darbyshire-Bryant
2015-10-21 11:38 ` Toke Høiland-Jørgensen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://lists.bufferbloat.net/postorius/lists/cake.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=562605B1.2020508@darbyshire-bryant.me.uk \
--to=kevin@darbyshire-bryant.me.uk \
--cc=cake@lists.bufferbloat.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox