* [PATCH] gcc: honour -ffile-prefix-map in ASM_MAP [PR93371]
@ 2022-08-29 9:29 Rasmus Villemoes
2022-09-12 9:46 ` Rasmus Villemoes
2022-11-01 20:11 ` Jeff Law
0 siblings, 2 replies; 9+ messages in thread
From: Rasmus Villemoes @ 2022-08-29 9:29 UTC (permalink / raw)
To: gcc-patches; +Cc: Vagrant Cascadian, Rasmus Villemoes
-ffile-prefix-map is supposed to be a superset of -fmacro-prefix-map
and -fdebug-prefix-map. However, when building .S or .s files, gas is
not called with the appropriate --debug-prefix-map option when
-ffile-prefix-map is used.
While the user can specify -fdebug-prefix-map when building assembly
files via gcc, it's more ergonomic to also support -ffile-prefix-map;
especially since for .S files that could contain the __FILE__ macro,
one would then also have to specify -fmacro-prefix-map.
gcc:
PR driver/93371
* gcc.cc (ASM_MAP): Honour -ffile-prefix-map.
---
I've tested that this works as expected, both by looking at how gas is
now invoked, and by running 'strings' on the generated .o file. But I
don't know how to add something to the testsuite for this.
I stumbled on this since it came up on the U-Boot mailing list:
https://lore.kernel.org/u-boot/4ed9f811-5244-54ef-b58e-83dba51510e4@prevas.dk/
.
gcc/gcc.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
index b6d562a92f0..44eafc60187 100644
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -878,7 +878,7 @@ proper position among the other output files. */
#endif
#ifdef HAVE_AS_DEBUG_PREFIX_MAP
-#define ASM_MAP " %{fdebug-prefix-map=*:--debug-prefix-map %*}"
+#define ASM_MAP " %{ffile-prefix-map=*:--debug-prefix-map %*} %{fdebug-prefix-map=*:--debug-prefix-map %*}"
#else
#define ASM_MAP ""
#endif
--
2.37.2
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] gcc: honour -ffile-prefix-map in ASM_MAP [PR93371]
2022-08-29 9:29 [PATCH] gcc: honour -ffile-prefix-map in ASM_MAP [PR93371] Rasmus Villemoes
@ 2022-09-12 9:46 ` Rasmus Villemoes
2022-09-27 6:54 ` Rasmus Villemoes
2022-11-01 20:11 ` Jeff Law
1 sibling, 1 reply; 9+ messages in thread
From: Rasmus Villemoes @ 2022-09-12 9:46 UTC (permalink / raw)
To: gcc-patches; +Cc: Vagrant Cascadian
On 29/08/2022 11.29, Rasmus Villemoes wrote:
> -ffile-prefix-map is supposed to be a superset of -fmacro-prefix-map
> and -fdebug-prefix-map. However, when building .S or .s files, gas is
> not called with the appropriate --debug-prefix-map option when
> -ffile-prefix-map is used.
>
> While the user can specify -fdebug-prefix-map when building assembly
> files via gcc, it's more ergonomic to also support -ffile-prefix-map;
> especially since for .S files that could contain the __FILE__ macro,
> one would then also have to specify -fmacro-prefix-map.
>
> gcc:
> PR driver/93371
> * gcc.cc (ASM_MAP): Honour -ffile-prefix-map.
> ---
>
> I've tested that this works as expected, both by looking at how gas is
> now invoked, and by running 'strings' on the generated .o file. But I
> don't know how to add something to the testsuite for this.
Is this ok for trunk? If so, how about older maintained branches?
And does anyone have ideas for how I could add a test case?
>
> I stumbled on this since it came up on the U-Boot mailing list:
> https://lore.kernel.org/u-boot/4ed9f811-5244-54ef-b58e-83dba51510e4@prevas.dk/
> .
>
> gcc/gcc.cc | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/gcc/gcc.cc b/gcc/gcc.cc
> index b6d562a92f0..44eafc60187 100644
> --- a/gcc/gcc.cc
> +++ b/gcc/gcc.cc
> @@ -878,7 +878,7 @@ proper position among the other output files. */
> #endif
>
> #ifdef HAVE_AS_DEBUG_PREFIX_MAP
> -#define ASM_MAP " %{fdebug-prefix-map=*:--debug-prefix-map %*}"
> +#define ASM_MAP " %{ffile-prefix-map=*:--debug-prefix-map %*} %{fdebug-prefix-map=*:--debug-prefix-map %*}"
> #else
> #define ASM_MAP ""
> #endif
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] gcc: honour -ffile-prefix-map in ASM_MAP [PR93371]
2022-09-12 9:46 ` Rasmus Villemoes
@ 2022-09-27 6:54 ` Rasmus Villemoes
2022-10-17 10:00 ` Rasmus Villemoes
0 siblings, 1 reply; 9+ messages in thread
From: Rasmus Villemoes @ 2022-09-27 6:54 UTC (permalink / raw)
To: gcc-patches
Cc: Vagrant Cascadian, Jonathan Wakely, Jakub Jelinek, Joseph Myers,
Jeff Law
On 12/09/2022 11.46, Rasmus Villemoes wrote:
> On 29/08/2022 11.29, Rasmus Villemoes wrote:
>> -ffile-prefix-map is supposed to be a superset of -fmacro-prefix-map
>> and -fdebug-prefix-map. However, when building .S or .s files, gas is
>> not called with the appropriate --debug-prefix-map option when
>> -ffile-prefix-map is used.
>>
>> While the user can specify -fdebug-prefix-map when building assembly
>> files via gcc, it's more ergonomic to also support -ffile-prefix-map;
>> especially since for .S files that could contain the __FILE__ macro,
>> one would then also have to specify -fmacro-prefix-map.
>>
>> gcc:
>> PR driver/93371
>> * gcc.cc (ASM_MAP): Honour -ffile-prefix-map.
>> ---
>>
>> I've tested that this works as expected, both by looking at how gas is
>> now invoked, and by running 'strings' on the generated .o file. But I
>> don't know how to add something to the testsuite for this.
>
> Is this ok for trunk? If so, how about older maintained branches?
>
> And does anyone have ideas for how I could add a test case?
ping.
>
>>
>> I stumbled on this since it came up on the U-Boot mailing list:
>> https://lore.kernel.org/u-boot/4ed9f811-5244-54ef-b58e-83dba51510e4@prevas.dk/
>> .
>>
>> gcc/gcc.cc | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/gcc/gcc.cc b/gcc/gcc.cc
>> index b6d562a92f0..44eafc60187 100644
>> --- a/gcc/gcc.cc
>> +++ b/gcc/gcc.cc
>> @@ -878,7 +878,7 @@ proper position among the other output files. */
>> #endif
>>
>> #ifdef HAVE_AS_DEBUG_PREFIX_MAP
>> -#define ASM_MAP " %{fdebug-prefix-map=*:--debug-prefix-map %*}"
>> +#define ASM_MAP " %{ffile-prefix-map=*:--debug-prefix-map %*} %{fdebug-prefix-map=*:--debug-prefix-map %*}"
>> #else
>> #define ASM_MAP ""
>> #endif
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] gcc: honour -ffile-prefix-map in ASM_MAP [PR93371]
2022-09-27 6:54 ` Rasmus Villemoes
@ 2022-10-17 10:00 ` Rasmus Villemoes
0 siblings, 0 replies; 9+ messages in thread
From: Rasmus Villemoes @ 2022-10-17 10:00 UTC (permalink / raw)
To: gcc-patches
Cc: Vagrant Cascadian, Jonathan Wakely, Jakub Jelinek, Joseph Myers,
Jeff Law
On 27/09/2022 08.54, Rasmus Villemoes wrote:
> On 12/09/2022 11.46, Rasmus Villemoes wrote:
>> On 29/08/2022 11.29, Rasmus Villemoes wrote:
>>> -ffile-prefix-map is supposed to be a superset of -fmacro-prefix-map
>>> and -fdebug-prefix-map. However, when building .S or .s files, gas is
>>> not called with the appropriate --debug-prefix-map option when
>>> -ffile-prefix-map is used.
>>>
>>> While the user can specify -fdebug-prefix-map when building assembly
>>> files via gcc, it's more ergonomic to also support -ffile-prefix-map;
>>> especially since for .S files that could contain the __FILE__ macro,
>>> one would then also have to specify -fmacro-prefix-map.
>>>
>>> gcc:
>>> PR driver/93371
>>> * gcc.cc (ASM_MAP): Honour -ffile-prefix-map.
>>> ---
>>>
>>> I've tested that this works as expected, both by looking at how gas is
>>> now invoked, and by running 'strings' on the generated .o file. But I
>>> don't know how to add something to the testsuite for this.
>>
>> Is this ok for trunk? If so, how about older maintained branches?
>>
>> And does anyone have ideas for how I could add a test case?
>
> ping.
>
ping^2
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] gcc: honour -ffile-prefix-map in ASM_MAP [PR93371]
2022-08-29 9:29 [PATCH] gcc: honour -ffile-prefix-map in ASM_MAP [PR93371] Rasmus Villemoes
2022-09-12 9:46 ` Rasmus Villemoes
@ 2022-11-01 20:11 ` Jeff Law
2022-11-02 12:35 ` Rasmus Villemoes
1 sibling, 1 reply; 9+ messages in thread
From: Jeff Law @ 2022-11-01 20:11 UTC (permalink / raw)
To: Rasmus Villemoes, gcc-patches; +Cc: Vagrant Cascadian
On 8/29/22 03:29, Rasmus Villemoes wrote:
> -ffile-prefix-map is supposed to be a superset of -fmacro-prefix-map
> and -fdebug-prefix-map. However, when building .S or .s files, gas is
> not called with the appropriate --debug-prefix-map option when
> -ffile-prefix-map is used.
>
> While the user can specify -fdebug-prefix-map when building assembly
> files via gcc, it's more ergonomic to also support -ffile-prefix-map;
> especially since for .S files that could contain the __FILE__ macro,
> one would then also have to specify -fmacro-prefix-map.
>
> gcc:
> PR driver/93371
> * gcc.cc (ASM_MAP): Honour -ffile-prefix-map.
OK. Sorry for the long delay.
jeff
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] gcc: honour -ffile-prefix-map in ASM_MAP [PR93371]
2022-11-01 20:11 ` Jeff Law
@ 2022-11-02 12:35 ` Rasmus Villemoes
2022-11-02 15:45 ` Jeff Law
0 siblings, 1 reply; 9+ messages in thread
From: Rasmus Villemoes @ 2022-11-02 12:35 UTC (permalink / raw)
To: Jeff Law, gcc-patches; +Cc: Vagrant Cascadian
On 01/11/2022 21.11, Jeff Law wrote:
>
> On 8/29/22 03:29, Rasmus Villemoes wrote:
>> -ffile-prefix-map is supposed to be a superset of -fmacro-prefix-map
>> and -fdebug-prefix-map. However, when building .S or .s files, gas is
>> not called with the appropriate --debug-prefix-map option when
>> -ffile-prefix-map is used.
>>
>> While the user can specify -fdebug-prefix-map when building assembly
>> files via gcc, it's more ergonomic to also support -ffile-prefix-map;
>> especially since for .S files that could contain the __FILE__ macro,
>> one would then also have to specify -fmacro-prefix-map.
>>
>> gcc:
>> PR driver/93371
>> * gcc.cc (ASM_MAP): Honour -ffile-prefix-map.
>
> OK. Sorry for the long delay.
Thanks, and no problem.
However, when I try to push the new master branch I get
$ git push origin master
fatal: remote error: service not enabled: /git/gcc.git
I do gcc patches sufficiently rare that I may have forgotten the right
procedure, but this is what I think I've done previously (along with
running a "git gcc-verify HEAD" to ensure there's a proper changelog
fragment to extract, with gcc-verify being a suitable alias).
Have I simply lost by commit bit?
Rasmus
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] gcc: honour -ffile-prefix-map in ASM_MAP [PR93371]
2022-11-02 12:35 ` Rasmus Villemoes
@ 2022-11-02 15:45 ` Jeff Law
2022-11-03 13:29 ` Rasmus Villemoes
0 siblings, 1 reply; 9+ messages in thread
From: Jeff Law @ 2022-11-02 15:45 UTC (permalink / raw)
To: Rasmus Villemoes, gcc-patches; +Cc: Vagrant Cascadian
On 11/2/22 06:35, Rasmus Villemoes wrote:
> On 01/11/2022 21.11, Jeff Law wrote:
>> On 8/29/22 03:29, Rasmus Villemoes wrote:
>>> -ffile-prefix-map is supposed to be a superset of -fmacro-prefix-map
>>> and -fdebug-prefix-map. However, when building .S or .s files, gas is
>>> not called with the appropriate --debug-prefix-map option when
>>> -ffile-prefix-map is used.
>>>
>>> While the user can specify -fdebug-prefix-map when building assembly
>>> files via gcc, it's more ergonomic to also support -ffile-prefix-map;
>>> especially since for .S files that could contain the __FILE__ macro,
>>> one would then also have to specify -fmacro-prefix-map.
>>>
>>> gcc:
>>> PR driver/93371
>>> * gcc.cc (ASM_MAP): Honour -ffile-prefix-map.
>> OK. Sorry for the long delay.
> Thanks, and no problem.
>
> However, when I try to push the new master branch I get
>
> $ git push origin master
> fatal: remote error: service not enabled: /git/gcc.git
>
> I do gcc patches sufficiently rare that I may have forgotten the right
> procedure, but this is what I think I've done previously (along with
> running a "git gcc-verify HEAD" to ensure there's a proper changelog
> fragment to extract, with gcc-verify being a suitable alias).
>
> Have I simply lost by commit bit?
No idea what that error means. If I had to guess, it'd be that you've
got an anonymous checkout tree which is obviously unsuitable for pushing
or something of that nature.
It's probably just faster/easier for me to push it for you. I'll take
care of it momentarily.
Jeff
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] gcc: honour -ffile-prefix-map in ASM_MAP [PR93371]
2022-11-02 15:45 ` Jeff Law
@ 2022-11-03 13:29 ` Rasmus Villemoes
2022-11-16 3:50 ` Jeff Law
0 siblings, 1 reply; 9+ messages in thread
From: Rasmus Villemoes @ 2022-11-03 13:29 UTC (permalink / raw)
To: Jeff Law, gcc-patches; +Cc: Vagrant Cascadian
On 02/11/2022 16.45, Jeff Law wrote:
>
> On 11/2/22 06:35, Rasmus Villemoes wrote:
>> However, when I try to push the new master branch I get
>>
>> $ git push origin master
>> fatal: remote error: service not enabled: /git/gcc.git
>>
>> I do gcc patches sufficiently rare that I may have forgotten the right
>> procedure, but this is what I think I've done previously (along with
>> running a "git gcc-verify HEAD" to ensure there's a proper changelog
>> fragment to extract, with gcc-verify being a suitable alias).
>>
>> Have I simply lost by commit bit?
>
> No idea what that error means. If I had to guess, it'd be that you've
> got an anonymous checkout tree which is obviously unsuitable for pushing
> or something of that nature.
>
> It's probably just faster/easier for me to push it for you. I'll take
> care of it momentarily.
Thanks.
I think I found out what was wrong (though I know it has worked for me
previously): My remote url was git://gcc.gnu.org/git/gcc.git , and I
used to rely on my .ssh/config specifying "villemoes" as username when
accessing gcc.gnu.org. For some reason that no longer worked, but
updating the remote url to git+ssh://villemoes@gcc.gnu.org/git/gcc.git
seemed to do the trick.
What do you think about applying this to older branches? IMO it's a
defect from when the umbrella -ffile-prefix-map was introduced, and the
potential for regressions should be very low, but I can also see how it
might not really qualify as a bug fix.
Rasmus
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH] gcc: honour -ffile-prefix-map in ASM_MAP [PR93371]
2022-11-03 13:29 ` Rasmus Villemoes
@ 2022-11-16 3:50 ` Jeff Law
0 siblings, 0 replies; 9+ messages in thread
From: Jeff Law @ 2022-11-16 3:50 UTC (permalink / raw)
To: Rasmus Villemoes, gcc-patches; +Cc: Vagrant Cascadian
On 11/3/22 07:29, Rasmus Villemoes wrote:
> On 02/11/2022 16.45, Jeff Law wrote:
>> On 11/2/22 06:35, Rasmus Villemoes wrote:
>>> However, when I try to push the new master branch I get
>>>
>>> $ git push origin master
>>> fatal: remote error: service not enabled: /git/gcc.git
>>>
>>> I do gcc patches sufficiently rare that I may have forgotten the right
>>> procedure, but this is what I think I've done previously (along with
>>> running a "git gcc-verify HEAD" to ensure there's a proper changelog
>>> fragment to extract, with gcc-verify being a suitable alias).
>>>
>>> Have I simply lost by commit bit?
>> No idea what that error means. If I had to guess, it'd be that you've
>> got an anonymous checkout tree which is obviously unsuitable for pushing
>> or something of that nature.
>>
>> It's probably just faster/easier for me to push it for you. I'll take
>> care of it momentarily.
> Thanks.
>
> I think I found out what was wrong (though I know it has worked for me
> previously): My remote url was git://gcc.gnu.org/git/gcc.git , and I
> used to rely on my .ssh/config specifying "villemoes" as username when
> accessing gcc.gnu.org. For some reason that no longer worked, but
> updating the remote url to git+ssh://villemoes@gcc.gnu.org/git/gcc.git
> seemed to do the trick.
Good to know you got it sorted out.
>
> What do you think about applying this to older branches? IMO it's a
> defect from when the umbrella -ffile-prefix-map was introduced, and the
> potential for regressions should be very low, but I can also see how it
> might not really qualify as a bug fix.
I'd probably lean against backporting. Generally we try to limit
backporting to regression fixes, incorrect code generation issues and
the like. This seems much less serious.
Jeff
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2022-11-16 3:50 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-29 9:29 [PATCH] gcc: honour -ffile-prefix-map in ASM_MAP [PR93371] Rasmus Villemoes
2022-09-12 9:46 ` Rasmus Villemoes
2022-09-27 6:54 ` Rasmus Villemoes
2022-10-17 10:00 ` Rasmus Villemoes
2022-11-01 20:11 ` Jeff Law
2022-11-02 12:35 ` Rasmus Villemoes
2022-11-02 15:45 ` Jeff Law
2022-11-03 13:29 ` Rasmus Villemoes
2022-11-16 3:50 ` Jeff Law
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).