Live data from Hacker News

Arch Linux pulls the plug on 32-bit

pcworld.com

191–200 of 201 posts

Re: Arch Linux pulls the plug on 32-bit

#191

It is one of the reasons that makes me love Arch: developers are pragmatic. They were always in the early birds for taking decision about the future, like switching to Python3 as default interpreter system-wide, embracing the change to systemd, and now this. The rolling release aspect imposes to stay as close as possible to upstream versions because upstream does not wait on Arch to update their dependencies to newer…

> They were always in the early birds for taking decision about the future

RHEL7 already dropped support for 32-bit hardware (although it still maintains the compat toolchain+libs for 32-bit binaries on 64-bit O/S).

I believe Windows Server 2012 similarly only runs on 64-bit hardware.

Re: Arch Linux pulls the plug on 32-bit

#192
post #164
post #161

Earlier quoted context omitted.

This just feels like culture clash to me - the whole change to Python 3 was about accepting the cost of breaking changes to avoid dragging around useless cruft and bad decisions forever. The idea that we should then never use `python` to mean `python3` is just so backwards. Sure, in your corporate environment where backwards compatability is suepr important, do that. In Arch, people have a distro that moves fast and…

> The idea that we should then never use `python` to mean `python3` is just so backwards. I did not present any such idea. I presented a sane migration path to where `python` means `python3`. > ...it was then ratified as the correct way to do things because the upstream project agreed with the core idea. No. It was because the upstream project had their hand forced and are pragmatic about these things. > I don't real…

I chose to run a bleeding edge distro to be on the bleeding edge. Requiring me to make the changes to be on the bleeding edge manually makes no sense.

Expecting that is as weird as expecting super stable LTS releases to run the latest-and-greatest of everything.

Re: Arch Linux pulls the plug on 32-bit

#193

Earlier quoted context omitted.

If it's a DK200, then I've built grub to bypass secure boot. You can boot other Linuxes on it (e.g. Yocto) but as per my parent comment, not much will work. I have an SPI image and instructions to flash if you're interested. You'll need an SPI programmer like the ch341a. I think Intel is violating the GPL by not providing sources, since they include a written offer and GPL requires source availability for 3 years. I…

Honestly this all occurred over a year ago and I just ditched it

Smart choice. Bypassing signature verification in grub was an interesting challenge, but I'll be binning mine soon. Can't be bothered to keep something without mainline support and crap performance.

Re: Arch Linux pulls the plug on 32-bit

#194
post #192
post #164

Earlier quoted context omitted.

> The idea that we should then never use `python` to mean `python3` is just so backwards. I did not present any such idea. I presented a sane migration path to where `python` means `python3`. > ...it was then ratified as the correct way to do things because the upstream project agreed with the core idea. No. It was because the upstream project had their hand forced and are pragmatic about these things. > I don't real…

I chose to run a bleeding edge distro to be on the bleeding edge. Requiring me to make the changes to be on the bleeding edge manually makes no sense. Expecting that is as weird as expecting super stable LTS releases to run the latest-and-greatest of everything.

> Requiring me to make the changes to be on the bleeding edge manually makes no sense.

Which part of "You wouldn't have to do it manually" do you not understand?

Re: Arch Linux pulls the plug on 32-bit

#195

Earlier quoted context omitted.

There are a lot of things that gives bigger memory usage and larger code size that modern compilers do that we could try to address. * The stack is always kept aligned at 16 bytes boundary. This is needed for external calls by the ABI, but LTCG could drop these for internal calls and align the stack when needing SSE instead. This may be slightly more expensive than keeping the stack constantly 16-byte aligned, but it…

> * Inefficient instructions are replaced with more efficient instructions. For example gcc will for a simple x % 19 generate no less than 16 instructions instead of a single div/idiv. This is probably still faster, but it may still be detrimental if it's not in a hot path. It should be noted that gcc emits this even at -O0. Does it emit it at -Os ?

Curiously not.

-O0:

    main:
    .LFB0:
            .cfi_startproc
            pushq   %rbp
            .cfi_def_cfa_offset 16
            .cfi_offset 6, -16
            movq    %rsp, %rbp
            .cfi_def_cfa_register 6
            subq    $16, %rsp
            movl    %edi, -4(%rbp)
            movq    %rsi, -16(%rbp)
            movl    -4(%rbp), %ecx
            movl    $1808407283, %edx
            movl    %ecx, %eax
            imull   %edx
            sarl    $3, %edx
            movl    %ecx, %eax
            sarl    $31, %eax
            subl    %eax, %edx
            movl    %edx, %eax
            sall    $3, %eax
            addl    %edx, %eax
            addl    %eax, %eax
            addl    %edx, %eax
            subl    %eax, %ecx
            movl    %ecx, %edx
            movl    %edx, %esi
            movl    $.LC0, %edi
            movl    $0, %eax
            call    printf
            movl    $0, %eax
            leave
            .cfi_def_cfa 7, 8
            ret
            .cfi_endproc
-Os:

    main:
    .LFB13:
            .cfi_startproc
            pushq   %rax
            .cfi_def_cfa_offset 16
            movl    %edi, %eax
            movl    $19, %ecx
            cltd
            movl    $.LC0, %esi
            movl    $1, %edi
            idivl   %ecx
            xorl    %eax, %eax
            call    __printf_chk
            xorl    %eax, %eax
            popq    %rdx
            .cfi_def_cfa_offset 8
            ret
            .cfi_endproc
So it kinda performs an optimization when disabling all optimizations that it doesn't do when optimizing for size. Or well, the default codegen is the optimized version. Interesting.

Re: Arch Linux pulls the plug on 32-bit

#196

Earlier quoted context omitted.

How does Arch work?

Arch is rolling release; there isn't really an older version that you can go back to, the installer just fetches the latest versions of the packages. Of course, there's the Arch Linux Archive, which lets you sync packages as they were on a particular date.

Obviously, but there are also full offline images. Have you never used Arch before?

Re: Arch Linux pulls the plug on 32-bit

#197
post #194
post #192

Earlier quoted context omitted.

I chose to run a bleeding edge distro to be on the bleeding edge. Requiring me to make the changes to be on the bleeding edge manually makes no sense. Expecting that is as weird as expecting super stable LTS releases to run the latest-and-greatest of everything.

> Requiring me to make the changes to be on the bleeding edge manually makes no sense. Which part of "You wouldn't have to do it manually" do you not understand?

Which part of "I want it now, not in the future" do you not understand?

> In my proposal for a sane migration path to the ideal? You wouldn't have to do it manually. The distribution would do it. As a user you'd be able to override it to speed up the migration for yourself if you chose; that's all.

I want to speed up the migration for everything - that's why I run Arch. That 'override' is a manual step I don't want to have to do.

Re: Arch Linux pulls the plug on 32-bit

#198

Earlier quoted context omitted.

Why not? Can you elaborate?

Pythons 4, 5, 6..., N will feasibly exist in the future. Why should Python 2 forever retain the executable name 'python'?

Eventually logically python 2 will be little used enough to be dropped and there may not be a python4 any time in the foreseeable future so perhaps you are just borrowing trouble.

Re: Arch Linux pulls the plug on 32-bit

#199
post #190

Earlier quoted context omitted.

The thing is, python guidelines (PEPs) stated that shebangs should specify python2 or python3 explicitly during the transition period. Using "#!/usr/bin/env python" for a project that was python2-only was not following guidelines, so the breakage was really the dev's fault. Also, the python2 symlink should have already been there. Bad packaging on some distros resulted in bad practices packaging by some devs. Don't b…

You're getting the ordering of events wrong. Arch's actions weren't in response to the PEP. The PEP was written in response to Arch's actions. > Also, the python2 symlink should have already been there. Nope. There was no such convention or specification at the time. There was, however, convention and specification (in the form of "what Python upstream build systems do") on what /usr/bin/python means, which is "Pytho…

> There was no such convention or specification at the time.

There was no formal specification, but there was a convention that many distributions were already following (and quite a few others were not).

Re: Arch Linux pulls the plug on 32-bit

#200

Earlier quoted context omitted.

x86 isn't just 32-bit. Linux distros have been reluctant to upgrade their notion of 32-bit x86 to require SSE2. This means that x86 isn't just 32-bit but involves weird 387 floating-point math when other mainstream architectures use IEEE floating-point math.

Perhaps they're targeting people with old hardware?

Obviously, but everyone with more recent CPUs (as in only 14 years old) who runs x86 packages ends up running less efficient software.
Post reply on HN