postgresql: clean up CFLAGS
authorSebastian Kemper <redacted>
Mon, 19 Mar 2018 22:38:45 +0000 (23:38 +0100)
committerSebastian Kemper <redacted>
Mon, 19 Mar 2018 22:38:48 +0000 (23:38 +0100)
- The extra include is removed; the postgresql build system adds this
  include by itself.

- '-lpthread' is removed; the postgresql build system is able to detect
  how to access pthread features by itself.

- '$(FPIC)' is removed; adding this to CFLAGS is not recommendable:

  a) The postgresql build system adds its own PIC flag behind OpenWrt's
  CFLAGS when compiling shared objects, overriding OpenWrt's setting.
  b) Forcing applications into PIC mode will just slow them down.
  c) This leads to build failures on aarch64:

    access/transam/commit_ts.o: In function `CommitTsPagePrecedes':
    commit_ts.c:(.text+0x14): relocation truncated to fit: R_AARCH64_LD64_GOTPAGE_LO15 against symbol `TransactionIdPrecedes' defined in .text section in access/transam/transam.o
    commit_ts.c:(.text+0x14): warning: Too many GOT entries for -fpic, please recompile with -fPIC
    /var/lib/buildbot/slaves/dave-builder/aarch64_generic/build/sdk/staging_dir/toolchain-aarch64_generic_gcc-7.3.0_musl/bin/../lib/gcc/aarch64-openwrt-linux-musl/7.3.0/../../../../aarch64-openwrt-linux-musl/bin/ld: final link failed: Symbol needs debug section which does not exist
    collect2: error: ld returned 1 exit status

Signed-off-by: Sebastian Kemper <redacted>
libs/postgresql/Makefile

index 19932fb06f2af4f1804055014efb85014987f280..b3b3e84e746da32fdc809b81e51c857eb181b960 100644 (file)
@@ -155,8 +155,6 @@ CONFIGURE_ARGS += \
                        --enable-depend \
                        $(if $(CONFIG_TARGET_avr32),--disable-spinlocks)
 
-EXTRA_CFLAGS:= -I$(PKG_BUILD_DIR)/src/include/
-
 # Need a native ecpg, pg_config and zic for build
 define Host/Compile
        $(MAKE) -C $(HOST_BUILD_DIR)/src/bin/pg_config CC="$(HOSTCC)"
@@ -179,8 +177,6 @@ define Build/Configure
        $(SED) 's@ECPG = ../../preproc/ecpg@ECPG = $(STAGING_DIR_HOSTPKG)/bin/ecpg@' $(PKG_BUILD_DIR)/src/interfaces/ecpg/test/Makefile.regress
 endef
 
-TARGET_CFLAGS += $(FPIC) -lpthread
-
 # because PROFILE means something else in the project Makefile
 unexport PROFILE
 
git clone https://git.99rst.org/PROJECT