[dpdk-dev,v2] mk: pass EXTRA_CFLAGS to AUTO_CPUFLAGS to enable local modifications

Message ID 20151124085001.58817bf0@miho (mailing list archive)
State Accepted, archived
Headers

Commit Message

Simon Kagstrom Nov. 24, 2015, 7:50 a.m. UTC
  We have encountered a CPU where the AES-NI instruction set is disabled
due to export restrictions. Since the build machine and target machine
is different, using -native configs doesn't work, and on this CPU, the
application refuses to run due to the AES CPU flags being amiss.

The patch passes EXTRA_CFLAGS to the figure-out-cpu-flags helper,
which allows us to add -mno-aes to the compile flags and resolve this
problem.

Signed-off-by: Simon Kagstrom <simon.kagstrom@netinsight.net>
---
ChangeLog:

v2:
* Put EXTRA_CFLAGS after MACHINE_CFLAGS to enable overriding values

 mk/rte.cpuflags.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Simon Kagstrom Dec. 4, 2015, 8:12 a.m. UTC | #1
Hi Olivier!

Does this commit look OK now with the changes you proposed?

Thanks,
// Simon

On 2015-11-24 08:50, Simon Kagstrom wrote:
> We have encountered a CPU where the AES-NI instruction set is disabled
> due to export restrictions. Since the build machine and target machine
> is different, using -native configs doesn't work, and on this CPU, the
> application refuses to run due to the AES CPU flags being amiss.
> 
> The patch passes EXTRA_CFLAGS to the figure-out-cpu-flags helper,
> which allows us to add -mno-aes to the compile flags and resolve this
> problem.
> 
> Signed-off-by: Simon Kagstrom <simon.kagstrom@netinsight.net>
> ---
> ChangeLog:
> 
> v2:
> * Put EXTRA_CFLAGS after MACHINE_CFLAGS to enable overriding values
> 
>  mk/rte.cpuflags.mk | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/mk/rte.cpuflags.mk b/mk/rte.cpuflags.mk
> index bec7bdd..4b30c6b 100644
> --- a/mk/rte.cpuflags.mk
> +++ b/mk/rte.cpuflags.mk
> @@ -33,7 +33,7 @@
>  # used to set the RTE_CPUFLAG_* environment variables giving details
>  # of what instruction sets the target cpu supports.
>  
> -AUTO_CPUFLAGS := $(shell $(CC) $(MACHINE_CFLAGS) -dM -E - < /dev/null)
> +AUTO_CPUFLAGS := $(shell $(CC) $(MACHINE_CFLAGS) $(EXTRA_CFLAGS) -dM -E - < /dev/null)
>  
>  # adding flags to CPUFLAGS
>  
>
  
Olivier Matz Dec. 4, 2015, 10:15 a.m. UTC | #2
Hi Simon,

On 12/04/2015 09:12 AM, Simon Kågström wrote:
> Hi Olivier!
> 
> Does this commit look OK now with the changes you proposed?
> 
> Thanks,
> // Simon
> 
> On 2015-11-24 08:50, Simon Kagstrom wrote:
>> We have encountered a CPU where the AES-NI instruction set is disabled
>> due to export restrictions. Since the build machine and target machine
>> is different, using -native configs doesn't work, and on this CPU, the
>> application refuses to run due to the AES CPU flags being amiss.
>>
>> The patch passes EXTRA_CFLAGS to the figure-out-cpu-flags helper,
>> which allows us to add -mno-aes to the compile flags and resolve this
>> problem.
>>
>> Signed-off-by: Simon Kagstrom <simon.kagstrom@netinsight.net>
>> ---
>> ChangeLog:
>>
>> v2:
>> * Put EXTRA_CFLAGS after MACHINE_CFLAGS to enable overriding values
>>
>>  mk/rte.cpuflags.mk | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/mk/rte.cpuflags.mk b/mk/rte.cpuflags.mk
>> index bec7bdd..4b30c6b 100644
>> --- a/mk/rte.cpuflags.mk
>> +++ b/mk/rte.cpuflags.mk
>> @@ -33,7 +33,7 @@
>>  # used to set the RTE_CPUFLAG_* environment variables giving details
>>  # of what instruction sets the target cpu supports.
>>  
>> -AUTO_CPUFLAGS := $(shell $(CC) $(MACHINE_CFLAGS) -dM -E - < /dev/null)
>> +AUTO_CPUFLAGS := $(shell $(CC) $(MACHINE_CFLAGS) $(EXTRA_CFLAGS) -dM -E - < /dev/null)
>>  
>>  # adding flags to CPUFLAGS
>>  
>>


Acked-by: Olivier Matz <olivier.matz@6wind.com>
  
Thomas Monjalon Dec. 4, 2015, 6:53 p.m. UTC | #3
> >> We have encountered a CPU where the AES-NI instruction set is disabled
> >> due to export restrictions. Since the build machine and target machine
> >> is different, using -native configs doesn't work, and on this CPU, the
> >> application refuses to run due to the AES CPU flags being amiss.
> >>
> >> The patch passes EXTRA_CFLAGS to the figure-out-cpu-flags helper,
> >> which allows us to add -mno-aes to the compile flags and resolve this
> >> problem.
> >>
> >> Signed-off-by: Simon Kagstrom <simon.kagstrom@netinsight.net>
> 
> Acked-by: Olivier Matz <olivier.matz@6wind.com>

Applied, thanks
  

Patch

diff --git a/mk/rte.cpuflags.mk b/mk/rte.cpuflags.mk
index bec7bdd..4b30c6b 100644
--- a/mk/rte.cpuflags.mk
+++ b/mk/rte.cpuflags.mk
@@ -33,7 +33,7 @@ 
 # used to set the RTE_CPUFLAG_* environment variables giving details
 # of what instruction sets the target cpu supports.
 
-AUTO_CPUFLAGS := $(shell $(CC) $(MACHINE_CFLAGS) -dM -E - < /dev/null)
+AUTO_CPUFLAGS := $(shell $(CC) $(MACHINE_CFLAGS) $(EXTRA_CFLAGS) -dM -E - < /dev/null)
 
 # adding flags to CPUFLAGS