Jump to page: 1 2 3
Thread overview
[Issue 14828] [REG2.067] duplicate symbol __ModuleInfoZ depending on ordering of files passed to dmd
[Issue 14828] duplicate symbol __ModuleInfoZ depending on ordering of files passed to dmd
Jul 26, 2015
Timothee Cour
Jul 27, 2015
Timothee Cour
Jul 27, 2015
Timothee Cour
Jul 29, 2015
Kenji Hara
Jul 30, 2015
Martin Nowak
Jul 30, 2015
Martin Nowak
Jul 30, 2015
Kenji Hara
Jul 30, 2015
Martin Nowak
Jul 30, 2015
Timothee Cour
Jul 30, 2015
Timothee Cour
Jul 31, 2015
Kenji Hara
Jul 31, 2015
Kenji Hara
Jul 31, 2015
Walter Bright
Jul 31, 2015
Kenji Hara
Jul 31, 2015
Kenji Hara
Aug 04, 2015
Walter Bright
Aug 04, 2015
Walter Bright
Aug 04, 2015
Walter Bright
Aug 07, 2015
Walter Bright
July 26, 2015
https://issues.dlang.org/show_bug.cgi?id=14828

Timothee Cour <timothee.cour2@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |timothee.cour2@gmail.com

--- Comment #1 from Timothee Cour <timothee.cour2@gmail.com> ---
digger bisect returns:

2015-07-26T13:16:37.992:common.d:log:25 digger: bisect.d:113
ba17fa7669885dca1c8f7b246483149d37b3f10d is the first bad commit
commit ba17fa7669885dca1c8f7b246483149d37b3f10d
Author: Martin Nowak <code@dawg.eu>
Date:   Tue Mar 31 04:43:51 2015 +0200

    phobos: Merge pull request #2956 from jmdavis/tempFile

    https://github.com/D-Programming-Language/phobos/pull/2956

    Implement issue# 13996. Add File.tempFile.

Although this may just be a side effect of another root cause?

--
July 27, 2015
https://issues.dlang.org/show_bug.cgi?id=14828

--- Comment #2 from Timothee Cour <timothee.cour2@gmail.com> ---
using different parameters for digger bisect:

bad = master @ 1 month ago
good = master @ 2 months ago

returns:

digger: bisect.d:113 f1bf3d208546728d433de7b3d53631497846b117 is the first bad
commit
commit f1bf3d208546728d433de7b3d53631497846b117
Author: Dmitry Olshansky <dmitry.olsh@gmail.com>
Date:   Fri Jun 26 20:08:27 2015 +0300

    phobos: Merge pull request #3443 from
CyberShadow/pull-20150626-091553-uni-stray-stdio-import

    https://github.com/D-Programming-Language/phobos/pull/3443

    std.uni: Remove stray std.stdio import

--
July 27, 2015
https://issues.dlang.org/show_bug.cgi?id=14828

--- Comment #3 from Timothee Cour <timothee.cour2@gmail.com> ---
Is the root cause a symbol that should've been a weak symbol?

--
July 29, 2015
https://issues.dlang.org/show_bug.cgi?id=14828

--- Comment #4 from Kenji Hara <k.hara.pg@gmail.com> ---
Equivalent link failure happens in win32/64.
But the regression version is not same:

With 2.064, 2.065, 2.066.0, 2.066.1
--> no problem happens

With 2.067.0, 2.067.1, 2.068.0-beta1, 2.068.0-beta2, git-head
--> duplicated symbol error happens with 'make all1_order_flipped'

--
July 30, 2015
https://issues.dlang.org/show_bug.cgi?id=14828

Martin Nowak <code@dawg.eu> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |code@dawg.eu

--- Comment #5 from Martin Nowak <code@dawg.eu> ---
(In reply to Timothee Cour from comment #0)
> This bug is very annoying as it prevents partial recompilation

There are many catches with that.

--
July 30, 2015
https://issues.dlang.org/show_bug.cgi?id=14828

--- Comment #6 from Martin Nowak <code@dawg.eu> ---
This might have the same cause as issue 14748.

--
July 30, 2015
https://issues.dlang.org/show_bug.cgi?id=14828

--- Comment #7 from Kenji Hara <k.hara.pg@gmail.com> ---
Created attachment 1534
  --> https://issues.dlang.org/attachment.cgi?id=1534&action=edit
Win32 reduced case without Phobos dependency

(In reply to Kenji Hara from comment #4)
> Equivalent link failure happens in win32/64.
> But the regression version is not same:
> 
> With 2.064, 2.065, 2.066.0, 2.066.1
> --> no problem happens
> 
> With 2.067.0, 2.067.1, 2.068.0-beta1, 2.068.0-beta2, git-head
> --> duplicated symbol error happens with 'make all1_order_flipped'

In win32, the attached reduced case fails from 2.067. It was introduced in:

> commit 679929fa2da120db76d91303efd2316370970d1e
> Merge: 430bdba 706aa61
> Author: Andrei Alexandrescu <andrei@erdani.com>
> Date:   Wed Jan 28 08:44:07 2015 -0800
> 
>     Merge pull request #4354 from 9rnsr/fix14044
> 
>     [REG2.066] Issue 14044 - dmd generates spurious functions in object file created from empty module

However, I don't understand why the change introduced the bug...

Furthermore, I'm not sure that's really same with the original issue, because it happens from 2.068-beta2 in OSX.

--
July 30, 2015
https://issues.dlang.org/show_bug.cgi?id=14828

--- Comment #8 from Martin Nowak <code@dawg.eu> ---
(In reply to Timothee Cour from comment #3)
> Is the root cause a symbol that should've been a weak symbol?

ModuleInfos aren't weak symbols.
You didn't past the error message. Which ModuleInfo is duplicated?
I guess it's either foo2 or main.

--
July 30, 2015
https://issues.dlang.org/show_bug.cgi?id=14828

--- Comment #9 from Timothee Cour <timothee.cour2@gmail.com> ---
(In reply to Martin Nowak from comment #8)
> (In reply to Timothee Cour from comment #3)
> > Is the root cause a symbol that should've been a weak symbol?
> 
> ModuleInfos aren't weak symbols.
> You didn't past the error message. Which ModuleInfo is duplicated?
> I guess it's either foo2 or main.


duplicate symbol _D4foo212__ModuleInfoZ in:
    out.o
    libproj6.a(foo2.o)
ld: 1 duplicate symbol for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

--
July 30, 2015
https://issues.dlang.org/show_bug.cgi?id=14828

--- Comment #10 from Timothee Cour <timothee.cour2@gmail.com> ---
(In reply to Martin Nowak from comment #5)
> (In reply to Timothee Cour from comment #0)
> > This bug is very annoying as it prevents partial recompilation
> 
> There are many catches with that.

I'm well aware. However this technique, when properly used, allows very fast recompilation. We should not prevent this.

--
« First   ‹ Prev
1 2 3