summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/db/db_5.3.28.bb
diff options
context:
space:
mode:
authorAndre McCurdy <armccurdy@gmail.com>2018-06-26 13:24:55 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-06-28 09:22:35 +0100
commit9fa6e7d487030e3c3340f6ad19b56b91f3ed4fa0 (patch)
treed19a7f55ef98ae555ad4baf19c24fe39aca49361 /meta/recipes-support/db/db_5.3.28.bb
parent3f5b5c59e727c4553572bce4afad3b9111d75a08 (diff)
downloadpoky-9fa6e7d487030e3c3340f6ad19b56b91f3ed4fa0.tar.gz
db: drop legacy ARM specific SWP based mutex optimisation
Although the ARM SWP instruction may exist for ARMv6 and above, it's not guaranteed to work, especially on SMP systems where it's use may lead to instability at runtime, etc: https://community.arm.com/processors/b/blog/posts/locks-swps-and-two-smoking-barriers Keeping the optimisation for architecture levels which pre-date SMP (ie <= ARMv5) may be safe, however other distros (Buildroot, Debian, Fedora, etc) are not doing so and mutex contention is likely to be less of an issue on uniprocessor systems anyway, so the benefits of this micro optimisations are not clear. Since OE uses ARMv5 qemu as a proxy for testing all 32bit ARM architecture levels, it's desirable to keep the ARMv5 builds aligned with later ARM architecture levels wherever possible. (From OE-Core rev: 7aa94abac09be6beb7ce14a2b9a409e934465706) Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-support/db/db_5.3.28.bb')
-rw-r--r--meta/recipes-support/db/db_5.3.28.bb18
1 files changed, 3 insertions, 15 deletions
diff --git a/meta/recipes-support/db/db_5.3.28.bb b/meta/recipes-support/db/db_5.3.28.bb
index 093ee44909..b7ed2c798c 100644
--- a/meta/recipes-support/db/db_5.3.28.bb
+++ b/meta/recipes-support/db/db_5.3.28.bb
@@ -21,8 +21,7 @@ PR = "r1"
21PE = "1" 21PE = "1"
22 22
23SRC_URI = "http://download.oracle.com/berkeley-db/db-${PV}.tar.gz" 23SRC_URI = "http://download.oracle.com/berkeley-db/db-${PV}.tar.gz"
24SRC_URI += "file://arm-thumb-mutex_db5.patch \ 24SRC_URI += "file://fix-parallel-build.patch \
25 file://fix-parallel-build.patch \
26 file://0001-atomic-Rename-local-__atomic_compare_exchange-to-avo.patch \ 25 file://0001-atomic-Rename-local-__atomic_compare_exchange-to-avo.patch \
27 file://0001-configure-Add-explicit-tag-options-to-libtool-invoca.patch \ 26 file://0001-configure-Add-explicit-tag-options-to-libtool-invoca.patch \
28 file://sequence-type.patch \ 27 file://sequence-type.patch \
@@ -47,7 +46,6 @@ inherit lib_package
47PACKAGES =+ "${PN}-cxx" 46PACKAGES =+ "${PN}-cxx"
48FILES_${PN}-cxx = "${libdir}/*cxx*so" 47FILES_${PN}-cxx = "${libdir}/*cxx*so"
49 48
50
51# The dev package has the .so link (as in db3) and the .a's - 49# The dev package has the .so link (as in db3) and the .a's -
52# it is therefore incompatible (cannot be installed at the 50# it is therefore incompatible (cannot be installed at the
53# same time) as the db3 package 51# same time) as the db3 package
@@ -59,18 +57,8 @@ FILES_SOLIBSDEV = "${libdir}/libdb.so ${libdir}/libdb_cxx.so"
59# All the --disable-* options replace --enable-smallbuild, which breaks a bunch of stuff (eg. postfix) 57# All the --disable-* options replace --enable-smallbuild, which breaks a bunch of stuff (eg. postfix)
60DB5_CONFIG ?= "--enable-o_direct --disable-cryptography --disable-queue --disable-replication --disable-verify --disable-compat185 --disable-sql" 58DB5_CONFIG ?= "--enable-o_direct --disable-cryptography --disable-queue --disable-replication --disable-verify --disable-compat185 --disable-sql"
61 59
62EXTRA_OECONF = "${DB5_CONFIG} --enable-shared --enable-cxx --with-sysroot" 60EXTRA_OECONF = "${DB5_CONFIG} --enable-shared --enable-cxx --with-sysroot STRIP=true"
63 61
64# Override the MUTEX setting here, the POSIX library is
65# the default - "POSIX/pthreads/library".
66# Don't ignore the nice SWP instruction on the ARM:
67# These enable the ARM assembler mutex code, this won't
68# work with thumb compilation...
69ARM_MUTEX = "--with-mutex=ARM/gcc-assembly"
70MUTEX = ""
71MUTEX_arm = "${ARM_MUTEX}"
72MUTEX_armeb = "${ARM_MUTEX}"
73EXTRA_OECONF += "${MUTEX} STRIP=true"
74EXTRA_OEMAKE += "LIBTOOL='./${HOST_SYS}-libtool'" 62EXTRA_OEMAKE += "LIBTOOL='./${HOST_SYS}-libtool'"
75 63
76EXTRA_AUTORECONF += "--exclude=autoheader -I ${S}/dist/aclocal -I${S}/dist/aclocal_java" 64EXTRA_AUTORECONF += "--exclude=autoheader -I ${S}/dist/aclocal -I${S}/dist/aclocal_java"