[PATCH 1/2] Don't differentiate between openSUSE versions.

Rafael Espíndola rafael.espindola at gmail.com
Wed Jul 3 07:16:26 PDT 2013


r185537, thanks.

On 3 July 2013 05:01, İsmail Dönmez <ismail at donmez.ws> wrote:
> Hi,
>
> Please apply the first one since they are independent. The test will need
> some tinkering to figure out openSUSE at test time.
>
> Thanks.
>
>
>
> On Wed, Jul 3, 2013 at 2:08 AM, Rafael Ávila De Espíndola
> <rafael.espindola at gmail.com> wrote:
>>
>> It needs a test case for the second patch.
>>
>> Sent from my iPhone
>>
>> On 2013-06-29, at 15:21, İsmail Dönmez <ismail at donmez.ws> wrote:
>>
>> With my openSUSE maintainer hat on.
>>
>> This is OK. Can someone please apply it?
>>
>>
>> On Tue, Jun 25, 2013 at 6:05 PM, Johannes Obermayr
>> <johannesobermayr at gmx.de> wrote:
>>>
>>> ---
>>> See:
>>> https://build.opensuse.org/package/view_file?expand=1&file=assume-opensuse.patch&package=llvm&project=devel:tools:compiler
>>> ---
>>>  lib/Driver/ToolChains.cpp | 30 +++++++++++-------------------
>>>  1 file changed, 11 insertions(+), 19 deletions(-)
>>>
>>> diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp
>>> index a78370f..1bbdf2b 100644
>>> --- a/lib/Driver/ToolChains.cpp
>>> +++ b/lib/Driver/ToolChains.cpp
>>> @@ -1958,10 +1958,7 @@ enum Distro {
>>>    Fedora15,
>>>    Fedora16,
>>>    FedoraRawhide,
>>> -  OpenSuse11_3,
>>> -  OpenSuse11_4,
>>> -  OpenSuse12_1,
>>> -  OpenSuse12_2,
>>> +  OpenSUSE,
>>>    UbuntuHardy,
>>>    UbuntuIntrepid,
>>>    UbuntuJaunty,
>>> @@ -1982,8 +1979,8 @@ static bool IsRedhat(enum Distro Distro) {
>>>           (Distro >= RHEL4    && Distro <= RHEL6);
>>>  }
>>>
>>> -static bool IsOpenSuse(enum Distro Distro) {
>>> -  return Distro >= OpenSuse11_3 && Distro <= OpenSuse12_2;
>>> +static bool IsOpenSUSE(enum Distro Distro) {
>>> +  return Distro == OpenSUSE;
>>>  }
>>>
>>>  static bool IsDebian(enum Distro Distro) {
>>> @@ -2060,13 +2057,8 @@ static Distro DetectDistro(llvm::Triple::ArchType
>>> Arch) {
>>>      return UnknownDistro;
>>>    }
>>>
>>> -  if (!llvm::MemoryBuffer::getFile("/etc/SuSE-release", File))
>>> -    return llvm::StringSwitch<Distro>(File.get()->getBuffer())
>>> -      .StartsWith("openSUSE 11.3", OpenSuse11_3)
>>> -      .StartsWith("openSUSE 11.4", OpenSuse11_4)
>>> -      .StartsWith("openSUSE 12.1", OpenSuse12_1)
>>> -      .StartsWith("openSUSE 12.2", OpenSuse12_2)
>>> -      .Default(UnknownDistro);
>>> +  if (llvm::sys::fs::exists("/etc/SuSE-release"))
>>> +    return OpenSUSE;
>>>
>>>    if (llvm::sys::fs::exists("/etc/exherbo-release"))
>>>      return Exherbo;
>>> @@ -2180,7 +2172,7 @@ Linux::Linux(const Driver &D, const llvm::Triple
>>> &Triple, const ArgList &Args)
>>>    llvm::Triple::ArchType Arch = Triple.getArch();
>>>    std::string SysRoot = computeSysRoot(Args);
>>>
>>> -  // Cross-compiling binutils and GCC installations (vanilla and
>>> OpenSuse at
>>> +  // Cross-compiling binutils and GCC installations (vanilla and
>>> openSUSE at
>>>    // least) put various tools in a triple-prefixed directory off of the
>>> parent
>>>    // of the GCC installation. We use the GCC triple here to ensure that
>>> we end
>>>    // up with tools that support the same amount of cross compiling as
>>> the
>>> @@ -2196,7 +2188,7 @@ Linux::Linux(const Driver &D, const llvm::Triple
>>> &Triple, const ArgList &Args)
>>>
>>>    Distro Distro = DetectDistro(Arch);
>>>
>>> -  if (IsOpenSuse(Distro) || IsUbuntu(Distro)) {
>>> +  if (IsOpenSUSE(Distro) || IsUbuntu(Distro)) {
>>>      ExtraOpts.push_back("-z");
>>>      ExtraOpts.push_back("relro");
>>>    }
>>> @@ -2216,11 +2208,11 @@ Linux::Linux(const Driver &D, const llvm::Triple
>>> &Triple, const ArgList &Args)
>>>    // ABI requires a mapping between the GOT and the symbol table.
>>>    // Android loader does not support .gnu.hash.
>>>    if (!IsMips && !IsAndroid) {
>>> -    if (IsRedhat(Distro) || IsOpenSuse(Distro) ||
>>> +    if (IsRedhat(Distro) || IsOpenSUSE(Distro) ||
>>>          (IsUbuntu(Distro) && Distro >= UbuntuMaverick))
>>>        ExtraOpts.push_back("--hash-style=gnu");
>>>
>>> -    if (IsDebian(Distro) || IsOpenSuse(Distro) || Distro == UbuntuLucid
>>> ||
>>> +    if (IsDebian(Distro) || IsOpenSUSE(Distro) || Distro == UbuntuLucid
>>> ||
>>>          Distro == UbuntuJaunty || Distro == UbuntuKarmic)
>>>        ExtraOpts.push_back("--hash-style=both");
>>>    }
>>> @@ -2229,12 +2221,12 @@ Linux::Linux(const Driver &D, const llvm::Triple
>>> &Triple, const ArgList &Args)
>>>      ExtraOpts.push_back("--no-add-needed");
>>>
>>>    if (Distro == DebianSqueeze || Distro == DebianWheezy ||
>>> -      Distro == DebianJessie || IsOpenSuse(Distro) ||
>>> +      Distro == DebianJessie || IsOpenSUSE(Distro) ||
>>>        (IsRedhat(Distro) && Distro != RHEL4 && Distro != RHEL5) ||
>>>        (IsUbuntu(Distro) && Distro >= UbuntuKarmic))
>>>      ExtraOpts.push_back("--build-id");
>>>
>>> -  if (IsOpenSuse(Distro))
>>> +  if (IsOpenSUSE(Distro))
>>>      ExtraOpts.push_back("--enable-new-dtags");
>>>
>>>    // The selection of paths to try here is designed to match the
>>> patterns which
>>> --
>>> 1.8.1.4
>>>
>>> _______________________________________________
>>> cfe-commits mailing list
>>> cfe-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>
>>
>> _______________________________________________
>> cfe-commits mailing list
>> cfe-commits at cs.uiuc.edu
>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
>




More information about the cfe-commits mailing list