Announcement

Collapse
No announcement yet.

Linux x32 Support Brewing For Clang/Compiler-RT

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Linux x32 Support Brewing For Clang/Compiler-RT

    Phoronix: Linux x32 Support Brewing For Clang/Compiler-RT

    Improvements for LLVM's support of the Linux x32 ABI is set to improve with some work-in-progress patches for the Clang C/C++ compiler front-end and Compiler-RT runtime library...

    http://www.phoronix.com/vr.php?view=MTQ0MjE

  • #2
    Are there still x86-like 32-bit only processor sold in 2013 by a mainstream brand ? (AMD / Intel..).

    Comment


    • #3
      Originally posted by doom_Oo7 View Post
      Are there still x86-like 32-bit only processor sold in 2013 by a mainstream brand ? (AMD / Intel..).

      I'm not sure but what does that have to do with a story about x32? (x32 requires a 64-bit CPU you know... all it does is shorten the pointer length and reduce the memory space to 32 bits to conserve memory while still allowing 64-bit math, using new instructions that aren't in 32-bit x86, using the new addressing modes in x86-64, and using all of the general purpose registers on a 64-bit x86 CPU).

      Comment


      • #4
        Originally posted by chuckula View Post
        I'm not sure but what does that have to do with a story about x32? (x32 requires a 64-bit CPU you know... all it does is shorten the pointer length and reduce the memory space to 32 bits to conserve memory while still allowing 64-bit math, using new instructions that aren't in 32-bit x86, using the new addressing modes in x86-64, and using all of the general purpose registers on a 64-bit x86 CPU).
        Eek, didn't know this, sorry ! Generally I used to say x32 for 32-bit only processor like pre-amd64 era. Didn't know it was a Linux project.

        Comment


        • #5
          Originally posted by doom_Oo7 View Post
          Eek, didn't know this, sorry ! Generally I used to say x32 for 32-bit only processor like pre-amd64 era. Didn't know it was a Linux project.
          Yeah just for clarification, Doom...

          32bit = x86
          32bit with 64 bit extensions = x86_64
          64bit but with 32bit register and memory lengths = x32

          Frankly I don't really see x32 really taking off... 64bit is already really engrained in people's minds and with the way RAM keeps jumping up I don't see the benefits of maintaining 3 separate architectures, despite normal 64bit being a little more expensive.

          Comment


          • #6
            Originally posted by Ericg View Post
            Yeah just for clarification, Doom...

            32bit = x86
            32bit with 64 bit extensions = x86_64

            64bit but with 32bit register and memory lengths = x32
            This isn't quite right, x86_64 is real 64-bit, x32 is 32-bit with 64-bit extensions. Full 64-bit registers are available, but the default types of (I)nt, (L)ong, and (P)ointers are 32-bit, that's why it's also known as ILP32. Longer types, such as long long or explicit 64-bit types are natively supported.

            Frankly I don't really see x32 really taking off... 64bit is already really engrained in people's minds and with the way RAM keeps jumping up I don't see the benefits of maintaining 3 separate architectures, despite normal 64bit being a little more expensive.
            Obviously I see things a little differently!

            x32 won't take off unless there's the possibility to run a full distribution. The few early users (who have demonstrated significant performance advantages) including CERN, do not represent sufficient critical mass to ensure support from many upstream projects.

            There are definitely use cases where 64-bit is a big win, but that isn't so much dependent on the amount of installed RAM as the type of application, and even discarding the 5-40% potential performance advantage you need a lot more than 4GiB RAM to lose any advantage from the reduced memory consumption, especially given each process gets its own 4GiB address space.

            One more thing, on x86-64 Gentoo you can now install with a default system ABI: x86-64, x86, or x32. When you want a specific application to use a different ABI you just need to use an abi_x86_* use-flag and the dependencies required are pulled in. Other distributions also allow you to install dependencies for specific ABIs as required, although of course, not dynamically, package by package.
            Last edited by s_j_newbury; 08-22-2013, 05:11 PM.

            Comment


            • #7
              s_j_newbury the big Problem is that you has to hold the x32 librarys and x86-64 librarys. So on a "normal" 64bit System you has 3 types present.

              Comment


              • #8
                Originally posted by Nille View Post
                s_j_newbury the big Problem is that you has to hold the x32 librarys and x86-64 librarys. So on a "normal" 64bit System you has 3 types present.
                Potentially. However, you're never likely to need each ABI version of every library, and if your main ABI is x32 the libraries are much smaller anyway, so having a number of alternative ABI versions of specific libraries won't make a huge difference to disk space; and how big a problem is disk space nowadays? If RAM is cheap, storage is cheaper. Remember, most libraries are only 10s to 100s of KBs.

                Comment


                • #9
                  There is a long rat tail for each ABI and not everyone has a broadband connection. if an component get an patch you download it 3 times.

                  Comment


                  • #10
                    Originally posted by Nille View Post
                    There is a long rat tail for each ABI and not everyone has a broadband connection. if an component get an patch you download it 3 times.
                    You've got me there. If you don't have enough bandwidth to download updates you'd probably be better on a LTS distribution, make sure you only get security fixes to minimize updates, and order a DVD when updating to a new release... (half serious)

                    Comment


                    • #11
                      Originally posted by s_j_newbury View Post
                      You've got me there. If you don't have enough bandwidth to download updates you'd probably be better on a LTS distribution, make sure you only get security fixes to minimize updates, and order a DVD when updating to a new release... (half serious)
                      LTS Distribution also get huge patch packages and many of there Packages are outdated. e.g. if you use the FOSS Driver you rely on upstream packages.

                      Comment


                      • #12
                        Originally posted by Nille View Post
                        LTS Distribution also get huge patch packages and many of there Packages are outdated. e.g. if you use the FOSS Driver you rely on upstream packages.
                        There are always trade-offs. If Internet connection capacity is the limiting factor, that does determine the options available for a user when choosing a distribution.

                        Comment


                        • #13
                          Originally posted by s_j_newbury View Post
                          There are always trade-offs. If Internet connection capacity is the limiting factor, that does determine the options available for a user when choosing a distribution.
                          i want only to point that there is no big difference in patch frequency's and sizes.

                          Comment


                          • #14
                            That shouldn't be the case with LTS, especially with security only updates.

                            Comment


                            • #15
                              This has kind of wondered off topic though, my point is, not every distribution is for everybody, likewise x32 isn't for everybody. But if you want a faster, and potentially leaner distribution it will be a good option.

                              Comment

                              Working...
                              X