| Thread overview | ||||||
|---|---|---|---|---|---|---|
|
November 28, 2021 Missing NUL terminator when using "-MT <file>" option | ||||
|---|---|---|---|---|
| ||||
Attachments:
| Hi,
It seems that the output target name gets corrupted (see the extra chars at the end of 'MyTargetName'):
*$ cat test.d*
// empty file
*$ gdc -Isrc -MM "test.d" -MT "MyTargetName" -MF "test.deps"*
*$ cat test.deps*
MyTargetName�: test.d
*$ gdc --version*
gdc (Debian 11.2.0-10) 11.2.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
*$*
Here's the fix I'm suggesting:
diff --git a/gcc/d/d-lang.cc b/gcc/d/d-lang.cc
index be6330fbd..4749bfb98 100644
--- a/gcc/d/d-lang.cc
+++ b/gcc/d/d-lang.cc
@@ -110,6 +110,7 @@ deps_add_target (const char *target, bool quoted)
if (!quoted)
{
obstack_grow0 (&buffer, target, strlen (target));
+ obstack_1grow (&buffer, '\0');
d_option.deps_target.safe_push ((const char *) obstack_finish (&buffer));
return;
}
Cheers,
Sebastien Alaiwan
| |||
November 28, 2021 Re: Missing NUL terminator when using "-MT <file>" option | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Sebastien Alaiwan | On Sunday, 28 November 2021 at 13:58:49 UTC, Sebastien Alaiwan wrote: > Hi, > > It seems that the output target name gets corrupted (see the extra chars at the end of 'MyTargetName'): > > *$ cat test.d* > // empty file > > *$ gdc -Isrc -MM "test.d" -MT "MyTargetName" -MF "test.deps"* > > *$ cat test.deps* > MyTargetName�: test.d > > *$ gdc --version* > gdc (Debian 11.2.0-10) 11.2.0 > Copyright (C) 2021 Free Software Foundation, Inc. > This is free software; see the source for copying conditions. There is NO > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. > > *$* > > > Here's the fix I'm suggesting: > > diff --git a/gcc/d/d-lang.cc b/gcc/d/d-lang.cc > index be6330fbd..4749bfb98 100644 > --- a/gcc/d/d-lang.cc > +++ b/gcc/d/d-lang.cc > @@ -110,6 +110,7 @@ deps_add_target (const char *target, bool quoted) > if (!quoted) > { > obstack_grow0 (&buffer, target, strlen (target)); > + obstack_1grow (&buffer, '\0'); > d_option.deps_target.safe_push ((const char *) obstack_finish (&buffer)); > return; > } > Hi Sebastien, That doesn't look right, obstack_grow0() already adds a null terminator. Did you test building current mainline to see if the issue still occurs? In all likelihood I just need to backport this patch which got applied back in July. https://gcc.gnu.org/pipermail/gcc-patches/2021-July/576395.html Which coincidentally, I was just asked to backport it to gcc-11 just the other day too. https://gcc.gnu.org/pipermail/gcc-patches/2021-November/585450.html Iain. | |||
December 01, 2021 Re: Missing NUL terminator when using "-MT <file>" option | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Iain Buclaw | On 28/11/2021 23.21, Iain Buclaw via D.gnu wrote:
> In all likelihood I just need to backport this patch which got applied back in July.
>
> https://gcc.gnu.org/pipermail/gcc-patches/2021-July/576395.html
>
> Which coincidentally, I was just asked to backport it to gcc-11 just the other day too.
>
> https://gcc.gnu.org/pipermail/gcc-patches/2021-November/585450.html
>
> Iain.
Hi Iain,
Indeed, you're right.
Thanks for sorting this out (and thanks for your work on GDC !)
Cheers,
Sebastien
| |||
December 21, 2021 Re: Missing NUL terminator when using "-MT <file>" option | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Sebastien Alaiwan | On Wednesday, 1 December 2021 at 07:31:38 UTC, Sebastien Alaiwan wrote:
> On 28/11/2021 23.21, Iain Buclaw via D.gnu wrote: https://get-vidmate.com/vidmate-2014/ https://instasave.onl/
>> In all likelihood I just need to backport this patch which got applied back in July.
>>
>> https://gcc.gnu.org/pipermail/gcc-patches/2021-July/576395.html
>>
>> Which coincidentally, I was just asked to backport it to gcc-11 just the other day too.
>>
>> https://gcc.gnu.org/pipermail/gcc-patches/2021-November/585450.html
>>
>> Iain.
>
> Hi Iain,
>
> Indeed, you're right.
> Thanks for sorting this out (and thanks for your work on GDC !)
>
>
> Cheers,
> Sebastien
Thanks for share !
| |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply