[dpdk-dev] [PATCH v2] mk: replace the combined library with a linker script

2016-03-02 Thread Panu Matilainen
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

2016-03-02 Thread 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.

- Panu -



[dpdk-dev] [PATCH v2] mk: replace the combined library with a linker script

2016-03-02 Thread Thomas Monjalon
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

2016-03-01 Thread Panu Matilainen
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

2016-03-01 Thread Thomas Monjalon
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

2016-02-23 Thread 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

 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