postgresql: fix sparc compile issue
PATCH v2 1/1 postgresql: fix sparc compile issue
Fixes autobuilder compile error:
http://autobuild.buildroot.net/results/f374d3535cf91f139ce80703cd2d0a2be5d3b2b1/
The predefines are wrong:
./output/host/usr/bin/sparc-buildroot-linux-uclibc-gcc -dM -E - </dev/null|grep sparc #define sparc 1
#define __sparc__ 1
#define __sparc 1
#define __sparc_v8__ 1
---
Changes v1 -> v2:
- keep Solaris gcc specific defines as suggested by Thomas Petazzoni
--- package/postgresql/0002-fix-sparc-compile.patch | 38 +++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 package/postgresql/0002-fix-sparc-compile.patch
package/postgresql/0002-fix-sparc-compile.patch new file +38 -0
@@ -0,0 +1,38 @@ +The gcc predefines for Linux are __sparc_v8__/__sparc_v7__ + +Signed-off-by: Waldemar Brodkorb <[email protected]> + +diff -Nur postgresql-9.4.4.orig/src/include/storage/s_lock.h postgresql-9.4.4/src/include/storage/s_lock.h +--- postgresql-9.4.4.orig/src/include/storage/s_lock.h 2015-06-09 21:29:38.000000000 +0200 ++++ postgresql-9.4.4/src/include/storage/s_lock.h 2015-08-09 19:57:06.000000000 +0200 +@@ -420,12 +420,12 @@ + : "=r"(_res), "+m"(*lock) + : "r"(lock) + : "memory"); +-#if defined(__sparcv7) ++#if defined(__sparcv7) || defined(__sparc_v7__) + /* + * No stbar or membar available, luckily no actually produced hardware + * requires a barrier. + */ +-#elif defined(__sparcv8) ++#elif defined(__sparcv8) || defined(__sparc_v8__) + /* stbar is available (and required for both PSO, RMO), membar isn't */ + __asm__ __volatile__ ("stbar \n":::"memory"); + #else +@@ -438,13 +438,13 @@ + return (int) _res; + } + +-#if defined(__sparcv7) ++#if defined(__sparcv7) || defined(__sparc_v7__) + /* + * No stbar or membar available, luckily no actually produced hardware + * requires a barrier. + */ + #define S_UNLOCK(lock) (*((volatile slock_t *) (lock)) = 0) +-#elif defined(__sparcv8) ++#elif defined(__sparcv8) || defined(__sparc_v8__) + /* stbar is available (and required for both PSO, RMO), membar isn't */ + #define S_UNLOCK(lock) \ + do \
Signature · 1 line
1.7.10.4
PATCH v2 1/1 postgresql: fix sparc compile issue
Dear Waldemar Brodkorb,
Quoted 10 lines · Waldemar Brodkorb
Fixes autobuilder compile error:
http://autobuild.buildroot.net/results/f374d3535cf91f139ce80703cd2d0a2be5d3b2b1/The predefines are wrong:
./output/host/usr/bin/sparc-buildroot-linux-uclibc-gcc -dM -E - </dev/null|grep sparc #define sparc 1
#define__sparc__1
#define__sparc1
#define__sparc_v8__1
Quoted 4 lines
Signed-off-by Waldemar Brodkorb <[email protected]>---
Changes v1 -> v2:
- keep Solaris gcc specific defines as suggested by Thomas Petazzoni
Applied, thanks. Could you submit the patch upstream?
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v2 1/1 postgresql: fix sparc compile issue
Hi,
Thomas Petazzoni wrote,
Quoted 13 lines
Dear Waldemar Brodkorb,
Quoted 10 lines · Waldemar Brodkorb
Fixes autobuilder compile error:
http://autobuild.buildroot.net/results/f374d3535cf91f139ce80703cd2d0a2be5d3b2b1/The predefines are wrong:
./output/host/usr/bin/sparc-buildroot-linux-uclibc-gcc -dM -E - </dev/null|grep sparc #define sparc 1
#define__sparc__1
#define__sparc1
#define__sparc_v8__1
Quoted 6 lines
Quoted 4 lines
Signed-off-by Waldemar Brodkorb <[email protected]>---
Changes v1 -> v2:
- keep Solaris gcc specific defines as suggested by Thomas PetazzoniApplied, thanks. Could you submit the patch upstream?
Done. And already applied:
http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=1f64ec6fd28bcd2be9b6b0ad3a5a630e117db601
best regards
Waldemar
PATCH v2 1/1 postgresql: fix sparc compile issue
Waldemar,
Quoted 4 lines · Waldemar Brodkorb
Quoted 1 line
Applied, thanks. Could you submit the patch upstream?
Done. And already applied:
http://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=1f64ec6fd28bcd2be9b6b0ad3a5a630e117db601
Excellent, thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com