Re: D Symbol Demangling

Thomas Kühne
2006-04-21T21:25:27Z

Daniel Jacobowitz wrote:
> Unfortunately, there are several major problems with accepting this
> code.
>
> 1. Neither you nor John has an FSF copyright assignment in place. If
> you're interested in one, let me know and I can send you the forms.
>
> 2. The demangler would need to be contributed to the FSF and licensed
> under the GPL before we could include it with GDB. That doesn't
> prevent another copy of it from being used under a different license
> elsewhere; but you wouldn't be able to import fixes from one to the
> other, in either direction.

I've no problem with assigning the copyright of the demangler to the FSF if
the license issue - as you noted, using more than one license might cause
problems - can be solved.

The GPL with linking exception would seem to be the best solution for all.
(taken from /usr/portage/licenses/GPL-2-with-linking-exception)

| As a special exception, the copyright holders of this library give you
| permission to link this library with independent modules to produce an
| executable, regardless of the license terms of these independent modules,
| and to copy and distribute the resulting executable under terms of your
| choice, provided that you also meet, for each linked independent module,
| the terms and conditions of the license of that module. An independent
| module is a module which is not derived from or based on this library. If
| you modify this library, you may extend this exception to your version of
| the library, but you are not obligated to do so. If you do not wish to do
| so, delete this exception statement from your version.

<followed by the GPL text>

> 3. The code would need to match the GNU Coding Standards.
>
> 4. A patch would need to be generated against HEAD, not against an old
> release.

working on that

> And, no offense, but the DD_() thing is horribly ugly and doesn't seem
> to serve any purpose here. Is that for reusing the demangler
> elsewhere?

Yes it's ugly and not the kind of code I normally write.
The problem: the demangler is currently used with GDB, Valgrind and 3
in-house tools - thus name and symbol clashes are a real problem.

Thomas