dev.dpdk.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] eal: fix use of RTE_PTR_ALIGN_CEIL macro on 32bits system
@ 2014-02-28  8:21 David Marchand
       [not found] ` <1393575696-25289-1-git-send-email-david.marchand-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
  0 siblings, 1 reply; 4+ messages in thread
From: David Marchand @ 2014-02-28  8:21 UTC (permalink / raw)
  To: liljegren.mats2-Re5JQEeQqe8AvxtiuMwx3w; +Cc: dev-VfR2kkLFssw

Build issue reported by Mats Liljegren :

  CC eal.o
In file included from
/home/lwrt/build/dpdk/lib/librte_eal/linuxapp/eal/eal.c:55:0:
/home/lwrt/build/dpdk/lib/librte_eal/linuxapp/eal/eal.c: In function
‘eal_parse_base_virtaddr’:
/home/lwrt/build/dpdk/i686-default-linuxapp-gcc/include/rte_common.h:133:22:
error: cast from pointer to integer of different size
[-Werror=pointer-to-int-cast]
  RTE_PTR_ALIGN_FLOOR((typeof(ptr))RTE_PTR_ADD(ptr, (align) - 1), align)
                      ^
/home/lwrt/build/dpdk/i686-default-linuxapp-gcc/include/rte_common.h:115:10:
note: in definition of macro ‘RTE_PTR_ALIGN_FLOOR’
  (typeof(ptr))rte_align_floor_int((uintptr_t)ptr, align)
          ^
/home/lwrt/build/dpdk/lib/librte_eal/linuxapp/eal/eal.c:566:9: note:
in expansion of macro ‘RTE_PTR_ALIGN_CEIL’
  addr = RTE_PTR_ALIGN_CEIL(addr, RTE_PGSIZE_2M);
         ^
/home/lwrt/build/dpdk/i686-default-linuxapp-gcc/include/rte_common.h:133:22:
error: cast from pointer to integer of different size
[-Werror=pointer-to-int-cast]
  RTE_PTR_ALIGN_FLOOR((typeof(ptr))RTE_PTR_ADD(ptr, (align) - 1), align)
                      ^
/home/lwrt/build/dpdk/i686-default-linuxapp-gcc/include/rte_common.h:115:46:
note: in definition of macro ‘RTE_PTR_ALIGN_FLOOR’
  (typeof(ptr))rte_align_floor_int((uintptr_t)ptr, align)
                                              ^
/home/lwrt/build/dpdk/lib/librte_eal/linuxapp/eal/eal.c:566:9: note:
in expansion of macro ‘RTE_PTR_ALIGN_CEIL’
  addr = RTE_PTR_ALIGN_CEIL(addr, RTE_PGSIZE_2M);
         ^
cc1: all warnings being treated as errors

RTE_PTR_ALIGN_CEIL return type is the same as what we give it as input.
So instead of casting the returned value, cast 'addr' which should be the same
as base_virtaddr.

Reported-by: Mats Liljegren <mats.liljegren-AM1FMPraTHU@public.gmane.org>
Signed-off-by: David Marchand <david.marchand-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
---
 lib/librte_eal/linuxapp/eal/eal.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c
index db0e15c..72b4dd7 100644
--- a/lib/librte_eal/linuxapp/eal/eal.c
+++ b/lib/librte_eal/linuxapp/eal/eal.c
@@ -563,9 +563,9 @@ eal_parse_base_virtaddr(const char *arg)
 #endif
 
 	/* align the addr on 2M boundary */
-	addr = RTE_PTR_ALIGN_CEIL(addr, RTE_PGSIZE_2M);
+	internal_config.base_virtaddr = RTE_PTR_ALIGN_CEIL((uintptr_t)addr,
+	                                                   RTE_PGSIZE_2M);
 
-	internal_config.base_virtaddr = (uintptr_t) addr;
 	return 0;
 }
 
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-03-20 14:43 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-28  8:21 [PATCH 1/2] eal: fix use of RTE_PTR_ALIGN_CEIL macro on 32bits system David Marchand
     [not found] ` <1393575696-25289-1-git-send-email-david.marchand-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-02-28  8:21   ` [PATCH 2/2] mem: fix build " David Marchand
     [not found]     ` <1393575696-25289-2-git-send-email-david.marchand-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-03-20 14:43       ` Thomas Monjalon
2014-03-20 14:40   ` [PATCH 1/2] eal: fix use of RTE_PTR_ALIGN_CEIL macro " Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).