[2/2] ARM64: Cross-Compilation Support

Message ID 20240412111317.3530529-2-sebastian.brzezinka@intel.com (mailing list archive)
State New
Delegated to: Thomas Monjalon
Headers
Series [1/2] meson/mlx5: Suppress -Wunused-value diagnostic |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/loongarch-compilation success Compilation OK
ci/loongarch-unit-testing success Unit Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/github-robot: build fail github build: failed
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/intel-Functional success Functional PASS
ci/iol-compile-amd64-testing success Testing PASS
ci/iol-sample-apps-testing success Testing PASS
ci/iol-abi-testing success Testing PASS
ci/iol-unit-amd64-testing success Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-unit-arm64-testing success Testing PASS
ci/iol-compile-arm64-testing fail Testing issues
ci/iol-broadcom-Functional success Functional Testing PASS

Commit Message

Sebastian Brzezinka April 12, 2024, 11:13 a.m. UTC
  From: Krishna Kanth Reddy <krish.reddy@samsung.com>

Modified the Configuration file to use the latest ARM Cross-Compiler.

Fixed the linker errors for the undefined references to the APIs
isal_deflate_init, isal_deflate, isal_inflate_init, isal_inflate,
isal_inflate_stateless, isal_deflate_stateless,
isal_deflate_set_hufftables in the case of ARM Cross-Compilation.

Signed-off-by: Krishna Kanth Reddy <krish.reddy@samsung.com>
Signed-off-by: Sebastian Brzezinka <sebastian.brzezinka@intel.com>
---
 config/arm/arm64_armv8_linux_gcc  | 10 +++++-----
 drivers/compress/isal/meson.build |  4 ++++
 2 files changed, 9 insertions(+), 5 deletions(-)
  

Comments

Jerin Jacob April 16, 2024, 3:05 a.m. UTC | #1
On Fri, Apr 12, 2024 at 4:43 PM Sebastian Brzezinka
<sebastian.brzezinka@intel.com> wrote:
>
> From: Krishna Kanth Reddy <krish.reddy@samsung.com>
>
> Modified the Configuration file to use the latest ARM Cross-Compiler.
>
> Fixed the linker errors for the undefined references to the APIs
> isal_deflate_init, isal_deflate, isal_inflate_init, isal_inflate,
> isal_inflate_stateless, isal_deflate_stateless,
> isal_deflate_set_hufftables in the case of ARM Cross-Compilation.
>
> Signed-off-by: Krishna Kanth Reddy <krish.reddy@samsung.com>
> Signed-off-by: Sebastian Brzezinka <sebastian.brzezinka@intel.com>

There is comment[1] in v1. v2 is not addressed the comment nor
provided any feedback.
Also please add change log in patch(i.e what is changed from a version
to another version)

[1]
https://patches.dpdk.org/project/dpdk/patch/20240405110700.3279213-1-sebastian.brzezinka@intel.com/

> ---
>  config/arm/arm64_armv8_linux_gcc  | 10 +++++-----
>  drivers/compress/isal/meson.build |  4 ++++
>  2 files changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/config/arm/arm64_armv8_linux_gcc b/config/arm/arm64_armv8_linux_gcc
> index 529694b49d..6dfb8aa206 100644
> --- a/config/arm/arm64_armv8_linux_gcc
> +++ b/config/arm/arm64_armv8_linux_gcc
> @@ -1,9 +1,9 @@
>  [binaries]
> -c = ['ccache', 'aarch64-linux-gnu-gcc']
> -cpp = ['ccache', 'aarch64-linux-gnu-g++']
> -ar = 'aarch64-linux-gnu-gcc-ar'
> -strip = 'aarch64-linux-gnu-strip'
> -pkgconfig = 'aarch64-linux-gnu-pkg-config'
> +c = ['ccache', 'aarch64-none-linux-gnu-gcc']
> +cpp = ['ccache', 'aarch64-none-linux-gnu-cpp']
> +ar = 'aarch64-none-linux-gnu-gcc-ar'
> +strip = 'aarch64-none-linux-gnu-strip'
> +pkgconfig = 'aarch64-none-linux-gnu-pkg-config'
>  pcap-config = ''
>
>  [host_machine]
> diff --git a/drivers/compress/isal/meson.build b/drivers/compress/isal/meson.build
> index 4b3eaa2274..b3cc990053 100644
> --- a/drivers/compress/isal/meson.build
> +++ b/drivers/compress/isal/meson.build
> @@ -5,6 +5,10 @@ dep = dependency('libisal', required: false, method: 'pkg-config')
>  if not dep.found()
>      build = false
>      reason = 'missing dependency, "libisal"'
> +    isal_dep = cc.find_library('libisal', required: false)
> +    if isal_dep.found()
> +        ext_deps += isal_dep
> +    endif
>  endif
>
>  deps += 'bus_vdev'
> --
> 2.34.1
>
  
Sebastian Brzezinka May 23, 2024, 12:26 p.m. UTC | #2
I re-uploaded this patch to get rid of the banner added by the mail service, so there are no meaningful changes added to v2. 

> Is aarch64-none-linux* latest compiler?

According to https://developer.arm.com/downloads/-/gnu-a, there is no toolchain named aarch64-linux-gnu*.
  
Jerin Jacob May 23, 2024, 12:34 p.m. UTC | #3
On Thu, May 23, 2024 at 5:56 PM Sebastian Brzezinka
<sebastian.brzezinka@intel.com> wrote:
>
> I re-uploaded this patch to get rid of the banner added by the mail service, so there are no meaningful changes added to v2.
>
> > Is aarch64-none-linux* latest compiler?
>
> According to https://developer.arm.com/downloads/-/gnu-a, there is no toolchain named aarch64-linux-gnu*.

All distribution OS packages use aarch64-linux-gnu* for cross compilation.

https://jensd.be/1126/linux/cross-compiling-for-arm-or-aarch64-on-debian-or-ubuntu
  

Patch

diff --git a/config/arm/arm64_armv8_linux_gcc b/config/arm/arm64_armv8_linux_gcc
index 529694b49d..6dfb8aa206 100644
--- a/config/arm/arm64_armv8_linux_gcc
+++ b/config/arm/arm64_armv8_linux_gcc
@@ -1,9 +1,9 @@ 
 [binaries]
-c = ['ccache', 'aarch64-linux-gnu-gcc']
-cpp = ['ccache', 'aarch64-linux-gnu-g++']
-ar = 'aarch64-linux-gnu-gcc-ar'
-strip = 'aarch64-linux-gnu-strip'
-pkgconfig = 'aarch64-linux-gnu-pkg-config'
+c = ['ccache', 'aarch64-none-linux-gnu-gcc']
+cpp = ['ccache', 'aarch64-none-linux-gnu-cpp']
+ar = 'aarch64-none-linux-gnu-gcc-ar'
+strip = 'aarch64-none-linux-gnu-strip'
+pkgconfig = 'aarch64-none-linux-gnu-pkg-config'
 pcap-config = ''
 
 [host_machine]
diff --git a/drivers/compress/isal/meson.build b/drivers/compress/isal/meson.build
index 4b3eaa2274..b3cc990053 100644
--- a/drivers/compress/isal/meson.build
+++ b/drivers/compress/isal/meson.build
@@ -5,6 +5,10 @@  dep = dependency('libisal', required: false, method: 'pkg-config')
 if not dep.found()
     build = false
     reason = 'missing dependency, "libisal"'
+    isal_dep = cc.find_library('libisal', required: false)
+    if isal_dep.found()
+        ext_deps += isal_dep
+    endif
 endif
 
 deps += 'bus_vdev'