diff mbox series

trusted-firmware-a: fix build error when using ccache

Message ID 20240928155436.1145975-1-radian.dc@gmail.com
State New
Headers show
Series trusted-firmware-a: fix build error when using ccache | expand

Commit Message

Adrian DC Sept. 28, 2024, 3:54 p.m. UTC
From: Javier Tia <javier.tia@linaro.org>

When ccache is enabled trusted-firmware-a recipe fails with this
error message:

    make: *** No rule to make target 'aarch64-poky-linux-gcc'. Stop.

ccache prefix CC variable with 'ccache' word before compiler. Because
there are no quotes assigned to CC, only 'ccache' is assigned. The
compiler becomes a make target, producing the build error.

Add single quotes to LD is a good measure to prevent this kind of error.

Signed-off-by: Javier Tia <javier.tia@linaro.org>
Signed-off-by: Jon Mason <jon.mason@arm.com>
Signed-off-by: Adrian DC <radian.dc@gmail.com>
---
 .../recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc     | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Jon Mason Sept. 30, 2024, 2 p.m. UTC | #1
On Sat, Sep 28, 2024 at 05:54:36PM +0200, Adrian DC wrote:
> From: Javier Tia <javier.tia@linaro.org>
> 
> When ccache is enabled trusted-firmware-a recipe fails with this
> error message:
> 
>     make: *** No rule to make target 'aarch64-poky-linux-gcc'. Stop.
> 
> ccache prefix CC variable with 'ccache' word before compiler. Because
> there are no quotes assigned to CC, only 'ccache' is assigned. The
> compiler becomes a make target, producing the build error.
> 
> Add single quotes to LD is a good measure to prevent this kind of error.
> 
> Signed-off-by: Javier Tia <javier.tia@linaro.org>
> Signed-off-by: Jon Mason <jon.mason@arm.com>
> Signed-off-by: Adrian DC <radian.dc@gmail.com>

I have questions about this patch's origins, given the above s-o-b's.
Signed-off-by's state an authorship or handling (see Developer’s
Certificate of Origin).  Since I have not seen this patch, I should
not be listed.  It's on me to add my s-o-b.  Also, the ordering tends
to matter, as each person handling the patch adds their s-o-b at the
end of the patch.  So, you should be second, since you are taking this
from Javier and submitting it for him (nd I would be last since
I'mtaking it from you).

Also, this feels like it needs a "Fixes:" line.  So, I know how far to
pull this back in the stable branches.

Finally, I find it weird that Javier isn't submitting this himself.
Javier appears to be the author, and it includes his Linaro emaila
ddress, and you are sending it from a gmail account.  Are you
co-authors?  Are you sending it with his approval because he is
busy/vacationing/ill?

Overall the patch is fine and I would normally include it, but this is
weird to me.  If Javier acks it to confirm his authoer, then I'll move
my s-o-b to the end and include it.

Thanks,
Jon


> ---
>  .../recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc     | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
> index 2e3b50c5..5d3da59b 100644
> --- a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
> +++ b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
> @@ -101,9 +101,9 @@ def remove_options_tail (in_string):
>      from itertools import takewhile
>      return ' '.join(takewhile(lambda x: not x.startswith('-'), in_string.split(' ')))
>  
> -EXTRA_OEMAKE += "LD=${@remove_options_tail(d.getVar('LD'))}"
> +EXTRA_OEMAKE += "LD='${@remove_options_tail(d.getVar('LD'))}'"
>  
> -EXTRA_OEMAKE += "CC=${@remove_options_tail(d.getVar('CC'))}"
> +EXTRA_OEMAKE += "CC='${@remove_options_tail(d.getVar('CC'))}'"
>  
>  # Verbose builds, no -Werror
>  EXTRA_OEMAKE += "V=1 E=0"
> -- 
> 2.43.0
> 
>
Javier Tia Sept. 30, 2024, 10:47 p.m. UTC | #2
Hi,

On 9/30/24 8:00 AM, Jon Mason wrote:
> On Sat, Sep 28, 2024 at 05:54:36PM +0200, Adrian DC wrote:
>> From: Javier Tia <javier.tia@linaro.org>
>>
>> When ccache is enabled trusted-firmware-a recipe fails with this
>> error message:
>>
>>      make: *** No rule to make target 'aarch64-poky-linux-gcc'. Stop.
>>
>> ccache prefix CC variable with 'ccache' word before compiler. Because
>> there are no quotes assigned to CC, only 'ccache' is assigned. The
>> compiler becomes a make target, producing the build error.
>>
>> Add single quotes to LD is a good measure to prevent this kind of error.
>>
>> Signed-off-by: Javier Tia <javier.tia@linaro.org>
>> Signed-off-by: Jon Mason <jon.mason@arm.com>
>> Signed-off-by: Adrian DC <radian.dc@gmail.com>
> 
> I have questions about this patch's origins, given the above s-o-b's.
> Signed-off-by's state an authorship or handling (see Developer’s
> Certificate of Origin).  Since I have not seen this patch, I should
> not be listed.  It's on me to add my s-o-b.  Also, the ordering tends
> to matter, as each person handling the patch adds their s-o-b at the
> end of the patch.  So, you should be second, since you are taking this
> from Javier and submitting it for him (nd I would be last since
> I'mtaking it from you).
> 
> Also, this feels like it needs a "Fixes:" line.  So, I know how far to
> pull this back in the stable branches.
> 
> Finally, I find it weird that Javier isn't submitting this himself.
> Javier appears to be the author, and it includes his Linaro emaila
> ddress, and you are sending it from a gmail account.  Are you
> co-authors?  Are you sending it with his approval because he is
> busy/vacationing/ill?
> 
> Overall the patch is fine and I would normally include it, but this is
> weird to me.  If Javier acks it to confirm his authoer, then I'll move
> my s-o-b to the end and include it.

Oh, this is a surprise.

Jon has a good point.

I have not approved sending this patch on my behalf. Yes, it looks like I am the original author because I recall fixing some issues around ccache a time ago; maybe last year if I remember correctly. But, before I acked it, I would like to know from where it was taken to have a bit more context. URL? Was the patch accepted or rejected?
  > 
> Jon
> 
> 
>> ---
>>   .../recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc     | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
>> index 2e3b50c5..5d3da59b 100644
>> --- a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
>> +++ b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
>> @@ -101,9 +101,9 @@ def remove_options_tail (in_string):
>>       from itertools import takewhile
>>       return ' '.join(takewhile(lambda x: not x.startswith('-'), in_string.split(' ')))
>>   
>> -EXTRA_OEMAKE += "LD=${@remove_options_tail(d.getVar('LD'))}"
>> +EXTRA_OEMAKE += "LD='${@remove_options_tail(d.getVar('LD'))}'"
>>   
>> -EXTRA_OEMAKE += "CC=${@remove_options_tail(d.getVar('CC'))}"
>> +EXTRA_OEMAKE += "CC='${@remove_options_tail(d.getVar('CC'))}'"
>>   
>>   # Verbose builds, no -Werror
>>   EXTRA_OEMAKE += "V=1 E=0"
>> -- 
>> 2.43.0
>>
>>

Thanks,

» Javier Tia 
Jon Mason Sept. 30, 2024, 11:02 p.m. UTC | #3
On Mon, Sep 30, 2024 at 6:47 PM Javier Tia <javier.tia@linaro.org> wrote:
>
> Hi,
>
> On 9/30/24 8:00 AM, Jon Mason wrote:
> > On Sat, Sep 28, 2024 at 05:54:36PM +0200, Adrian DC wrote:
> >> From: Javier Tia <javier.tia@linaro.org>
> >>
> >> When ccache is enabled trusted-firmware-a recipe fails with this
> >> error message:
> >>
> >>      make: *** No rule to make target 'aarch64-poky-linux-gcc'. Stop.
> >>
> >> ccache prefix CC variable with 'ccache' word before compiler. Because
> >> there are no quotes assigned to CC, only 'ccache' is assigned. The
> >> compiler becomes a make target, producing the build error.
> >>
> >> Add single quotes to LD is a good measure to prevent this kind of error.
> >>
> >> Signed-off-by: Javier Tia <javier.tia@linaro.org>
> >> Signed-off-by: Jon Mason <jon.mason@arm.com>
> >> Signed-off-by: Adrian DC <radian.dc@gmail.com>
> >
> > I have questions about this patch's origins, given the above s-o-b's.
> > Signed-off-by's state an authorship or handling (see Developer’s
> > Certificate of Origin).  Since I have not seen this patch, I should
> > not be listed.  It's on me to add my s-o-b.  Also, the ordering tends
> > to matter, as each person handling the patch adds their s-o-b at the
> > end of the patch.  So, you should be second, since you are taking this
> > from Javier and submitting it for him (nd I would be last since
> > I'mtaking it from you).
> >
> > Also, this feels like it needs a "Fixes:" line.  So, I know how far to
> > pull this back in the stable branches.
> >
> > Finally, I find it weird that Javier isn't submitting this himself.
> > Javier appears to be the author, and it includes his Linaro emaila
> > ddress, and you are sending it from a gmail account.  Are you
> > co-authors?  Are you sending it with his approval because he is
> > busy/vacationing/ill?
> >
> > Overall the patch is fine and I would normally include it, but this is
> > weird to me.  If Javier acks it to confirm his authoer, then I'll move
> > my s-o-b to the end and include it.
>
> Oh, this is a surprise.
>
> Jon has a good point.
>
> I have not approved sending this patch on my behalf. Yes, it looks like I am the original author because I recall fixing some issues around ccache a time ago; maybe last year if I remember correctly. But, before I acked it, I would like to know from where it was taken to have a bit more context. URL? Was the patch accepted or rejected?

I think I know what might've happened.  It's already in the tree
(commit f2efb2a45610216cb6c2d72bdb5d5e61b990064a).
I'm guessing that Adrian accidentally sent it to this list while
trying to backport it to an older release.  I got overly concerned
with the s-o-b lines and didn't think to check what it wasn't applying
:)

Anyway, I think we can disregard this.

Thanks,
Jon

>   >
> > Jon
> >
> >
> >> ---
> >>   .../recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc     | 4 ++--
> >>   1 file changed, 2 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
> >> index 2e3b50c5..5d3da59b 100644
> >> --- a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
> >> +++ b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
> >> @@ -101,9 +101,9 @@ def remove_options_tail (in_string):
> >>       from itertools import takewhile
> >>       return ' '.join(takewhile(lambda x: not x.startswith('-'), in_string.split(' ')))
> >>
> >> -EXTRA_OEMAKE += "LD=${@remove_options_tail(d.getVar('LD'))}"
> >> +EXTRA_OEMAKE += "LD='${@remove_options_tail(d.getVar('LD'))}'"
> >>
> >> -EXTRA_OEMAKE += "CC=${@remove_options_tail(d.getVar('CC'))}"
> >> +EXTRA_OEMAKE += "CC='${@remove_options_tail(d.getVar('CC'))}'"
> >>
> >>   # Verbose builds, no -Werror
> >>   EXTRA_OEMAKE += "V=1 E=0"
> >> --
> >> 2.43.0
> >>
> >>
>
> Thanks,
>
> » Javier Tia 
Adrian DC Oct. 1, 2024, 1:56 a.m. UTC | #4
Hi,

Sorry I wasn't available to respond earlier.

Apparently the details I added after the initial send got lost.

- Original commit : nanbield and scarthgap 
(f2efb2a45610216cb6c2d72bdb5d5e61b990064a as you pointed out)
- Missing on : kirkstone and mickledore
- Tested on : kirkstone with CCache enabled

The cherry-pick was over kirkstone, without any changes except 
validation hence signoff (old Android System habits),
proposal was to apply the fix on kirkstone (being LTS and used by most 
SOM providers for now).

Thanks for your concern,

*Adrian DC*


On 01/10/2024 01:02, Jon Mason wrote:
> On Mon, Sep 30, 2024 at 6:47 PM Javier Tia<javier.tia@linaro.org>  wrote:
>> Hi,
>>
>> On 9/30/24 8:00 AM, Jon Mason wrote:
>>> On Sat, Sep 28, 2024 at 05:54:36PM +0200, Adrian DC wrote:
>>>> From: Javier Tia<javier.tia@linaro.org>
>>>>
>>>> When ccache is enabled trusted-firmware-a recipe fails with this
>>>> error message:
>>>>
>>>>       make: *** No rule to make target 'aarch64-poky-linux-gcc'. Stop.
>>>>
>>>> ccache prefix CC variable with 'ccache' word before compiler. Because
>>>> there are no quotes assigned to CC, only 'ccache' is assigned. The
>>>> compiler becomes a make target, producing the build error.
>>>>
>>>> Add single quotes to LD is a good measure to prevent this kind of error.
>>>>
>>>> Signed-off-by: Javier Tia<javier.tia@linaro.org>
>>>> Signed-off-by: Jon Mason<jon.mason@arm.com>
>>>> Signed-off-by: Adrian DC<radian.dc@gmail.com>
>>> I have questions about this patch's origins, given the above s-o-b's.
>>> Signed-off-by's state an authorship or handling (see Developer’s
>>> Certificate of Origin).  Since I have not seen this patch, I should
>>> not be listed.  It's on me to add my s-o-b.  Also, the ordering tends
>>> to matter, as each person handling the patch adds their s-o-b at the
>>> end of the patch.  So, you should be second, since you are taking this
>>> from Javier and submitting it for him (nd I would be last since
>>> I'mtaking it from you).
>>>
>>> Also, this feels like it needs a "Fixes:" line.  So, I know how far to
>>> pull this back in the stable branches.
>>>
>>> Finally, I find it weird that Javier isn't submitting this himself.
>>> Javier appears to be the author, and it includes his Linaro emaila
>>> ddress, and you are sending it from a gmail account.  Are you
>>> co-authors?  Are you sending it with his approval because he is
>>> busy/vacationing/ill?
>>>
>>> Overall the patch is fine and I would normally include it, but this is
>>> weird to me.  If Javier acks it to confirm his authoer, then I'll move
>>> my s-o-b to the end and include it.
>> Oh, this is a surprise.
>>
>> Jon has a good point.
>>
>> I have not approved sending this patch on my behalf. Yes, it looks like I am the original author because I recall fixing some issues around ccache a time ago; maybe last year if I remember correctly. But, before I acked it, I would like to know from where it was taken to have a bit more context. URL? Was the patch accepted or rejected?
> I think I know what might've happened.  It's already in the tree
> (commit f2efb2a45610216cb6c2d72bdb5d5e61b990064a).
> I'm guessing that Adrian accidentally sent it to this list while
> trying to backport it to an older release.  I got overly concerned
> with the s-o-b lines and didn't think to check what it wasn't applying
> :)
>
> Anyway, I think we can disregard this.
>
> Thanks,
> Jon
>
>>    >
>>> Jon
>>>
>>>
>>>> ---
>>>>    .../recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc     | 4 ++--
>>>>    1 file changed, 2 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
>>>> index 2e3b50c5..5d3da59b 100644
>>>> --- a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
>>>> +++ b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
>>>> @@ -101,9 +101,9 @@ def remove_options_tail (in_string):
>>>>        from itertools import takewhile
>>>>        return ' '.join(takewhile(lambda x: not x.startswith('-'), in_string.split(' ')))
>>>>
>>>> -EXTRA_OEMAKE +="LD=${@remove_options_tail(d.getVar('LD'))}"
>>>> +EXTRA_OEMAKE +="LD='${@remove_options_tail(d.getVar('LD'))}'"
>>>>
>>>> -EXTRA_OEMAKE +="CC=${@remove_options_tail(d.getVar('CC'))}"
>>>> +EXTRA_OEMAKE +="CC='${@remove_options_tail(d.getVar('CC'))}'"
>>>>
>>>>    # Verbose builds, no -Werror
>>>>    EXTRA_OEMAKE += "V=1 E=0"
>>>> --
>>>> 2.43.0
>>>>
>>>>
>> Thanks,
>>
>> » Javier Tia 
Denys Dmytriyenko Oct. 1, 2024, 4:10 p.m. UTC | #5
On Tue, Oct 01, 2024 at 03:56:42AM +0200, Adrian DC wrote:
> Hi,
> 
> Sorry I wasn't available to respond earlier.
> 
> Apparently the details I added after the initial send got lost.
> 
> - Original commit : nanbield and scarthgap
> (f2efb2a45610216cb6c2d72bdb5d5e61b990064a as you pointed out)
> - Missing on : kirkstone and mickledore
> - Tested on : kirkstone with CCache enabled
> 
> The cherry-pick was over kirkstone, without any changes except
> validation hence signoff (old Android System habits),
> proposal was to apply the fix on kirkstone (being LTS and used by
> most SOM providers for now).

To avoid such confusions, it is customary to specify [branch] name in 
the Subject, when it is intended as a backport, for example:

Subject: [meta-arm][kirkstone][PATCH] trusted-firmware-a: fix build error when using ccache
Jon Mason Oct. 2, 2024, 1:07 p.m. UTC | #6
On Mon, Sep 30, 2024 at 9:56 PM Adrian DC <radian.dc@gmail.com> wrote:
>
> Hi,
>
> Sorry I wasn't available to respond earlier.
>
> Apparently the details I added after the initial send got lost.
>
> - Original commit : nanbield and scarthgap (f2efb2a45610216cb6c2d72bdb5d5e61b990064a as you pointed out)
> - Missing on : kirkstone and mickledore
> - Tested on : kirkstone with CCache enabled
>
> The cherry-pick was over kirkstone, without any changes except validation hence signoff (old Android System habits),
> proposal was to apply the fix on kirkstone (being LTS and used by most SOM providers for now).

No problem.  We only take patches for Yocto Project officially
supported releases.  See
https://wiki.yoctoproject.org/wiki/Releases

The logic behind this decision is:
1.  We don't want to give the false impression that we support or test
releases that are EOL'ed
2.  We don't want to encourage developers/users to use releases which
are no longer getting security updates
3.  Some of them are currently broken and upstream will not take
patches to fix this (broken download locations)

So, I'll only backport this to kirkstone.  Throwing at CI now to
verify it doesn't break anything.

Per Denys's comment, if you put the release you want this applied to
in the subject line, then I have scripts that automatically apply it
and run CI on it.

Thanks,
Jon


> Thanks for your concern,
>
> Adrian DC
>
>
> On 01/10/2024 01:02, Jon Mason wrote:
>
> On Mon, Sep 30, 2024 at 6:47 PM Javier Tia <javier.tia@linaro.org> wrote:
>
> Hi,
>
> On 9/30/24 8:00 AM, Jon Mason wrote:
>
> On Sat, Sep 28, 2024 at 05:54:36PM +0200, Adrian DC wrote:
>
> From: Javier Tia <javier.tia@linaro.org>
>
> When ccache is enabled trusted-firmware-a recipe fails with this
> error message:
>
>      make: *** No rule to make target 'aarch64-poky-linux-gcc'. Stop.
>
> ccache prefix CC variable with 'ccache' word before compiler. Because
> there are no quotes assigned to CC, only 'ccache' is assigned. The
> compiler becomes a make target, producing the build error.
>
> Add single quotes to LD is a good measure to prevent this kind of error.
>
> Signed-off-by: Javier Tia <javier.tia@linaro.org>
> Signed-off-by: Jon Mason <jon.mason@arm.com>
> Signed-off-by: Adrian DC <radian.dc@gmail.com>
>
> I have questions about this patch's origins, given the above s-o-b's.
> Signed-off-by's state an authorship or handling (see Developer’s
> Certificate of Origin).  Since I have not seen this patch, I should
> not be listed.  It's on me to add my s-o-b.  Also, the ordering tends
> to matter, as each person handling the patch adds their s-o-b at the
> end of the patch.  So, you should be second, since you are taking this
> from Javier and submitting it for him (nd I would be last since
> I'mtaking it from you).
>
> Also, this feels like it needs a "Fixes:" line.  So, I know how far to
> pull this back in the stable branches.
>
> Finally, I find it weird that Javier isn't submitting this himself.
> Javier appears to be the author, and it includes his Linaro emaila
> ddress, and you are sending it from a gmail account.  Are you
> co-authors?  Are you sending it with his approval because he is
> busy/vacationing/ill?
>
> Overall the patch is fine and I would normally include it, but this is
> weird to me.  If Javier acks it to confirm his authoer, then I'll move
> my s-o-b to the end and include it.
>
> Oh, this is a surprise.
>
> Jon has a good point.
>
> I have not approved sending this patch on my behalf. Yes, it looks like I am the original author because I recall fixing some issues around ccache a time ago; maybe last year if I remember correctly. But, before I acked it, I would like to know from where it was taken to have a bit more context. URL? Was the patch accepted or rejected?
>
> I think I know what might've happened.  It's already in the tree
> (commit f2efb2a45610216cb6c2d72bdb5d5e61b990064a).
> I'm guessing that Adrian accidentally sent it to this list while
> trying to backport it to an older release.  I got overly concerned
> with the s-o-b lines and didn't think to check what it wasn't applying
> :)
>
> Anyway, I think we can disregard this.
>
> Thanks,
> Jon
>
>   >
>
> Jon
>
>
> ---
>   .../recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc     | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
> index 2e3b50c5..5d3da59b 100644
> --- a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
> +++ b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
> @@ -101,9 +101,9 @@ def remove_options_tail (in_string):
>       from itertools import takewhile
>       return ' '.join(takewhile(lambda x: not x.startswith('-'), in_string.split(' ')))
>
> -EXTRA_OEMAKE += "LD=${@remove_options_tail(d.getVar('LD'))}"
> +EXTRA_OEMAKE += "LD='${@remove_options_tail(d.getVar('LD'))}'"
>
> -EXTRA_OEMAKE += "CC=${@remove_options_tail(d.getVar('CC'))}"
> +EXTRA_OEMAKE += "CC='${@remove_options_tail(d.getVar('CC'))}'"
>
>   # Verbose builds, no -Werror
>   EXTRA_OEMAKE += "V=1 E=0"
> --
> 2.43.0
>
>
> Thanks,
>
> » Javier Tia 
Adrian DC Oct. 6, 2024, 10:07 a.m. UTC | #7
Thanks for the feedback, and for the kirkstone backport approval 
diff mbox series

Patch

diff --git a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
index 2e3b50c5..5d3da59b 100644
--- a/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
+++ b/meta-arm/recipes-bsp/trusted-firmware-a/trusted-firmware-a.inc
@@ -101,9 +101,9 @@  def remove_options_tail (in_string):
     from itertools import takewhile
     return ' '.join(takewhile(lambda x: not x.startswith('-'), in_string.split(' ')))
 
-EXTRA_OEMAKE += "LD=${@remove_options_tail(d.getVar('LD'))}"
+EXTRA_OEMAKE += "LD='${@remove_options_tail(d.getVar('LD'))}'"
 
-EXTRA_OEMAKE += "CC=${@remove_options_tail(d.getVar('CC'))}"
+EXTRA_OEMAKE += "CC='${@remove_options_tail(d.getVar('CC'))}'"
 
 # Verbose builds, no -Werror
 EXTRA_OEMAKE += "V=1 E=0"