aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--conf/bitbake.conf3
-rw-r--r--conf/distro/angstrom-2008.1.conf1
-rw-r--r--conf/distro/include/angstrom-2007-for-openmoko.inc1
-rw-r--r--conf/distro/include/angstrom-eglibc.inc4
-rw-r--r--conf/distro/include/angstrom-glibc.inc4
-rw-r--r--conf/distro/include/angstrom-uclibc.inc3
-rw-r--r--conf/distro/include/broken-as-needed.inc10
7 files changed, 23 insertions, 3 deletions
diff --git a/conf/bitbake.conf b/conf/bitbake.conf
index e1dc3aa10a..d3abb1ef34 100644
--- a/conf/bitbake.conf
+++ b/conf/bitbake.conf
@@ -404,7 +404,8 @@ export LDFLAGS = "${TARGET_LDFLAGS}"
export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}${layout_libdir} \
-Wl,-rpath-link,${STAGING_DIR_TARGET}${layout_libdir} \
-Wl,-O1 \
- ${TARGET_LINK_HASH_STYLE} "
+ ${TARGET_LINK_HASH_STYLE} \
+ ${TARGET_ASNEEDED} "
# Which flags to leave by strip-flags() in bin/build/oebuild.sh ?
ALLOWED_FLAGS = "-O -mcpu -march -pipe"
diff --git a/conf/distro/angstrom-2008.1.conf b/conf/distro/angstrom-2008.1.conf
index 33349fcde1..df5dcbe47b 100644
--- a/conf/distro/angstrom-2008.1.conf
+++ b/conf/distro/angstrom-2008.1.conf
@@ -27,6 +27,7 @@ require conf/distro/include/sane-srcdates.inc
require conf/distro/include/sane-srcrevs.inc
require conf/distro/include/angstrom-2008-preferred-versions.inc
require conf/distro/include/preferred-opie-versions-1.2.4.inc
+require conf/distro/include/broken-as-needed.inc
#Images built can have to modes:
# 'debug': empty rootpassword, strace included
diff --git a/conf/distro/include/angstrom-2007-for-openmoko.inc b/conf/distro/include/angstrom-2007-for-openmoko.inc
index 0c7fe5be49..2803762a6b 100644
--- a/conf/distro/include/angstrom-2007-for-openmoko.inc
+++ b/conf/distro/include/angstrom-2007-for-openmoko.inc
@@ -11,6 +11,7 @@ DISTRO_REVISION = "51"
require conf/distro/include/sane-srcdates.inc
require conf/distro/include/sane-srcrevs.inc
+require conf/distro/include/broken-as-needed.inc
#Images built can have to modes:
# 'debug': empty rootpassword, strace included
diff --git a/conf/distro/include/angstrom-eglibc.inc b/conf/distro/include/angstrom-eglibc.inc
index e68a23664b..f5cb1f2b3d 100644
--- a/conf/distro/include/angstrom-eglibc.inc
+++ b/conf/distro/include/angstrom-eglibc.inc
@@ -30,7 +30,9 @@ BUILD_OPTIMIZATION_pn-perl = "-O1"
BUILD_OPTIMIZATION_sparc = "-O2"
TARGET_LINK_HASH_STYLE = "-Wl,--hash-style=gnu"
-DISTRO_PR = ".1"
+TARGET_ASNEEDED = "-Wl,--as-needed"
+
+DISTRO_PR = ".2"
CXXFLAGS += "-fvisibility-inlines-hidden"
diff --git a/conf/distro/include/angstrom-glibc.inc b/conf/distro/include/angstrom-glibc.inc
index 2ba21b20ad..2baeabd712 100644
--- a/conf/distro/include/angstrom-glibc.inc
+++ b/conf/distro/include/angstrom-glibc.inc
@@ -34,7 +34,9 @@ BUILD_OPTIMIZATION_pn-glibc = "-O2"
BUILD_OPTIMIZATION_sparc = "-O2"
TARGET_LINK_HASH_STYLE = "-Wl,--hash-style=gnu"
-DISTRO_PR = ".1"
+TARGET_ASNEEDED = "-Wl,--as-needed"
+
+DISTRO_PR = ".2"
CXXFLAGS += "-fvisibility-inlines-hidden"
diff --git a/conf/distro/include/angstrom-uclibc.inc b/conf/distro/include/angstrom-uclibc.inc
index 8993a6ae38..f60be254a7 100644
--- a/conf/distro/include/angstrom-uclibc.inc
+++ b/conf/distro/include/angstrom-uclibc.inc
@@ -32,6 +32,9 @@ BUILD_OPTIMIZATION = "-Os"
#Note that this testing was done without the gcc-pr32889.patch.
FULL_OPTIMIZATION_avr32 = "-Os -fomit-frame-pointer"
+TARGET_ASNEEDED = "-Wl,--as-needed"
+
+DISTRO_PR = ".1"
CXXFLAGS += "-fvisibility-inlines-hidden"
diff --git a/conf/distro/include/broken-as-needed.inc b/conf/distro/include/broken-as-needed.inc
new file mode 100644
index 0000000000..ea530f6078
--- /dev/null
+++ b/conf/distro/include/broken-as-needed.inc
@@ -0,0 +1,10 @@
+# Packages that break when trying to link with --as-needed
+TARGET_ASNEEDED_pn-console-tools = ""
+TARGET_ASNEEDED_pn-dialer = ""
+TARGET_ASNEEDED_pn-distcc = ""
+TARGET_ASNEEDED_pn-icu = ""
+TARGET_ASNEEDED_pn-minimo = ""
+TARGET_ASNEEDED_pn-openobex = ""
+TARGET_ASNEEDED_pn-pciutils = ""
+TARGET_ASNEEDED_pn-puzzles = ""
+TARGET_ASNEEDED_pn-xserver-kdrive-xomap = ""