[dpdk-dev] [PATCH v2] mk: replace the combined library with a linker script
On 03/02/2016 02:40 PM, Thomas Monjalon wrote: > 2016-03-02 14:30, Panu Matilainen: >> On 03/01/2016 04:48 PM, Panu Matilainen wrote: >>> On 03/01/2016 03:40 PM, Thomas Monjalon wrote: ping I would like to be sure nothing is forgotten in this new revision. >>> >>> Sorry, didn't realize you were waiting for input from me, it feels a bit >>> strange to comment on something supposedly coming from myself :) >>> 2016-02-23 23:20, Thomas Monjalon: > From: Panu Matilainen > > The physically linked-together combined library has been an increasing > source of problems, as was predicted when library and symbol versioning > was introduced. Replace the complex and fragile construction with a > simple linker script which achieves the same without all the problems, > remove the related kludges from eg mlx drivers. > > Since creating the linker script is practically zero cost, remove the > config option and just create it always. > > Based on a patch by Sergio Gonzales Monroy, linker script approach > initially suggested by Neil Horman. > > Suggested-by: Sergio Gonzalez Monroy > Suggested-by: Neil Horman > Signed-off-by: Panu Matilainen > Signed-off-by: Thomas Monjalon > --- > v2: > - move RTE_LIBNAME assignment rte.vars.mk to rte.combinedlib.mk > - update crypto > - update doc > - update rte.app.mk > - update test-build.sh >>> >>> Briefly tested, gets generated and installed as it should etc - looks >>> good to me. >> >> Forgot to note that the patch doesn't apply anymore because of >> scripts/test-build.sh changes, so it needs a rebase. Want me to send a >> v3 or will you handle it when committing? >> >> On a related note, if this is about to go in then I'd rather have it >> sooner than later because it also conflicts with the LDLIBS fixing >> that's been slowly going on for months and months but been on hold >> lately, partly because of this hangup. > > Applied, thanks > Awesome, thank you! :) - Panu -
[dpdk-dev] [PATCH v2] mk: replace the combined library with a linker script
On 03/01/2016 04:48 PM, Panu Matilainen wrote: > On 03/01/2016 03:40 PM, Thomas Monjalon wrote: >> ping >> I would like to be sure nothing is forgotten in this new revision. > > Sorry, didn't realize you were waiting for input from me, it feels a bit > strange to comment on something supposedly coming from myself :) > >> 2016-02-23 23:20, Thomas Monjalon: >>> From: Panu Matilainen >>> >>> The physically linked-together combined library has been an increasing >>> source of problems, as was predicted when library and symbol versioning >>> was introduced. Replace the complex and fragile construction with a >>> simple linker script which achieves the same without all the problems, >>> remove the related kludges from eg mlx drivers. >>> >>> Since creating the linker script is practically zero cost, remove the >>> config option and just create it always. >>> >>> Based on a patch by Sergio Gonzales Monroy, linker script approach >>> initially suggested by Neil Horman. >>> >>> Suggested-by: Sergio Gonzalez Monroy >>> Suggested-by: Neil Horman >>> Signed-off-by: Panu Matilainen >>> Signed-off-by: Thomas Monjalon >>> --- >>> v2: >>> - move RTE_LIBNAME assignment rte.vars.mk to rte.combinedlib.mk >>> - update crypto >>> - update doc >>> - update rte.app.mk >>> - update test-build.sh >> > > Briefly tested, gets generated and installed as it should etc - looks > good to me. Forgot to note that the patch doesn't apply anymore because of scripts/test-build.sh changes, so it needs a rebase. Want me to send a v3 or will you handle it when committing? On a related note, if this is about to go in then I'd rather have it sooner than later because it also conflicts with the LDLIBS fixing that's been slowly going on for months and months but been on hold lately, partly because of this hangup. - Panu -
[dpdk-dev] [PATCH v2] mk: replace the combined library with a linker script
2016-03-02 14:30, Panu Matilainen: > On 03/01/2016 04:48 PM, Panu Matilainen wrote: > > On 03/01/2016 03:40 PM, Thomas Monjalon wrote: > >> ping > >> I would like to be sure nothing is forgotten in this new revision. > > > > Sorry, didn't realize you were waiting for input from me, it feels a bit > > strange to comment on something supposedly coming from myself :) > > > >> 2016-02-23 23:20, Thomas Monjalon: > >>> From: Panu Matilainen > >>> > >>> The physically linked-together combined library has been an increasing > >>> source of problems, as was predicted when library and symbol versioning > >>> was introduced. Replace the complex and fragile construction with a > >>> simple linker script which achieves the same without all the problems, > >>> remove the related kludges from eg mlx drivers. > >>> > >>> Since creating the linker script is practically zero cost, remove the > >>> config option and just create it always. > >>> > >>> Based on a patch by Sergio Gonzales Monroy, linker script approach > >>> initially suggested by Neil Horman. > >>> > >>> Suggested-by: Sergio Gonzalez Monroy > >>> Suggested-by: Neil Horman > >>> Signed-off-by: Panu Matilainen > >>> Signed-off-by: Thomas Monjalon > >>> --- > >>> v2: > >>> - move RTE_LIBNAME assignment rte.vars.mk to rte.combinedlib.mk > >>> - update crypto > >>> - update doc > >>> - update rte.app.mk > >>> - update test-build.sh > >> > > > > Briefly tested, gets generated and installed as it should etc - looks > > good to me. > > Forgot to note that the patch doesn't apply anymore because of > scripts/test-build.sh changes, so it needs a rebase. Want me to send a > v3 or will you handle it when committing? > > On a related note, if this is about to go in then I'd rather have it > sooner than later because it also conflicts with the LDLIBS fixing > that's been slowly going on for months and months but been on hold > lately, partly because of this hangup. Applied, thanks
[dpdk-dev] [PATCH v2] mk: replace the combined library with a linker script
On 03/01/2016 03:40 PM, Thomas Monjalon wrote: > ping > I would like to be sure nothing is forgotten in this new revision. Sorry, didn't realize you were waiting for input from me, it feels a bit strange to comment on something supposedly coming from myself :) > 2016-02-23 23:20, Thomas Monjalon: >> From: Panu Matilainen >> >> The physically linked-together combined library has been an increasing >> source of problems, as was predicted when library and symbol versioning >> was introduced. Replace the complex and fragile construction with a >> simple linker script which achieves the same without all the problems, >> remove the related kludges from eg mlx drivers. >> >> Since creating the linker script is practically zero cost, remove the >> config option and just create it always. >> >> Based on a patch by Sergio Gonzales Monroy, linker script approach >> initially suggested by Neil Horman. >> >> Suggested-by: Sergio Gonzalez Monroy >> Suggested-by: Neil Horman >> Signed-off-by: Panu Matilainen >> Signed-off-by: Thomas Monjalon >> --- >> v2: >> - move RTE_LIBNAME assignment rte.vars.mk to rte.combinedlib.mk >> - update crypto >> - update doc >> - update rte.app.mk >> - update test-build.sh > Briefly tested, gets generated and installed as it should etc - looks good to me. - Panu -
[dpdk-dev] [PATCH v2] mk: replace the combined library with a linker script
ping I would like to be sure nothing is forgotten in this new revision. 2016-02-23 23:20, Thomas Monjalon: > From: Panu Matilainen > > The physically linked-together combined library has been an increasing > source of problems, as was predicted when library and symbol versioning > was introduced. Replace the complex and fragile construction with a > simple linker script which achieves the same without all the problems, > remove the related kludges from eg mlx drivers. > > Since creating the linker script is practically zero cost, remove the > config option and just create it always. > > Based on a patch by Sergio Gonzales Monroy, linker script approach > initially suggested by Neil Horman. > > Suggested-by: Sergio Gonzalez Monroy > Suggested-by: Neil Horman > Signed-off-by: Panu Matilainen > Signed-off-by: Thomas Monjalon > --- > v2: > - move RTE_LIBNAME assignment rte.vars.mk to rte.combinedlib.mk > - update crypto > - update doc > - update rte.app.mk > - update test-build.sh
[dpdk-dev] [PATCH v2] mk: replace the combined library with a linker script
From: Panu Matilainen The physically linked-together combined library has been an increasing source of problems, as was predicted when library and symbol versioning was introduced. Replace the complex and fragile construction with a simple linker script which achieves the same without all the problems, remove the related kludges from eg mlx drivers. Since creating the linker script is practically zero cost, remove the config option and just create it always. Based on a patch by Sergio Gonzales Monroy, linker script approach initially suggested by Neil Horman. Suggested-by: Sergio Gonzalez Monroy Suggested-by: Neil Horman Signed-off-by: Panu Matilainen Signed-off-by: Thomas Monjalon --- v2: - move RTE_LIBNAME assignment rte.vars.mk to rte.combinedlib.mk - update crypto - update doc - update rte.app.mk - update test-build.sh config/common_bsdapp | 5 -- config/common_linuxapp | 5 -- doc/guides/contributing/patches.rst | 12 ++- doc/guides/nics/mlx4.rst | 5 -- doc/guides/nics/mlx5.rst | 5 -- drivers/crypto/Makefile | 3 +- drivers/net/Makefile | 1 - drivers/net/mlx4/Makefile| 6 -- drivers/net/mlx5/Makefile| 6 -- lib/Makefile | 1 - mk/rte.app.mk| 17 +--- drivers/crypto/Makefile => mk/rte.combinedlib.mk | 28 +- mk/rte.lib.mk| 16 mk/rte.sdkbuild.mk | 4 +- mk/rte.sharelib.mk | 105 --- mk/rte.vars.mk | 2 - scripts/test-build.sh| 7 +- 17 files changed, 36 insertions(+), 192 deletions(-) copy drivers/crypto/Makefile => mk/rte.combinedlib.mk (81%) delete mode 100644 mk/rte.sharelib.mk diff --git a/config/common_bsdapp b/config/common_bsdapp index 696382c..7df5ac6 100644 --- a/config/common_bsdapp +++ b/config/common_bsdapp @@ -74,11 +74,6 @@ CONFIG_RTE_ARCH_STRICT_ALIGN=n CONFIG_RTE_BUILD_SHARED_LIB=n # -# Combine to one single library -# -CONFIG_RTE_BUILD_COMBINE_LIBS=n - -# # Use newest code breaking previous ABI # CONFIG_RTE_NEXT_ABI=y diff --git a/config/common_linuxapp b/config/common_linuxapp index f1638db..26df137 100644 --- a/config/common_linuxapp +++ b/config/common_linuxapp @@ -74,11 +74,6 @@ CONFIG_RTE_ARCH_STRICT_ALIGN=n CONFIG_RTE_BUILD_SHARED_LIB=n # -# Combine to one single library -# -CONFIG_RTE_BUILD_COMBINE_LIBS=n - -# # Use newest code breaking previous ABI # CONFIG_RTE_NEXT_ABI=y diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst index 5dd8f79..3ebe95b 100644 --- a/doc/guides/contributing/patches.rst +++ b/doc/guides/contributing/patches.rst @@ -267,7 +267,7 @@ Checking Compilation Compilation of patches and changes should be tested using the the ``test-build.sh`` script in the ``scripts`` directory of the DPDK repo:: - scripts/test-build.sh x86_64-native-linuxapp-gcc+next+shared+combined + scripts/test-build.sh x86_64-native-linuxapp-gcc+next+shared The script usage is:: @@ -283,10 +283,8 @@ Where: Examples of configs are:: x86_64-native-linuxapp-gcc - x86_64-native-linuxapp-gcc+next+shared+combined - x86_64-native-linuxapp-gcc+shared+next - x86_64-native-linuxapp-clang+shared+combined - i686-native-linuxapp-gcc+combined + x86_64-native-linuxapp-gcc+next+shared + x86_64-native-linuxapp-clang+shared The builds can be modifies via the following environmental variables: @@ -302,8 +300,8 @@ These can be set from the command line or in the config files shown above in the The recommended configurations and options to test compilation prior to submitting patches are:: x86_64-native-linuxapp-gcc+shared+next - x86_64-native-linuxapp-clang+shared+combined - i686-native-linuxapp-gcc+combined + x86_64-native-linuxapp-clang+shared + i686-native-linuxapp-gcc export DPDK_DEP_ZLIB=y export DPDK_DEP_PCAP=y diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst index 7757013..49f4626 100644 --- a/doc/guides/nics/mlx4.rst +++ b/doc/guides/nics/mlx4.rst @@ -47,11 +47,6 @@ There is also a `section dedicated to this poll mode driver be enabled manually by setting ``CONFIG_RTE_LIBRTE_MLX4_PMD=y`` and recompiling DPDK. -.. warning:: - - ``CONFIG_RTE_BUILD_COMBINE_LIBS`` with ``CONFIG_RTE_BUILD_SHARED_LIB`` - is not supported and thus the compilation will fail with this configuration. - Implementation details -- diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index b2a12ce..66794e6 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -48,11 +48,6 @@ There is also a `section dedicated to this poll mode driver be e