This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] libdw: Correct spelling of DW_LANG_PLI in dwarf.h.


On 10/26/2016 11:18 AM, Josh Stone wrote:
> On 10/26/2016 10:47 AM, Mark Wielaard wrote:
>> On Wed, Oct 26, 2016 at 09:36:31AM -0700, Josh Stone wrote:
>>> On 10/26/2016 03:24 AM, Mark Wielaard wrote:
>>>> The name used in the standard and other DWARF implementations for
>>>> Programming Language One, PL/I, is DW_LANG_PLI (not DW_LANG_PL1).
>>>> [...]
>>>> +Version 0.168
>>>> +
>>>> +libdw: dwarf.h corrected the DW_LANG_PLI constant name (was DW_LANG_PL1).
>>>> +       Any existing sources using the old name will have to be updated.
>>>> +
>>>
>>> That typo has been there since the dawn of elfutils.git, 2005-07-26
>>> commit b08d5a8fb42f.  It seems callous to break API here, even if it was
>>> wrong.  Why not include a #define to preserve compatibility?
>>
>> Since it doesn't break ABI we have historically just fixed such wrong
>> constant names, see e.g. the removal in 0.160 of the non-existing
>> DW_TAG_mutable_type in 0.160. Given that others (libdwarf, binutils)
>> do define the correct name in their headers.
> 
> It doesn't matter what other headers do -- if someone was already using
> the bad constant in elfutils' headers, that's an API break.  But sure,
> you might still decide that's acceptable.
> 
>> Also I would be somewhat afraid that might break the generation
>> of known-dwarf.h (although I didn't try).
> 
> It might be ok for known-dwarf.h to know both PL1 and PLI.
> 
>> Is there actually any source out there that uses this (wrong)
>> constant name?
> 
> https://github.com/search?q=dw_lang_pl1&type=Code
> 
> Lots of hits, but in the first few pages they're all just clones of
> dwarf_aggregate_size.c.
> 
> via Google I found at least one real hit from an elfutils user:
> https://lists.gforge.inria.fr/pipermail/simgrid-commits/2015-September/022287.html

libabigail picked up PL1 too:
https://sourceware.org/libabigail/apidoc/abg-dwarf-reader_8cc_source.html

> and it seems some version of eclipse cdt had the same typo:
> https://www.cct.lsu.edu/~rguidry/eclipse-doc36/src-html/org/eclipse/cdt/utils/debug/dwarf/DwarfConstants.html
> 
> and also found the typo in a dwarfstd issue:
> http://www.dwarfstd.org/ShowIssue.php?issue=130819.1
> 
> 
>>>> -    DW_LANG_PL1 = 0x000f,	     /* ISO PL/1:1976 */
>>>> +    DW_LANG_PLI = 0x000f,	     /* ISO PL/1:1976 */
>>>
>>> You should correct the comment too, "PL/I".
>>
>> The '1' in the comment really is correct, because that
>> is the actual name of the standard. That is probably where
>> the confusion came from.
> 
> Figure 8 in the DWARF 3 and 4 standards both call it "ANSI PL/I:1976"
> (not "ISO"), as does Table 3.1 in the DWARF 5 draft I've got.
> 
> Wikipedia also uses "PL/I", and even has a redirect from "PL/1".
> 
> This "I" is pronounced "one" though, surely as a roman numeral.
> _______________________________________________
> elfutils-devel mailing list -- elfutils-devel@lists.fedorahosted.org
> To unsubscribe send an email to elfutils-devel-leave@lists.fedorahosted.org
> 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]