diff mbox series

[v3,1/5] pmdinfogen: fix cross compilation for ARM BE

Message ID 1513583809-3926-1-git-send-email-hemant.agrawal@nxp.com
State Accepted
Commit 74d6c4a72eb2ba9025f25706227f4cf304fe0ba6
Headers show
Series [v3,1/5] pmdinfogen: fix cross compilation for ARM BE | expand

Commit Message

Hemant Agrawal Dec. 18, 2017, 7:56 a.m. UTC
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: Neil Horman <nhorman@tuxdriver.com>
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>

---
 buildtools/pmdinfogen/pmdinfogen.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

-- 
2.7.4

Comments

Thomas Monjalon Jan. 12, 2018, 4:27 p.m. UTC | #1
18/12/2017 08:56, Hemant Agrawal:
> 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: Neil Horman <nhorman@tuxdriver.com>

> 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>


Series applied, thanks
diff mbox series

Patch

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      =