summaryrefslogtreecommitdiff
path: root/buildtools
diff options
context:
space:
mode:
authorHemant Agrawal <hemant.agrawal@nxp.com>2017-12-18 13:26:45 +0530
committerThomas Monjalon <thomas@monjalon.net>2018-01-12 17:26:41 +0100
commit74d6c4a72eb2ba9025f25706227f4cf304fe0ba6 (patch)
tree7c983e295ec83fb5f4e47b6ce161c9e75972316d /buildtools
parent7b74a6e0b638ce69b9d03367ce85258e0da19807 (diff)
downloaddpdk-74d6c4a72eb2ba9025f25706227f4cf304fe0ba6.zip
dpdk-74d6c4a72eb2ba9025f25706227f4cf304fe0ba6.tar.gz
dpdk-74d6c4a72eb2ba9025f25706227f4cf304fe0ba6.tar.xz
pmdinfogen: fix cross compilation for ARM big endian
Cross compiling DPDK for BE mode on ARM results into errors "PMDINFO portal/dpaa2_hw_dpio.o.pmd.c No drivers registered" The original code assumes the sh_size to be 32 bit, while it can be Elf32_Word or Elf64_Xword based on 32bit or 64 bit systems. This patches replaces the sh_size conversion routines to use ADDR_SIZE Fixes: 98b0fdb0ffc6 ("pmdinfogen: add buildtools and pmdinfogen utility") Cc: stable@dpdk.org Signed-off-by: Jun Yang <jun.yang@nxp.com> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Neil Horman <nhorman@tuxdriver.com>
Diffstat (limited to 'buildtools')
-rw-r--r--buildtools/pmdinfogen/pmdinfogen.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/buildtools/pmdinfogen/pmdinfogen.c b/buildtools/pmdinfogen/pmdinfogen.c
index 96ccbf3..b07dbcf 100644
--- a/buildtools/pmdinfogen/pmdinfogen.c
+++ b/buildtools/pmdinfogen/pmdinfogen.c
@@ -158,7 +158,8 @@ static int parse_elf(struct elf_info *info, const char *filename)
* There are more than 64k sections,
* read count from .sh_size.
*/
- info->num_sections = TO_NATIVE(endian, 32, sechdrs[0].sh_size);
+ info->num_sections =
+ TO_NATIVE(endian, ADDR_SIZE, sechdrs[0].sh_size);
} else {
info->num_sections = hdr->e_shnum;
}
@@ -181,7 +182,7 @@ static int parse_elf(struct elf_info *info, const char *filename)
sechdrs[i].sh_offset =
TO_NATIVE(endian, ADDR_SIZE, sechdrs[i].sh_offset);
sechdrs[i].sh_size =
- TO_NATIVE(endian, 32, sechdrs[i].sh_size);
+ TO_NATIVE(endian, ADDR_SIZE, sechdrs[i].sh_size);
sechdrs[i].sh_link =
TO_NATIVE(endian, 32, sechdrs[i].sh_link);
sechdrs[i].sh_info =