Re: Fix typo 586/686 in atomics/arch-x86.h
John Naylor <johncnaylorls@gmail.com>
From: John Naylor <johncnaylorls@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Zsolt Parragi <zsolt.parragi@percona.com>,
Daniel Gustafsson <daniel@yesql.se>, Jakub Wartak <jakub.wartak@enterprisedb.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
Andres Freund <andres@anarazel.de>
Date: 2025-12-20T02:30:37Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Remove support for 8 byte tear free read/write on 32-bit
- 801b9962e787 19 (unreleased) landed
On Sat, Dec 20, 2025 at 9:01 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: > > John Naylor <johncnaylorls@gmail.com> writes: > > On Fri, Dec 19, 2025 at 5:13 PM Zsolt Parragi <zsolt.parragi@percona.com> wrote: > >> I did some quick testing with this, normally only __i386__ gets > >> defined for 32 bit builds (-march=native -m32 for example, but also > >> the default -march=x86-64 -m32). __i586__ and __i686__ are only there > >> if I pass the matching -march (i586/i686) flag to gcc. > > > What platform is this? I don't see that: > > I can replicate Zsolt's result --- note the point about -march: > > $ echo | gcc -m32 -dM -E - | grep -E '86[^0-9]' > #define __i386 1 > #define __i386__ 1 > #define i386 1 > $ echo | gcc -m32 -march=i586 -dM -E - | grep -E '86[^0-9]' > #define __i586 1 > #define __tune_i586__ 1 > #define __i386 1 > #define __i586__ 1 > #define __i386__ 1 > #define i386 1 > $ echo | gcc -m32 -march=i686 -dM -E - | grep -E '86[^0-9]' > #define __tune_i686__ 1 > #define __i686 1 > #define __i686__ 1 > #define __i386 1 > #define __i386__ 1 > #define i386 1 > > This is with gcc 8.5.0 from RHEL8, and the same with gcc 14.3.1 > from Fedora 41. My results were from Fedora 41 gcc 14.3.1 as well. With '-march' I get the same as your 8.5.0 but in a slightly different order, but without it I still get some 'i686' symbols defined. -- John Naylor Amazon Web Services