Compare commits
156 Commits
2015.05-rc
...
2015.05-rc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c6ce119cb0 | ||
|
|
e3904a890d | ||
|
|
e8f4f052b1 | ||
|
|
435dfee047 | ||
|
|
754f0015c8 | ||
|
|
8bee6ae663 | ||
|
|
fa4d2a66d7 | ||
|
|
1ae0e16afd | ||
|
|
dea306c78b | ||
|
|
f84f204df5 | ||
|
|
41793eabfd | ||
|
|
dc587bf92c | ||
|
|
a9aa2ba02f | ||
|
|
72e548a480 | ||
|
|
6f68dca626 | ||
|
|
1b16576216 | ||
|
|
fd25b01289 | ||
|
|
d3372fb39f | ||
|
|
7541b28aa7 | ||
|
|
f7f978c7c3 | ||
|
|
4a28007841 | ||
|
|
c9ccbeb18b | ||
|
|
0dd68ea1b0 | ||
|
|
c4da7ca088 | ||
|
|
d024ca3e04 | ||
|
|
fad2721d90 | ||
|
|
065b739bf9 | ||
|
|
d38b6b2e1a | ||
|
|
086537a509 | ||
|
|
914c950df3 | ||
|
|
ffee06d2e3 | ||
|
|
50a34eeb1b | ||
|
|
24d340fd46 | ||
|
|
7a149cc623 | ||
|
|
c204c8cd35 | ||
|
|
d21090dcef | ||
|
|
ccbeeb8a8c | ||
|
|
2bba2edad8 | ||
|
|
ec0404a9a4 | ||
|
|
71d9b0c1f0 | ||
|
|
4dcf9d14b5 | ||
|
|
dafcb53ea4 | ||
|
|
08532f66b1 | ||
|
|
db989f89c9 | ||
|
|
e8156352fb | ||
|
|
29e71698ac | ||
|
|
be1287e7e5 | ||
|
|
e5eff8b850 | ||
|
|
cce1485581 | ||
|
|
ddbc05cf2d | ||
|
|
648e791768 | ||
|
|
6816705515 | ||
|
|
e7a7d53c94 | ||
|
|
9f31cd14d0 | ||
|
|
3a07f5e4fe | ||
|
|
3ed9137fee | ||
|
|
5d496bdddb | ||
|
|
348be778ff | ||
|
|
d4171c5192 | ||
|
|
f28af78265 | ||
|
|
01dfbb48c5 | ||
|
|
416e35b44a | ||
|
|
5504039c4e | ||
|
|
1a0986d6da | ||
|
|
66a3f7a240 | ||
|
|
ecea410030 | ||
|
|
e678b07bad | ||
|
|
384c919321 | ||
|
|
b9f709e420 | ||
|
|
c69bafe0ae | ||
|
|
5be059c5ae | ||
|
|
25e15fd17f | ||
|
|
a138be5d70 | ||
|
|
5e22719ad5 | ||
|
|
749dcfe8a8 | ||
|
|
7aaa9bee2e | ||
|
|
e94a953159 | ||
|
|
ee2b703fe7 | ||
|
|
0fa452df18 | ||
|
|
22f5be171c | ||
|
|
142311fe33 | ||
|
|
feeab03fa6 | ||
|
|
69964d8180 | ||
|
|
2c490f00c8 | ||
|
|
9e67d499f1 | ||
|
|
a3038d061e | ||
|
|
9cc56c24c9 | ||
|
|
f7d2c99afb | ||
|
|
c69088b8c3 | ||
|
|
f7638ca232 | ||
|
|
7e624b3638 | ||
|
|
3d3f70b567 | ||
|
|
0c12f72775 | ||
|
|
660dff80f8 | ||
|
|
9b429dcae6 | ||
|
|
c36e122304 | ||
|
|
d8bef8038d | ||
|
|
80e651db43 | ||
|
|
205f077556 | ||
|
|
527d119efd | ||
|
|
4e5019181b | ||
|
|
901fec315d | ||
|
|
29a6df448d | ||
|
|
1d046a5c3d | ||
|
|
95f9a5c3df | ||
|
|
daa8485bc1 | ||
|
|
878b9aaba9 | ||
|
|
a9876fb099 | ||
|
|
aa5254f1a2 | ||
|
|
b9fcc83fbe | ||
|
|
d1dfad6bce | ||
|
|
0268c3cbf2 | ||
|
|
18f998b0c5 | ||
|
|
1951143a36 | ||
|
|
5c518ff7d2 | ||
|
|
f2435f6ddb | ||
|
|
d01aaa7035 | ||
|
|
5fc2e8ec65 | ||
|
|
3f23846162 | ||
|
|
dd31e75c09 | ||
|
|
1c8750c3b6 | ||
|
|
a1444c2687 | ||
|
|
96e89e4a69 | ||
|
|
1f96b51be8 | ||
|
|
af863a3bc0 | ||
|
|
e4dde2536a | ||
|
|
51136ebd1d | ||
|
|
89f96ea96c | ||
|
|
965e3b96b6 | ||
|
|
9753b40067 | ||
|
|
131c520da8 | ||
|
|
61bd1a2228 | ||
|
|
4051756ad4 | ||
|
|
b6b38f525f | ||
|
|
cebea9a0f4 | ||
|
|
4ec088dcec | ||
|
|
1f75157994 | ||
|
|
842f6a3b7f | ||
|
|
2633f0e546 | ||
|
|
257a2393d0 | ||
|
|
efc9efe47e | ||
|
|
5c95c7f84d | ||
|
|
c7ac95b8db | ||
|
|
1f55934c8a | ||
|
|
8548238e95 | ||
|
|
808c3fb8d2 | ||
|
|
911c5e2dd3 | ||
|
|
083ec2df6c | ||
|
|
5e701275d9 | ||
|
|
3b1c4349a3 | ||
|
|
ec45eb1619 | ||
|
|
c61c3d3d4b | ||
|
|
cb3d3bb8a6 | ||
|
|
078c1c4416 | ||
|
|
ed8c73a474 | ||
|
|
4ccb5ad27a |
51
CHANGES
51
CHANGES
@@ -1,3 +1,54 @@
|
||||
2015.05-rc3, Released May 22nd, 2015
|
||||
|
||||
Several fixes, mainly related to static linking.
|
||||
|
||||
Updated/fixed packages: acl, alsa-utils, apr, armadillo, attr,
|
||||
autoconf-archive, binutils, boost, czmq, dhcpcd, duma,
|
||||
enlightenment, exim, fbterm, freerdp, gcc, gdk-pixbuf,
|
||||
google-breakpad, gpsd, heirloom-mailx, hwloc, ipmiutil,
|
||||
iproute2, jack2, jasper, kmod, lcdproc, leafnode2, libcap-ng,
|
||||
libftdi1, libmatroska, libmemcached, libmodbus, libnftnl,
|
||||
libsigrok, libupnpp, libuv, libxml-parser-perl, linux,
|
||||
linux-headers, lirc-tools, lua-periphery, lxc, mongoose, mono,
|
||||
mpg123, mosquitto, neardal, newt, ntp, ola, openldap, opencv,
|
||||
php, postgresql, protobuf, pulseaudio, python-pyqt, qemu, qt,
|
||||
qt5base, rpi-userland, rsyslog, snmppp, sqlite, tiff,
|
||||
tinyxml2, uboot-tools, unionfs, ux5000-firmware, usbredir,
|
||||
ushare, vpnc, vsftpd, wavpack, wireless_tools, wsapi,
|
||||
wvstreams, xmlstarlet, zeromq, zmqpp
|
||||
|
||||
New packages: c-periphery
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#8106: mkfs.jffs2 uses the --pagesize parameter incorrectly
|
||||
#8111: 2015.05.rc2 LIBFOO_CONF_OPTS not working
|
||||
#8126: exim lacks plaintext and cram-md5 auth
|
||||
|
||||
2015.05-rc2, Released May 11th, 2015
|
||||
|
||||
Minor fixes.
|
||||
|
||||
Toolchain: PR56780 backport to GCC 4.8.4 to fix GDB linking
|
||||
issues. Context functions enabled for uClibc snapshot /
|
||||
uClibc-NG.
|
||||
|
||||
Architectures: Endian handling symbol for Xtensa, binutils
|
||||
fixes.
|
||||
|
||||
Infrastructure: Fix for kernel module stripping when
|
||||
localversion contains spaces.
|
||||
|
||||
Updated/fixed packages: at, autoconf-archive, binutils,
|
||||
cc-tool, cryptsetup, dstat, expedite, freerdp, giflib,
|
||||
gnuchess, guile, ipmiutil, iproute2, mono, monolite, neard,
|
||||
ola, poppler, postgresql, python-qt, qt, sqlite, valgrind,
|
||||
xlib_libXfont
|
||||
|
||||
Issues resolved (http://bugs.uclibc.org):
|
||||
|
||||
#8086: Cannot select systemd as init with Linaro 2014.09...
|
||||
|
||||
2015.05-rc1, Released May 4th, 2015
|
||||
|
||||
Fixes all over the tree and new features.
|
||||
|
||||
@@ -107,6 +107,22 @@ endif
|
||||
###############################################################################
|
||||
comment "Legacy options removed in 2015.05"
|
||||
|
||||
config BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_512_16K
|
||||
bool "jffs2 16kB erasesize NAND flash option renamed"
|
||||
select BR2_LEGACY
|
||||
select BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_16K
|
||||
help
|
||||
The JFFS2 NAND flash options now longer include the page
|
||||
size.
|
||||
|
||||
config BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K
|
||||
bool "jffs2 128kB erasesize NAND flash option renamed"
|
||||
select BR2_LEGACY
|
||||
select BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_128K
|
||||
help
|
||||
The JFFS2 NAND flash options now longer include the page
|
||||
size.
|
||||
|
||||
config BR2_PACKAGE_MONO_20
|
||||
bool "2.0/3.5 .Net Runtime"
|
||||
select BR2_LEGACY
|
||||
|
||||
6
Makefile
6
Makefile
@@ -28,7 +28,7 @@
|
||||
all:
|
||||
|
||||
# Set and export the version string
|
||||
export BR2_VERSION := 2015.05-rc1
|
||||
export BR2_VERSION := 2015.05-rc3
|
||||
|
||||
# Check for minimal make version (note: this check will break at make 10.x)
|
||||
MIN_MAKE_VERSION = 3.81
|
||||
@@ -562,8 +562,8 @@ endif
|
||||
-rmdir $(TARGET_DIR)/usr/share 2>/dev/null
|
||||
$(STRIP_FIND_CMD) | xargs -0 $(STRIPCMD) 2>/dev/null || true
|
||||
if test -d $(TARGET_DIR)/lib/modules; then \
|
||||
find $(TARGET_DIR)/lib/modules -type f -name '*.ko' | \
|
||||
xargs -r $(KSTRIPCMD); fi
|
||||
find $(TARGET_DIR)/lib/modules -type f -name '*.ko' -print0 | \
|
||||
xargs -0 -r $(KSTRIPCMD); fi
|
||||
|
||||
# See http://sourceware.org/gdb/wiki/FAQ, "GDB does not see any threads
|
||||
# besides the one in which crash occurred; or SIGTRAP kills my program when
|
||||
|
||||
@@ -33,6 +33,23 @@ config BR2_XTENSA_OVERLAY_DIR
|
||||
configurations. They are provided by the processor vendor or
|
||||
directly from Tensilica.
|
||||
|
||||
choice
|
||||
prompt "Target Architecture Endianness"
|
||||
depends on BR2_XTENSA_CUSTOM
|
||||
default BR2_XTENSA_LITTLE_ENDIAN
|
||||
|
||||
config BR2_XTENSA_LITTLE_ENDIAN
|
||||
bool "Little endian"
|
||||
|
||||
config BR2_XTENSA_BIG_ENDIAN
|
||||
bool "Big endian"
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_ENDIAN
|
||||
default "LITTLE" if BR2_XTENSA_LITTLE_ENDIAN
|
||||
default "BIG" if BR2_xtensa_fsf || BR2_XTENSA_BIG_ENDIAN
|
||||
|
||||
config BR2_ARCH
|
||||
default "xtensa" if BR2_xtensa
|
||||
|
||||
|
||||
@@ -8,7 +8,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttySAC0"
|
||||
|
||||
# Filesystem
|
||||
BR2_TARGET_ROOTFS_JFFS2=y
|
||||
BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K=y
|
||||
BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_128K=y
|
||||
BR2_TARGET_ROOTFS_JFFS2_PAGESIZE=0x800
|
||||
BR2_TARGET_ROOTFS_JFFS2_EBSIZE=0x20000
|
||||
BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER=y
|
||||
|
||||
@@ -9,7 +9,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
|
||||
|
||||
# filesystem
|
||||
BR2_TARGET_ROOTFS_JFFS2=y
|
||||
BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K=y
|
||||
BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_128K=y
|
||||
|
||||
# Lock to 3.18 headers to avoid breaking with newer kernels
|
||||
BR2_KERNEL_HEADERS_VERSION=y
|
||||
|
||||
@@ -8,7 +8,7 @@ BR2_TARGET_GENERIC_GETTY_PORT="ttyS0"
|
||||
|
||||
# filesystem
|
||||
BR2_TARGET_ROOTFS_JFFS2=y
|
||||
BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K=y
|
||||
BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_128K=y
|
||||
|
||||
# Lock down headers to avoid breaking with new defaults
|
||||
BR2_KERNEL_HEADERS_VERSION=y
|
||||
|
||||
@@ -12,8 +12,8 @@ space-separated list, you want called before and after each step. The
|
||||
scripts are called in sequence, with three parameters:
|
||||
|
||||
- +start+ or +end+ to denote the start (resp. the end) of a step;
|
||||
- the name of the step about to be started, or which just ended.
|
||||
- the name of the package
|
||||
- the name of the step about to be started, or which just ended;
|
||||
- the name of the package.
|
||||
|
||||
For example :
|
||||
|
||||
@@ -21,7 +21,18 @@ For example :
|
||||
make BR2_INSTRUMENTATION_SCRIPTS="/path/to/my/script1 /path/to/my/script2"
|
||||
----
|
||||
|
||||
That script has access to the following variables:
|
||||
The list of steps is:
|
||||
|
||||
- +extract+
|
||||
- +patch+
|
||||
- +configure+
|
||||
- +build+
|
||||
- +install-host+, when a host-package is installed in +$(HOST_DIR)+
|
||||
- +install-target+, when a target-package is installed in +$(TARGET_DIR)+
|
||||
- +install-staging+, when a target-package is installed in +$(STAGING_DIR)+
|
||||
- +install-image+, when a target-package installs files in +$(BINARIES_DIR)+
|
||||
|
||||
The script has access to the following variables:
|
||||
|
||||
- +BR2_CONFIG+: the path to the Buildroot .config file
|
||||
- +HOST_DIR+, +STAGING_DIR+, +TARGET_DIR+: see
|
||||
|
||||
@@ -18,14 +18,14 @@ or
|
||||
|
||||
<p>
|
||||
|
||||
The latest release candidate is <b>2015.05-rc1</b>, which can be
|
||||
The latest release candidate is <b>2015.05-rc3</b>, which can be
|
||||
downloaded here:<p>
|
||||
|
||||
<a href="/downloads/buildroot-2015.05-rc1.tar.gz">buildroot-2015.05-rc1.tar.gz</a>
|
||||
(<a href="/downloads/buildroot-2015.05-rc1.tar.gz.sign">PGP signature</a>)
|
||||
<a href="/downloads/buildroot-2015.05-rc3.tar.gz">buildroot-2015.05-rc3.tar.gz</a>
|
||||
(<a href="/downloads/buildroot-2015.05-rc3.tar.gz.sign">PGP signature</a>)
|
||||
or
|
||||
<a href="/downloads/buildroot-2015.05-rc1.tar.bz2">buildroot-2015.05-rc1.tar.bz2</a>
|
||||
(<a href="/downloads/buildroot-2015.05-rc1.tar.bz2.sign">PGP signature</a>).
|
||||
<a href="/downloads/buildroot-2015.05-rc3.tar.bz2">buildroot-2015.05-rc3.tar.bz2</a>
|
||||
(<a href="/downloads/buildroot-2015.05-rc3.tar.bz2.sign">PGP signature</a>).
|
||||
<p>
|
||||
|
||||
This and earlier releases (and their PGP signatures) can always be downloaded from
|
||||
|
||||
@@ -8,12 +8,38 @@
|
||||
<p>
|
||||
|
||||
<ul>
|
||||
<li><b>22 May 2015 -- 2015.05-rc3 released</b>
|
||||
|
||||
<p>Release candidate 3 is out with more cleanups and security / build fixes. See the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2015.05-rc3">CHANGES</a>
|
||||
file for details.</p>
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2015.02-rc5.tar.bz2">2015.05-rc3
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="lists.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>11 May 2015 -- 2015.05-rc2 released</b>
|
||||
|
||||
<p>Another week, another release candidate with more cleanups and
|
||||
build fixes. See the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2015.05-rc2">CHANGES</a>
|
||||
file for details.</p>
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2015.05-rc2.tar.bz2">2015.05-rc2
|
||||
release candidate</a>, and report any problems found to the <a
|
||||
href="support.html">mailing list</a> or <a
|
||||
href="https://bugs.uclibc.org">bug tracker</a>.</p>
|
||||
|
||||
<li><b>4 May 2015 -- 2015.05-rc1 released</b>
|
||||
|
||||
<p>We have a new release candidate! Lots of changes all over the
|
||||
tree, see the <a
|
||||
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2015.05-rc1">CHANGES</a>
|
||||
file for details.</p>
|
||||
file for details, and read the
|
||||
<a href="http://lists.busybox.net/pipermail/buildroot/2015-May/127794.html">announcement</a>.</p>
|
||||
|
||||
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
|
||||
<a href="/downloads/buildroot-2015.05-rc1.tar.bz2">2015.05-rc1
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
<a href="http://www.mind.be">Mind</a> sponsored the dinner of
|
||||
the FOSDEM 2014 Developers Meeting (Brussels), the meeting
|
||||
room and the dinner for the ELCE 2014 Developers Meeting
|
||||
(Düsseldorf), and the dinner for the FOSDME 2015 Developers
|
||||
(Düsseldorf), and the dinner for the FOSDEM 2015 Developers
|
||||
meeting (Brussels).
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -17,32 +17,25 @@ config BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_528
|
||||
bool "AT45 dataflash with 528 byte pagesize"
|
||||
select BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER
|
||||
|
||||
config BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_512_16K
|
||||
bool "NAND flash with 512B Page and 16 kB erasesize"
|
||||
config BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_16K
|
||||
bool "NAND flash with 16 kB erasesize"
|
||||
select BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER
|
||||
|
||||
config BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K
|
||||
bool "NAND flash with 2kB Page and 128 kB erasesize"
|
||||
config BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_128K
|
||||
bool "NAND flash with 128 kB erasesize"
|
||||
select BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER
|
||||
|
||||
config BR2_TARGET_ROOTFS_JFFS2_FLASH_128
|
||||
bool "Parallel flash with 4 kB pagesize and 128 kB erase size"
|
||||
bool "Parallel flash with 128 kB erase size"
|
||||
|
||||
config BR2_TARGET_ROOTFS_JFFS2_FLASH_64
|
||||
bool "Parallel flash with 4 kB pagesize and 64 kB erase size"
|
||||
bool "Parallel flash with 64 kB erase size"
|
||||
|
||||
config BR2_TARGET_ROOTFS_JFFS2_CUSTOM
|
||||
bool "Select custom page and erase size"
|
||||
bool "Select custom erase size"
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_TARGET_ROOTFS_JFFS2_CUSTOM_PAGESIZE
|
||||
hex "Page Size"
|
||||
depends on BR2_TARGET_ROOTFS_JFFS2_CUSTOM
|
||||
default 0x1000
|
||||
help
|
||||
Set to pagesize of memory
|
||||
|
||||
config BR2_TARGET_ROOTFS_JFFS2_CUSTOM_EBSIZE
|
||||
hex "Erase block size"
|
||||
depends on BR2_TARGET_ROOTFS_JFFS2_CUSTOM
|
||||
@@ -50,22 +43,12 @@ config BR2_TARGET_ROOTFS_JFFS2_CUSTOM_EBSIZE
|
||||
help
|
||||
Set to erase size of memory
|
||||
|
||||
config BR2_TARGET_ROOTFS_JFFS2_PAGESIZE
|
||||
hex
|
||||
default 0x420 if BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_1056
|
||||
default 0x210 if BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_528
|
||||
default 0x200 if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_512_16K
|
||||
default 0x800 if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K
|
||||
default 0x1000 if BR2_TARGET_ROOTFS_JFFS2_FLASH_128
|
||||
default 0x1000 if BR2_TARGET_ROOTFS_JFFS2_FLASH_64
|
||||
default BR2_TARGET_ROOTFS_JFFS2_CUSTOM_PAGESIZE if BR2_TARGET_ROOTFS_JFFS2_CUSTOM
|
||||
|
||||
config BR2_TARGET_ROOTFS_JFFS2_EBSIZE
|
||||
hex
|
||||
default 0x2100 if BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_1056
|
||||
default 0x1080 if BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_528
|
||||
default 0x4000 if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_512_16K
|
||||
default 0x20000 if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K
|
||||
default 0x4000 if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_16K
|
||||
default 0x20000 if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_128K
|
||||
default 0x20000 if BR2_TARGET_ROOTFS_JFFS2_FLASH_128
|
||||
default 0x10000 if BR2_TARGET_ROOTFS_JFFS2_FLASH_64
|
||||
default BR2_TARGET_ROOTFS_JFFS2_CUSTOM_EBSIZE if BR2_TARGET_ROOTFS_JFFS2_CUSTOM
|
||||
@@ -74,8 +57,8 @@ config BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER
|
||||
bool "Do not use Cleanmarker"
|
||||
default y if BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_1056
|
||||
default y if BR2_TARGET_ROOTFS_JFFS2_DATAFLASH_528
|
||||
default y if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_512_16K
|
||||
default y if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K
|
||||
default y if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_16K
|
||||
default y if BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_128K
|
||||
help
|
||||
Do not use cleanmarkers if using NAND flash or Dataflash where
|
||||
the pagesize is not a power of 2
|
||||
@@ -108,4 +91,22 @@ config BR2_TARGET_ROOTFS_JFFS2_SUMMARY
|
||||
A summarised image can be mounted faster if support is
|
||||
enabled in the kernel (CONFIG_JFFS2_SUMMARY)
|
||||
|
||||
config BR2_TARGET_ROOTFS_JFFS2_USE_CUSTOM_PAGESIZE
|
||||
bool "Select custom virtual memory page size"
|
||||
help
|
||||
Use a custom virtual memory page size. Note that this is not related to
|
||||
the flash memory page size. Using this option is only needed if Linux is
|
||||
configured to use a page size different than 4kB.
|
||||
|
||||
|
||||
config BR2_TARGET_ROOTFS_JFFS2_CUSTOM_PAGESIZE
|
||||
hex "Virtual memory page size"
|
||||
depends on BR2_TARGET_ROOTFS_JFFS2_USE_CUSTOM_PAGESIZE
|
||||
default 0x1000
|
||||
help
|
||||
Set to virtual memory page size of target system (in bytes). This value
|
||||
should match the virtual page size in Linux (i.e. this should have the
|
||||
same value as the value of the PAGE_SIZE macro in Linux). It is not
|
||||
related to the flash memory page size.
|
||||
|
||||
endif
|
||||
|
||||
@@ -26,7 +26,10 @@ JFFS2_OPTS += -b
|
||||
SUMTOOL_OPTS += -b
|
||||
endif
|
||||
|
||||
JFFS2_OPTS += -s $(BR2_TARGET_ROOTFS_JFFS2_PAGESIZE)
|
||||
ifeq ($(BR2_TARGET_ROOTFS_JFFS2_USE_CUSTOM_PAGESIZE),y)
|
||||
JFFS2_OPTS += -s $(BR2_TARGET_ROOTFS_JFFS2_CUSTOM_PAGESIZE)
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_ROOTFS_JFFS2_NOCLEANMARKER),y)
|
||||
JFFS2_OPTS += -n
|
||||
SUMTOOL_OPTS += -n
|
||||
|
||||
@@ -21,7 +21,7 @@ choice
|
||||
prompt "Kernel version"
|
||||
|
||||
config BR2_LINUX_KERNEL_LATEST_VERSION
|
||||
bool "4.0.1"
|
||||
bool "4.0.4"
|
||||
|
||||
config BR2_LINUX_KERNEL_SAME_AS_HEADERS
|
||||
bool "Same as toolchain kernel headers"
|
||||
@@ -109,7 +109,7 @@ config BR2_LINUX_KERNEL_CUSTOM_LOCAL_PATH
|
||||
|
||||
config BR2_LINUX_KERNEL_VERSION
|
||||
string
|
||||
default "4.0.1" if BR2_LINUX_KERNEL_LATEST_VERSION
|
||||
default "4.0.4" if BR2_LINUX_KERNEL_LATEST_VERSION
|
||||
default BR2_DEFAULT_KERNEL_HEADERS if BR2_LINUX_KERNEL_SAME_AS_HEADERS
|
||||
default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
|
||||
if BR2_LINUX_KERNEL_CUSTOM_VERSION
|
||||
|
||||
@@ -811,6 +811,7 @@ menu "Graphics"
|
||||
endmenu
|
||||
|
||||
menu "Hardware handling"
|
||||
source "package/c-periphery/Config.in"
|
||||
source "package/ccid/Config.in"
|
||||
source "package/dtc/Config.in"
|
||||
source "package/gnu-efi/Config.in"
|
||||
|
||||
@@ -27,4 +27,14 @@ ACL_INSTALL_TARGET_OPTS = \
|
||||
exec_prefix=$(TARGET_DIR)/usr \
|
||||
install install-lib
|
||||
|
||||
# The libdir variable in libacl.la is empty, so let's fix it. This is
|
||||
# probably due to acl not using automake, and not doing fully the
|
||||
# right thing with libtool.
|
||||
define ACL_FIX_LIBTOOL_LA_LIBDIR
|
||||
$(SED) "s,libdir=.*,libdir='$(STAGING_DIR)'," \
|
||||
$(STAGING_DIR)/usr/lib/libacl.la
|
||||
endef
|
||||
|
||||
ACL_POST_INSTALL_STAGING_HOOKS += ACL_FIX_LIBTOOL_LA_LIBDIR
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
@@ -39,6 +39,7 @@ comment "alsamixer needs a toolchain w/ wchar"
|
||||
|
||||
config BR2_PACKAGE_ALSA_UTILS_AMIDI
|
||||
select BR2_PACKAGE_ALSA_LIB_RAWMIDI
|
||||
select BR2_PACKAGE_ALSA_LIB_SEQ
|
||||
bool "amidi"
|
||||
|
||||
config BR2_PACKAGE_ALSA_UTILS_AMIXER
|
||||
|
||||
@@ -12,6 +12,7 @@ APR_INSTALL_STAGING = YES
|
||||
# We have a patch touching configure.in and Makefile.in,
|
||||
# so we need to autoreconf:
|
||||
APR_AUTORECONF = YES
|
||||
|
||||
APR_CONF_ENV = \
|
||||
CC_FOR_BUILD="$(HOSTCC)" \
|
||||
CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \
|
||||
@@ -34,6 +35,10 @@ endif
|
||||
# Fix lfs detection when cross compiling
|
||||
APR_CONF_ENV += apr_cv_use_lfs64=yes
|
||||
|
||||
ifeq ($(BR2_PACKAGE_UTIL_LINUX_LIBUUID),y)
|
||||
APR_DEPENDENCIES += util-linux
|
||||
endif
|
||||
|
||||
define APR_CLEANUP_UNNEEDED_FILES
|
||||
$(RM) -rf $(TARGET_DIR)/usr/build-1/
|
||||
endef
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
# Locally computed:
|
||||
sha256 0664caca9a9be410ba467a3f4fd7d4556ccda62a9e061f2935904be2afe22132 armadillo-4.000.4.tar.gz
|
||||
sha256 63150f12bf7c7c598ea55b7271d99fce349ff386a3dc2cae3904b244f6e35320 armadillo-5.100.2.tar.gz
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
ARMADILLO_VERSION_MAJOR = 4.000
|
||||
ARMADILLO_VERSION = $(ARMADILLO_VERSION_MAJOR).4
|
||||
ARMADILLO_VERSION_MAJOR = 5.100
|
||||
ARMADILLO_VERSION = $(ARMADILLO_VERSION_MAJOR).2
|
||||
ARMADILLO_SITE = http://downloads.sourceforge.net/project/arma
|
||||
ARMADILLO_DEPENDENCIES = clapack
|
||||
ARMADILLO_INSTALL_STAGING = YES
|
||||
|
||||
59
package/at/0008-remove-glibc-__isleap-assumption.patch
Normal file
59
package/at/0008-remove-glibc-__isleap-assumption.patch
Normal file
@@ -0,0 +1,59 @@
|
||||
From 7f811d9c4ebc9444e613e251c31d6bf537a24dc1 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Mon, 13 Apr 2015 16:35:30 -0700
|
||||
Subject: [PATCH] remove glibc assumption
|
||||
|
||||
glibc time.h header has an undocumented __isleap macro
|
||||
that we are using anf musl is missing it.
|
||||
Since it is undocumented & does not appear
|
||||
on any other libc, stop using it and just define the macro in
|
||||
locally instead.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
[patch from: http://patchwork.openembedded.org/patch/91893/ ]
|
||||
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
|
||||
|
||||
---
|
||||
parsetime.y | 11 +++++++----
|
||||
1 file changed, 7 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/parsetime.y b/parsetime.y
|
||||
index 7005e88..324e6d3 100644
|
||||
--- a/parsetime.y
|
||||
+++ b/parsetime.y
|
||||
@@ -8,6 +8,9 @@
|
||||
|
||||
#define YYDEBUG 1
|
||||
|
||||
+#define is_leap_year(y) \
|
||||
+ ((y) % 4 == 0 && ((y) % 100 != 0 || (y) % 400 == 0))
|
||||
+
|
||||
struct tm exectm;
|
||||
static int isgmt;
|
||||
static int yearspec;
|
||||
@@ -217,8 +220,8 @@ date : month_name day_number
|
||||
mnum == 12) && dnum > 31)
|
||||
|| ((mnum == 4 || mnum == 6 || mnum == 9 ||
|
||||
mnum == 11) && dnum > 30)
|
||||
- || (mnum == 2 && dnum > 29 && __isleap(ynum+1900))
|
||||
- || (mnum == 2 && dnum > 28 && !__isleap(ynum+1900))
|
||||
+ || (mnum == 2 && dnum > 29 && is_leap_year(ynum+1900))
|
||||
+ || (mnum == 2 && dnum > 28 && !is_leap_year(ynum+1900))
|
||||
)
|
||||
{
|
||||
yyerror("Error in day of month");
|
||||
@@ -261,8 +264,8 @@ date : month_name day_number
|
||||
mnum == 12) && dnum > 31)
|
||||
|| ((mnum == 4 || mnum == 6 || mnum == 9 ||
|
||||
mnum == 11) && dnum > 30)
|
||||
- || (mnum == 2 && dnum > 29 && __isleap(ynum+1900))
|
||||
- || (mnum == 2 && dnum > 28 && !__isleap(ynum+1900))
|
||||
+ || (mnum == 2 && dnum > 29 && is_leap_year(ynum+1900))
|
||||
+ || (mnum == 2 && dnum > 28 && !is_leap_year(ynum+1900))
|
||||
)
|
||||
{
|
||||
yyerror("Error in day of month");
|
||||
--
|
||||
2.1.4
|
||||
@@ -26,4 +26,14 @@ ATTR_INSTALL_TARGET_OPTS = \
|
||||
exec_prefix=$(TARGET_DIR)/usr \
|
||||
install install-lib
|
||||
|
||||
# The libdir variable in libattr.la is empty, so let's fix it. This is
|
||||
# probably due to attr not using automake, and not doing fully the
|
||||
# right thing with libtool.
|
||||
define ATTR_FIX_LIBTOOL_LA_LIBDIR
|
||||
$(SED) "s,libdir=.*,libdir='$(STAGING_DIR)'," \
|
||||
$(STAGING_DIR)/usr/lib/libattr.la
|
||||
endef
|
||||
|
||||
ATTR_POST_INSTALL_STAGING_HOOKS += ATTR_FIX_LIBTOOL_LA_LIBDIR
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
46
package/autoconf-archive/0001-AX_TLS-fix-syntax-error.patch
Normal file
46
package/autoconf-archive/0001-AX_TLS-fix-syntax-error.patch
Normal file
@@ -0,0 +1,46 @@
|
||||
From 1870301013d79be781ead2b0e62fc08f91715ca9 Mon Sep 17 00:00:00 2001
|
||||
From: Romain Naour <romain.naour@openwide.fr>
|
||||
Date: Sun, 3 May 2015 23:02:34 +0200
|
||||
Subject: [PATCH] AX_TLS: fix syntax error
|
||||
|
||||
The commit e012eb17b3d67f31dee477592328207437206c33 introduce
|
||||
a syntax error due to an empty "else" statement.
|
||||
|
||||
confifure:
|
||||
if test "$ac_cv_tls" != "none"; then :
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
_ACEOF
|
||||
else
|
||||
|
||||
fi
|
||||
|
||||
Remove the [] on the third part of AS_IF.
|
||||
|
||||
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
|
||||
---
|
||||
m4/ax_tls.m4 | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/m4/ax_tls.m4 b/m4/ax_tls.m4
|
||||
index 809b761..2135dd2 100644
|
||||
--- a/m4/ax_tls.m4
|
||||
+++ b/m4/ax_tls.m4
|
||||
@@ -44,7 +44,7 @@
|
||||
# modified version of the Autoconf Macro, you may extend this special
|
||||
# exception to the GPL to apply to your modified version as well.
|
||||
|
||||
-#serial 11
|
||||
+#serial 12
|
||||
|
||||
AC_DEFUN([AX_TLS], [
|
||||
AC_MSG_CHECKING([for thread local storage (TLS) class])
|
||||
@@ -70,5 +70,5 @@ AC_DEFUN([AX_TLS], [
|
||||
AS_IF([test "$ac_cv_tls" != "none"],
|
||||
[AC_DEFINE_UNQUOTED([TLS],[$ac_cv_tls],[If the compiler supports a TLS storage class define it to that here])
|
||||
m4_ifnblank([$1],[$1])],
|
||||
- [m4_ifnblank([$2],[$2])])
|
||||
+ m4_ifnblank([$2],[$2]))
|
||||
])
|
||||
--
|
||||
1.9.3
|
||||
|
||||
@@ -9,5 +9,6 @@ AUTOCONF_ARCHIVE_SOURCE = autoconf-archive-$(AUTOCONF_ARCHIVE_VERSION).tar.xz
|
||||
AUTOCONF_ARCHIVE_SITE = $(BR2_GNU_MIRROR)/autoconf-archive
|
||||
AUTOCONF_ARCHIVE_LICENSE = GPLv3+ with exception
|
||||
AUTOCONF_ARCHIVE_LICENSE_FILES = COPYING COPYING.EXCEPTION
|
||||
HOST_AUTOCONF_ARCHIVE_INSTALL_OPTS = aclocaldir=$(HOST_DIR)/usr/share/autoconf-archive install
|
||||
|
||||
$(eval $(host-autotools-package))
|
||||
|
||||
@@ -33,12 +33,16 @@ if BR2_PACKAGE_BANDWIDTHD
|
||||
config BR2_PACKAGE_BANDWIDTHD_POSTGRESQL
|
||||
bool "enable postgresql log target support"
|
||||
select BR2_PACKAGE_POSTGRESQL
|
||||
depends on !BR2_STATIC_LIBS
|
||||
help
|
||||
Enable support for logging the bandwidthd data to a remote
|
||||
(or local) postgresql server. This data can then be viewed
|
||||
through a php site. See README in the source code
|
||||
(github.com/nroach44/bandwidthd) for more information.
|
||||
|
||||
comment "postgresql support needs a toolchain w/ dynamic library"
|
||||
depends on BR2_STATIC_LIBS
|
||||
|
||||
config BR2_PACKAGE_BANDWIDTHD_SQLITE3
|
||||
bool "enable sqlite3 log storage"
|
||||
select BR2_PACKAGE_SQLITE
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
From 8ec76b16f62d1bf386fb2c39af5f66c3afddc5cb Mon Sep 17 00:00:00 2001
|
||||
From: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Date: Thu, 14 May 2015 05:22:55 +0300
|
||||
Subject: [PATCH] xtensa: fix localized symbol refcounting with --gc-sections
|
||||
|
||||
elf_xtensa_gc_sweep_hook doesn't correctly unreference symbols that were
|
||||
made local, that results in link failure with the following message:
|
||||
|
||||
BFD (GNU Binutils) 2.24 internal error, aborting at elf32-xtensa.c line
|
||||
3372 in elf_xtensa_finish_dynamic_sections
|
||||
|
||||
elf_xtensa_gc_sweep_hook determines symbol reference type (PLT or GOT) by
|
||||
relocation type. Relocation types are not changed when symbol becomes
|
||||
local, but its PLT references are added to GOT references and
|
||||
plt.refcount is set to 0. Such symbol cannot be unreferences in the
|
||||
elf_xtensa_gc_sweep_hook and its extra references make calculated GOT
|
||||
relocations section size not match number of GOT relocations.
|
||||
|
||||
Fix it by treating PLT reference as GOT reference when plt.refcount is
|
||||
not positive.
|
||||
|
||||
2015-05-14 Max Filippov <jcmvbkbc@gmail.com>
|
||||
bfd/
|
||||
* elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Treat PLT reference
|
||||
as GOT reference when plt.refcount is not positive.
|
||||
|
||||
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
||||
---
|
||||
Backported from: e6c9a083ec5ae7a45bd71682b26aae1939849388
|
||||
Changes to ChangeLog are dropped.
|
||||
|
||||
bfd/elf32-xtensa.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c
|
||||
index 53af1c6..2523670 100644
|
||||
--- a/bfd/elf32-xtensa.c
|
||||
+++ b/bfd/elf32-xtensa.c
|
||||
@@ -1360,10 +1360,14 @@ elf_xtensa_gc_sweep_hook (bfd *abfd,
|
||||
{
|
||||
if (is_plt)
|
||||
{
|
||||
+ /* If the symbol has been localized its plt.refcount got moved
|
||||
+ to got.refcount. Handle it as GOT. */
|
||||
if (h->plt.refcount > 0)
|
||||
h->plt.refcount--;
|
||||
+ else
|
||||
+ is_got = TRUE;
|
||||
}
|
||||
- else if (is_got)
|
||||
+ if (is_got)
|
||||
{
|
||||
if (h->got.refcount > 0)
|
||||
h->got.refcount--;
|
||||
--
|
||||
1.8.1.4
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
From 8ec76b16f62d1bf386fb2c39af5f66c3afddc5cb Mon Sep 17 00:00:00 2001
|
||||
From: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Date: Thu, 14 May 2015 05:22:55 +0300
|
||||
Subject: [PATCH] xtensa: fix localized symbol refcounting with --gc-sections
|
||||
|
||||
elf_xtensa_gc_sweep_hook doesn't correctly unreference symbols that were
|
||||
made local, that results in link failure with the following message:
|
||||
|
||||
BFD (GNU Binutils) 2.24 internal error, aborting at elf32-xtensa.c line
|
||||
3372 in elf_xtensa_finish_dynamic_sections
|
||||
|
||||
elf_xtensa_gc_sweep_hook determines symbol reference type (PLT or GOT) by
|
||||
relocation type. Relocation types are not changed when symbol becomes
|
||||
local, but its PLT references are added to GOT references and
|
||||
plt.refcount is set to 0. Such symbol cannot be unreferences in the
|
||||
elf_xtensa_gc_sweep_hook and its extra references make calculated GOT
|
||||
relocations section size not match number of GOT relocations.
|
||||
|
||||
Fix it by treating PLT reference as GOT reference when plt.refcount is
|
||||
not positive.
|
||||
|
||||
2015-05-14 Max Filippov <jcmvbkbc@gmail.com>
|
||||
bfd/
|
||||
* elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Treat PLT reference
|
||||
as GOT reference when plt.refcount is not positive.
|
||||
|
||||
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
||||
---
|
||||
Backported from: e6c9a083ec5ae7a45bd71682b26aae1939849388
|
||||
Changes to ChangeLog are dropped.
|
||||
|
||||
bfd/elf32-xtensa.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c
|
||||
index 53af1c6..2523670 100644
|
||||
--- a/bfd/elf32-xtensa.c
|
||||
+++ b/bfd/elf32-xtensa.c
|
||||
@@ -1360,10 +1360,14 @@ elf_xtensa_gc_sweep_hook (bfd *abfd,
|
||||
{
|
||||
if (is_plt)
|
||||
{
|
||||
+ /* If the symbol has been localized its plt.refcount got moved
|
||||
+ to got.refcount. Handle it as GOT. */
|
||||
if (h->plt.refcount > 0)
|
||||
h->plt.refcount--;
|
||||
+ else
|
||||
+ is_got = TRUE;
|
||||
}
|
||||
- else if (is_got)
|
||||
+ if (is_got)
|
||||
{
|
||||
if (h->got.refcount > 0)
|
||||
h->got.refcount--;
|
||||
--
|
||||
1.8.1.4
|
||||
|
||||
@@ -0,0 +1,345 @@
|
||||
From cbe53e134d4c3a656880a906738ce19fdcd38e8b Mon Sep 17 00:00:00 2001
|
||||
From: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Date: Fri, 1 May 2015 11:39:12 +0300
|
||||
Subject: [PATCH] xtensa: optimize trampolines relaxation
|
||||
|
||||
Currently every fixup in the current segment is checked when relaxing
|
||||
trampoline frag. This is very expensive. Make a searchable array of
|
||||
fixups pointing at potentially oversized jumps at the beginning of every
|
||||
relaxation pass and only check subset of this cache in the reach of
|
||||
single jump from the trampoline frag currently being relaxed.
|
||||
|
||||
Original profile:
|
||||
|
||||
% time self children called name
|
||||
-----------------------------------------
|
||||
370.16 593.38 12283048/12283048 relax_segment
|
||||
98.4 370.16 593.38 12283048 xtensa_relax_frag
|
||||
58.91 269.26 2691463834/2699602236 xtensa_insnbuf_from_chars
|
||||
68.35 68.17 811266668/813338977 S_GET_VALUE
|
||||
36.85 29.51 2684369246/2685538060 xtensa_opcode_decode
|
||||
28.34 8.84 2684369246/2685538060 xtensa_format_get_slot
|
||||
12.39 5.94 2691463834/2699775044 xtensa_format_decode
|
||||
0.03 4.60 4101109/4101109 relax_frag_for_align
|
||||
0.18 1.76 994617/994617 relax_frag_immed
|
||||
0.07 0.09 24556277/24851220 new_logical_line
|
||||
0.06 0.00 12283048/14067410 as_where
|
||||
0.04 0.00 7094588/15460506 xtensa_format_num_slots
|
||||
0.00 0.00 1/712477 xtensa_insnbuf_alloc
|
||||
-----------------------------------------
|
||||
|
||||
Same data, after optimization:
|
||||
|
||||
% time self children called name
|
||||
-----------------------------------------
|
||||
0.51 7.47 12283048/12283048 relax_segment
|
||||
58.0 0.51 7.47 12283048 xtensa_relax_frag
|
||||
0.02 4.08 4101109/4101109 relax_frag_for_align
|
||||
0.18 1.39 994617/994617 relax_frag_immed
|
||||
0.01 0.98 555/555 xtensa_cache_relaxable_fixups
|
||||
0.21 0.25 7094588/16693271 xtensa_insnbuf_from_chars
|
||||
0.06 0.12 24556277/24851220 new_logical_line
|
||||
0.06 0.00 7094588/15460506 xtensa_format_num_slots
|
||||
0.02 0.04 7094588/16866079 xtensa_format_decode
|
||||
0.05 0.00 12283048/14067410 as_where
|
||||
0.00 0.00 1/712477 xtensa_insnbuf_alloc
|
||||
0.00 0.00 93808/93808 xtensa_find_first_cached_fixup
|
||||
-----------------------------------------
|
||||
|
||||
2015-05-02 Max Filippov <jcmvbkbc@gmail.com>
|
||||
gas/
|
||||
* config/tc-xtensa.c (cached_fixupS, fixup_cacheS): New typedefs.
|
||||
(struct cached_fixup, struct fixup_cache): New structures.
|
||||
(fixup_order, xtensa_make_cached_fixup),
|
||||
(xtensa_realloc_fixup_cache, xtensa_cache_relaxable_fixups),
|
||||
(xtensa_find_first_cached_fixup, xtensa_delete_cached_fixup),
|
||||
(xtensa_add_cached_fixup): New functions.
|
||||
(xtensa_relax_frag): Cache fixups pointing at potentially
|
||||
oversized jumps at the beginning of every relaxation pass. Only
|
||||
check subset of this cache in the reach of single jump from the
|
||||
trampoline frag currently being relaxed.
|
||||
|
||||
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
||||
---
|
||||
Backported from: b76f99d702c3501ac320396ea06bc7f9237173c3
|
||||
Changes to ChangeLog are dropped.
|
||||
|
||||
gas/config/tc-xtensa.c | 220 +++++++++++++++++++++++++++++++++++++++++++------
|
||||
1 file changed, 194 insertions(+), 26 deletions(-)
|
||||
|
||||
diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
|
||||
index 3e85b69..31c0b6b 100644
|
||||
--- a/gas/config/tc-xtensa.c
|
||||
+++ b/gas/config/tc-xtensa.c
|
||||
@@ -8785,6 +8785,154 @@ static long relax_frag_for_align (fragS *, long);
|
||||
static long relax_frag_immed
|
||||
(segT, fragS *, long, int, xtensa_format, int, int *, bfd_boolean);
|
||||
|
||||
+typedef struct cached_fixup cached_fixupS;
|
||||
+struct cached_fixup
|
||||
+{
|
||||
+ int addr;
|
||||
+ int target;
|
||||
+ int delta;
|
||||
+ fixS *fixP;
|
||||
+};
|
||||
+
|
||||
+typedef struct fixup_cache fixup_cacheS;
|
||||
+struct fixup_cache
|
||||
+{
|
||||
+ cached_fixupS *fixups;
|
||||
+ unsigned n_fixups;
|
||||
+ unsigned n_max;
|
||||
+
|
||||
+ segT seg;
|
||||
+ fragS *first_frag;
|
||||
+};
|
||||
+
|
||||
+static int fixup_order (const void *a, const void *b)
|
||||
+{
|
||||
+ const cached_fixupS *pa = a;
|
||||
+ const cached_fixupS *pb = b;
|
||||
+
|
||||
+ if (pa->addr == pb->addr)
|
||||
+ {
|
||||
+ if (pa->target == pb->target)
|
||||
+ {
|
||||
+ if (pa->fixP->fx_r_type == pb->fixP->fx_r_type)
|
||||
+ return 0;
|
||||
+ return pa->fixP->fx_r_type < pb->fixP->fx_r_type ? -1 : 1;
|
||||
+ }
|
||||
+ return pa->target - pb->target;
|
||||
+ }
|
||||
+ return pa->addr - pb->addr;
|
||||
+}
|
||||
+
|
||||
+static bfd_boolean xtensa_make_cached_fixup (cached_fixupS *o, fixS *fixP)
|
||||
+{
|
||||
+ xtensa_isa isa = xtensa_default_isa;
|
||||
+ int addr = fixP->fx_frag->fr_address;
|
||||
+ int target;
|
||||
+ int delta;
|
||||
+ symbolS *s = fixP->fx_addsy;
|
||||
+ int slot;
|
||||
+ xtensa_format fmt;
|
||||
+ xtensa_opcode opcode;
|
||||
+
|
||||
+ if (fixP->fx_r_type < BFD_RELOC_XTENSA_SLOT0_OP ||
|
||||
+ fixP->fx_r_type > BFD_RELOC_XTENSA_SLOT14_OP)
|
||||
+ return FALSE;
|
||||
+ target = S_GET_VALUE (s);
|
||||
+ delta = target - addr;
|
||||
+
|
||||
+ if (abs(delta) < J_RANGE / 2)
|
||||
+ return FALSE;
|
||||
+
|
||||
+ xtensa_insnbuf_from_chars (isa, trampoline_buf,
|
||||
+ (unsigned char *) fixP->fx_frag->fr_literal +
|
||||
+ fixP->fx_where, 0);
|
||||
+ fmt = xtensa_format_decode (isa, trampoline_buf);
|
||||
+ gas_assert (fmt != XTENSA_UNDEFINED);
|
||||
+ slot = fixP->tc_fix_data.slot;
|
||||
+ xtensa_format_get_slot (isa, fmt, slot, trampoline_buf, trampoline_slotbuf);
|
||||
+ opcode = xtensa_opcode_decode (isa, fmt, slot, trampoline_slotbuf);
|
||||
+ if (opcode != xtensa_j_opcode)
|
||||
+ return FALSE;
|
||||
+
|
||||
+ o->addr = addr;
|
||||
+ o->target = target;
|
||||
+ o->delta = delta;
|
||||
+ o->fixP = fixP;
|
||||
+
|
||||
+ return TRUE;
|
||||
+}
|
||||
+
|
||||
+static void xtensa_realloc_fixup_cache (fixup_cacheS *cache, unsigned add)
|
||||
+{
|
||||
+ if (cache->n_fixups + add > cache->n_max)
|
||||
+ {
|
||||
+ cache->n_max = (cache->n_fixups + add) * 2;
|
||||
+ cache->fixups = xrealloc (cache->fixups,
|
||||
+ sizeof (*cache->fixups) * cache->n_max);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void xtensa_cache_relaxable_fixups (fixup_cacheS *cache,
|
||||
+ segment_info_type *seginfo)
|
||||
+{
|
||||
+ fixS *fixP;
|
||||
+
|
||||
+ cache->n_fixups = 0;
|
||||
+
|
||||
+ for (fixP = seginfo->fix_root; fixP ; fixP = fixP->fx_next)
|
||||
+ {
|
||||
+ xtensa_realloc_fixup_cache (cache, 1);
|
||||
+
|
||||
+ if (xtensa_make_cached_fixup (cache->fixups + cache->n_fixups, fixP))
|
||||
+ ++cache->n_fixups;
|
||||
+ }
|
||||
+ qsort (cache->fixups, cache->n_fixups, sizeof (*cache->fixups), fixup_order);
|
||||
+}
|
||||
+
|
||||
+static unsigned xtensa_find_first_cached_fixup (const fixup_cacheS *cache,
|
||||
+ int addr)
|
||||
+{
|
||||
+ unsigned a = 0;
|
||||
+ unsigned b = cache->n_fixups;
|
||||
+
|
||||
+ while (b - a > 1)
|
||||
+ {
|
||||
+ unsigned c = (a + b) / 2;
|
||||
+
|
||||
+ if (cache->fixups[c].addr < addr)
|
||||
+ a = c;
|
||||
+ else
|
||||
+ b = c;
|
||||
+ }
|
||||
+ return a;
|
||||
+}
|
||||
+
|
||||
+static void xtensa_delete_cached_fixup (fixup_cacheS *cache, unsigned i)
|
||||
+{
|
||||
+ memmove (cache->fixups + i, cache->fixups + i + 1,
|
||||
+ (cache->n_fixups - i - 1) * sizeof (*cache->fixups));
|
||||
+ --cache->n_fixups;
|
||||
+}
|
||||
+
|
||||
+static bfd_boolean xtensa_add_cached_fixup (fixup_cacheS *cache, fixS *fixP)
|
||||
+{
|
||||
+ cached_fixupS o;
|
||||
+ unsigned i;
|
||||
+
|
||||
+ if (!xtensa_make_cached_fixup (&o, fixP))
|
||||
+ return FALSE;
|
||||
+ xtensa_realloc_fixup_cache (cache, 1);
|
||||
+ i = xtensa_find_first_cached_fixup (cache, o.addr);
|
||||
+ if (i < cache->n_fixups)
|
||||
+ {
|
||||
+ ++i;
|
||||
+ memmove (cache->fixups + i + 1, cache->fixups + i,
|
||||
+ (cache->n_fixups - i) * sizeof (*cache->fixups));
|
||||
+ }
|
||||
+ cache->fixups[i] = o;
|
||||
+ ++cache->n_fixups;
|
||||
+ return TRUE;
|
||||
+}
|
||||
|
||||
/* Return the number of bytes added to this fragment, given that the
|
||||
input has been stretched already by "stretch". */
|
||||
@@ -8896,35 +9044,42 @@ xtensa_relax_frag (fragS *fragP, long stretch, int *stretched_p)
|
||||
case RELAX_TRAMPOLINE:
|
||||
if (fragP->tc_frag_data.relax_seen)
|
||||
{
|
||||
- segment_info_type *seginfo = seg_info (now_seg);
|
||||
- fragS *fP; /* The out-of-range jump. */
|
||||
- fixS *fixP;
|
||||
+ static fixup_cacheS fixup_cache;
|
||||
+ segment_info_type *seginfo = seg_info (now_seg);
|
||||
+ int trampaddr = fragP->fr_address + fragP->fr_fix;
|
||||
+ int searchaddr = trampaddr < J_RANGE ? 0 : trampaddr - J_RANGE;
|
||||
+ unsigned i;
|
||||
+
|
||||
+ if (now_seg != fixup_cache.seg ||
|
||||
+ fragP == fixup_cache.first_frag ||
|
||||
+ fixup_cache.first_frag == NULL)
|
||||
+ {
|
||||
+ xtensa_cache_relaxable_fixups (&fixup_cache, seginfo);
|
||||
+ fixup_cache.seg = now_seg;
|
||||
+ fixup_cache.first_frag = fragP;
|
||||
+ }
|
||||
|
||||
/* Scan for jumps that will not reach. */
|
||||
- for (fixP = seginfo->fix_root; fixP ; fixP = fixP->fx_next)
|
||||
+ for (i = xtensa_find_first_cached_fixup (&fixup_cache, searchaddr);
|
||||
+ i < fixup_cache.n_fixups; ++i)
|
||||
+
|
||||
{
|
||||
- symbolS *s = fixP->fx_addsy;
|
||||
- xtensa_opcode opcode;
|
||||
- int target;
|
||||
- int addr;
|
||||
- int delta;
|
||||
-
|
||||
- if (fixP->fx_r_type < BFD_RELOC_XTENSA_SLOT0_OP ||
|
||||
- fixP->fx_r_type > BFD_RELOC_XTENSA_SLOT14_OP)
|
||||
- continue;
|
||||
- xtensa_insnbuf_from_chars (isa, trampoline_buf,
|
||||
- (unsigned char *) fixP->fx_frag->fr_literal + fixP->fx_where,
|
||||
- 0);
|
||||
- fmt = xtensa_format_decode (isa, trampoline_buf);
|
||||
- gas_assert (fmt != XTENSA_UNDEFINED);
|
||||
- slot = fixP->tc_fix_data.slot;
|
||||
- xtensa_format_get_slot (isa, fmt, slot, trampoline_buf, trampoline_slotbuf);
|
||||
- opcode = xtensa_opcode_decode (isa, fmt, slot, trampoline_slotbuf);
|
||||
- if (opcode != xtensa_j_opcode)
|
||||
+ fixS *fixP = fixup_cache.fixups[i].fixP;
|
||||
+ int target = fixup_cache.fixups[i].target;
|
||||
+ int addr = fixup_cache.fixups[i].addr;
|
||||
+ int delta = fixup_cache.fixups[i].delta + stretch;
|
||||
+
|
||||
+ trampaddr = fragP->fr_address + fragP->fr_fix;
|
||||
+
|
||||
+ if (addr + J_RANGE < trampaddr)
|
||||
continue;
|
||||
- target = S_GET_VALUE (s);
|
||||
- addr = fixP->fx_frag->fr_address;
|
||||
- delta = target - addr + stretch;
|
||||
+ if (addr > trampaddr + J_RANGE)
|
||||
+ break;
|
||||
+ if (abs (delta) < J_RANGE)
|
||||
+ continue;
|
||||
+
|
||||
+ slot = fixP->tc_fix_data.slot;
|
||||
+
|
||||
if (delta > J_RANGE || delta < -1 * J_RANGE)
|
||||
{ /* Found an out-of-range jump; scan the list of trampolines for the best match. */
|
||||
struct trampoline_seg *ts = find_trampoline_seg (now_seg);
|
||||
@@ -8978,14 +9133,13 @@ xtensa_relax_frag (fragS *fragP, long stretch, int *stretched_p)
|
||||
}
|
||||
if (tf->fragP == fragP)
|
||||
{
|
||||
- int trampaddr = fragP->fr_address + fragP->fr_fix;
|
||||
-
|
||||
if (abs (addr - trampaddr) < J_RANGE)
|
||||
{ /* The trampoline is in range of original; fix it! */
|
||||
fixS *newfixP;
|
||||
int offset;
|
||||
TInsn insn;
|
||||
symbolS *lsym;
|
||||
+ fragS *fP; /* The out-of-range jump. */
|
||||
|
||||
new_stretch += init_trampoline_frag (tf);
|
||||
offset = fragP->fr_fix; /* Where to assemble the j insn. */
|
||||
@@ -9009,10 +9163,20 @@ xtensa_relax_frag (fragS *fragP, long stretch, int *stretched_p)
|
||||
newfixP->tc_fix_data.X_add_symbol = lsym;
|
||||
newfixP->tc_fix_data.X_add_number = offset;
|
||||
newfixP->tc_fix_data.slot = slot;
|
||||
+
|
||||
+ xtensa_delete_cached_fixup (&fixup_cache, i);
|
||||
+ xtensa_add_cached_fixup (&fixup_cache, newfixP);
|
||||
+
|
||||
/* Move the fix-up from the original j insn to this one. */
|
||||
fixP->fx_frag = fragP;
|
||||
fixP->fx_where = fragP->fr_fix - 3;
|
||||
fixP->tc_fix_data.slot = 0;
|
||||
+
|
||||
+ xtensa_add_cached_fixup (&fixup_cache, fixP);
|
||||
+
|
||||
+ /* re-do current fixup */
|
||||
+ --i;
|
||||
+
|
||||
/* Adjust the jump around this trampoline (if present). */
|
||||
if (tf->fixP != NULL)
|
||||
{
|
||||
@@ -9027,6 +9191,8 @@ xtensa_relax_frag (fragS *fragP, long stretch, int *stretched_p)
|
||||
fragP->fr_subtype = 0;
|
||||
/* Remove from the trampoline_list. */
|
||||
prev->next = tf->next;
|
||||
+ if (fragP == fixup_cache.first_frag)
|
||||
+ fixup_cache.first_frag = NULL;
|
||||
break;
|
||||
}
|
||||
}
|
||||
--
|
||||
1.8.1.4
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
From 8ec76b16f62d1bf386fb2c39af5f66c3afddc5cb Mon Sep 17 00:00:00 2001
|
||||
From: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Date: Thu, 14 May 2015 05:22:55 +0300
|
||||
Subject: [PATCH] xtensa: fix localized symbol refcounting with --gc-sections
|
||||
|
||||
elf_xtensa_gc_sweep_hook doesn't correctly unreference symbols that were
|
||||
made local, that results in link failure with the following message:
|
||||
|
||||
BFD (GNU Binutils) 2.24 internal error, aborting at elf32-xtensa.c line
|
||||
3372 in elf_xtensa_finish_dynamic_sections
|
||||
|
||||
elf_xtensa_gc_sweep_hook determines symbol reference type (PLT or GOT) by
|
||||
relocation type. Relocation types are not changed when symbol becomes
|
||||
local, but its PLT references are added to GOT references and
|
||||
plt.refcount is set to 0. Such symbol cannot be unreferences in the
|
||||
elf_xtensa_gc_sweep_hook and its extra references make calculated GOT
|
||||
relocations section size not match number of GOT relocations.
|
||||
|
||||
Fix it by treating PLT reference as GOT reference when plt.refcount is
|
||||
not positive.
|
||||
|
||||
2015-05-14 Max Filippov <jcmvbkbc@gmail.com>
|
||||
bfd/
|
||||
* elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Treat PLT reference
|
||||
as GOT reference when plt.refcount is not positive.
|
||||
|
||||
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
||||
---
|
||||
Backported from: e6c9a083ec5ae7a45bd71682b26aae1939849388
|
||||
Changes to ChangeLog are dropped.
|
||||
|
||||
bfd/elf32-xtensa.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c
|
||||
index 53af1c6..2523670 100644
|
||||
--- a/bfd/elf32-xtensa.c
|
||||
+++ b/bfd/elf32-xtensa.c
|
||||
@@ -1360,10 +1360,14 @@ elf_xtensa_gc_sweep_hook (bfd *abfd,
|
||||
{
|
||||
if (is_plt)
|
||||
{
|
||||
+ /* If the symbol has been localized its plt.refcount got moved
|
||||
+ to got.refcount. Handle it as GOT. */
|
||||
if (h->plt.refcount > 0)
|
||||
h->plt.refcount--;
|
||||
+ else
|
||||
+ is_got = TRUE;
|
||||
}
|
||||
- else if (is_got)
|
||||
+ if (is_got)
|
||||
{
|
||||
if (h->got.refcount > 0)
|
||||
h->got.refcount--;
|
||||
--
|
||||
1.8.1.4
|
||||
|
||||
@@ -0,0 +1,345 @@
|
||||
From cbe53e134d4c3a656880a906738ce19fdcd38e8b Mon Sep 17 00:00:00 2001
|
||||
From: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Date: Fri, 1 May 2015 11:39:12 +0300
|
||||
Subject: [PATCH] xtensa: optimize trampolines relaxation
|
||||
|
||||
Currently every fixup in the current segment is checked when relaxing
|
||||
trampoline frag. This is very expensive. Make a searchable array of
|
||||
fixups pointing at potentially oversized jumps at the beginning of every
|
||||
relaxation pass and only check subset of this cache in the reach of
|
||||
single jump from the trampoline frag currently being relaxed.
|
||||
|
||||
Original profile:
|
||||
|
||||
% time self children called name
|
||||
-----------------------------------------
|
||||
370.16 593.38 12283048/12283048 relax_segment
|
||||
98.4 370.16 593.38 12283048 xtensa_relax_frag
|
||||
58.91 269.26 2691463834/2699602236 xtensa_insnbuf_from_chars
|
||||
68.35 68.17 811266668/813338977 S_GET_VALUE
|
||||
36.85 29.51 2684369246/2685538060 xtensa_opcode_decode
|
||||
28.34 8.84 2684369246/2685538060 xtensa_format_get_slot
|
||||
12.39 5.94 2691463834/2699775044 xtensa_format_decode
|
||||
0.03 4.60 4101109/4101109 relax_frag_for_align
|
||||
0.18 1.76 994617/994617 relax_frag_immed
|
||||
0.07 0.09 24556277/24851220 new_logical_line
|
||||
0.06 0.00 12283048/14067410 as_where
|
||||
0.04 0.00 7094588/15460506 xtensa_format_num_slots
|
||||
0.00 0.00 1/712477 xtensa_insnbuf_alloc
|
||||
-----------------------------------------
|
||||
|
||||
Same data, after optimization:
|
||||
|
||||
% time self children called name
|
||||
-----------------------------------------
|
||||
0.51 7.47 12283048/12283048 relax_segment
|
||||
58.0 0.51 7.47 12283048 xtensa_relax_frag
|
||||
0.02 4.08 4101109/4101109 relax_frag_for_align
|
||||
0.18 1.39 994617/994617 relax_frag_immed
|
||||
0.01 0.98 555/555 xtensa_cache_relaxable_fixups
|
||||
0.21 0.25 7094588/16693271 xtensa_insnbuf_from_chars
|
||||
0.06 0.12 24556277/24851220 new_logical_line
|
||||
0.06 0.00 7094588/15460506 xtensa_format_num_slots
|
||||
0.02 0.04 7094588/16866079 xtensa_format_decode
|
||||
0.05 0.00 12283048/14067410 as_where
|
||||
0.00 0.00 1/712477 xtensa_insnbuf_alloc
|
||||
0.00 0.00 93808/93808 xtensa_find_first_cached_fixup
|
||||
-----------------------------------------
|
||||
|
||||
2015-05-02 Max Filippov <jcmvbkbc@gmail.com>
|
||||
gas/
|
||||
* config/tc-xtensa.c (cached_fixupS, fixup_cacheS): New typedefs.
|
||||
(struct cached_fixup, struct fixup_cache): New structures.
|
||||
(fixup_order, xtensa_make_cached_fixup),
|
||||
(xtensa_realloc_fixup_cache, xtensa_cache_relaxable_fixups),
|
||||
(xtensa_find_first_cached_fixup, xtensa_delete_cached_fixup),
|
||||
(xtensa_add_cached_fixup): New functions.
|
||||
(xtensa_relax_frag): Cache fixups pointing at potentially
|
||||
oversized jumps at the beginning of every relaxation pass. Only
|
||||
check subset of this cache in the reach of single jump from the
|
||||
trampoline frag currently being relaxed.
|
||||
|
||||
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
||||
---
|
||||
Backported from: b76f99d702c3501ac320396ea06bc7f9237173c3
|
||||
Changes to ChangeLog are dropped.
|
||||
|
||||
gas/config/tc-xtensa.c | 220 +++++++++++++++++++++++++++++++++++++++++++------
|
||||
1 file changed, 194 insertions(+), 26 deletions(-)
|
||||
|
||||
diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
|
||||
index 3e85b69..31c0b6b 100644
|
||||
--- a/gas/config/tc-xtensa.c
|
||||
+++ b/gas/config/tc-xtensa.c
|
||||
@@ -8785,6 +8785,154 @@ static long relax_frag_for_align (fragS *, long);
|
||||
static long relax_frag_immed
|
||||
(segT, fragS *, long, int, xtensa_format, int, int *, bfd_boolean);
|
||||
|
||||
+typedef struct cached_fixup cached_fixupS;
|
||||
+struct cached_fixup
|
||||
+{
|
||||
+ int addr;
|
||||
+ int target;
|
||||
+ int delta;
|
||||
+ fixS *fixP;
|
||||
+};
|
||||
+
|
||||
+typedef struct fixup_cache fixup_cacheS;
|
||||
+struct fixup_cache
|
||||
+{
|
||||
+ cached_fixupS *fixups;
|
||||
+ unsigned n_fixups;
|
||||
+ unsigned n_max;
|
||||
+
|
||||
+ segT seg;
|
||||
+ fragS *first_frag;
|
||||
+};
|
||||
+
|
||||
+static int fixup_order (const void *a, const void *b)
|
||||
+{
|
||||
+ const cached_fixupS *pa = a;
|
||||
+ const cached_fixupS *pb = b;
|
||||
+
|
||||
+ if (pa->addr == pb->addr)
|
||||
+ {
|
||||
+ if (pa->target == pb->target)
|
||||
+ {
|
||||
+ if (pa->fixP->fx_r_type == pb->fixP->fx_r_type)
|
||||
+ return 0;
|
||||
+ return pa->fixP->fx_r_type < pb->fixP->fx_r_type ? -1 : 1;
|
||||
+ }
|
||||
+ return pa->target - pb->target;
|
||||
+ }
|
||||
+ return pa->addr - pb->addr;
|
||||
+}
|
||||
+
|
||||
+static bfd_boolean xtensa_make_cached_fixup (cached_fixupS *o, fixS *fixP)
|
||||
+{
|
||||
+ xtensa_isa isa = xtensa_default_isa;
|
||||
+ int addr = fixP->fx_frag->fr_address;
|
||||
+ int target;
|
||||
+ int delta;
|
||||
+ symbolS *s = fixP->fx_addsy;
|
||||
+ int slot;
|
||||
+ xtensa_format fmt;
|
||||
+ xtensa_opcode opcode;
|
||||
+
|
||||
+ if (fixP->fx_r_type < BFD_RELOC_XTENSA_SLOT0_OP ||
|
||||
+ fixP->fx_r_type > BFD_RELOC_XTENSA_SLOT14_OP)
|
||||
+ return FALSE;
|
||||
+ target = S_GET_VALUE (s);
|
||||
+ delta = target - addr;
|
||||
+
|
||||
+ if (abs(delta) < J_RANGE / 2)
|
||||
+ return FALSE;
|
||||
+
|
||||
+ xtensa_insnbuf_from_chars (isa, trampoline_buf,
|
||||
+ (unsigned char *) fixP->fx_frag->fr_literal +
|
||||
+ fixP->fx_where, 0);
|
||||
+ fmt = xtensa_format_decode (isa, trampoline_buf);
|
||||
+ gas_assert (fmt != XTENSA_UNDEFINED);
|
||||
+ slot = fixP->tc_fix_data.slot;
|
||||
+ xtensa_format_get_slot (isa, fmt, slot, trampoline_buf, trampoline_slotbuf);
|
||||
+ opcode = xtensa_opcode_decode (isa, fmt, slot, trampoline_slotbuf);
|
||||
+ if (opcode != xtensa_j_opcode)
|
||||
+ return FALSE;
|
||||
+
|
||||
+ o->addr = addr;
|
||||
+ o->target = target;
|
||||
+ o->delta = delta;
|
||||
+ o->fixP = fixP;
|
||||
+
|
||||
+ return TRUE;
|
||||
+}
|
||||
+
|
||||
+static void xtensa_realloc_fixup_cache (fixup_cacheS *cache, unsigned add)
|
||||
+{
|
||||
+ if (cache->n_fixups + add > cache->n_max)
|
||||
+ {
|
||||
+ cache->n_max = (cache->n_fixups + add) * 2;
|
||||
+ cache->fixups = xrealloc (cache->fixups,
|
||||
+ sizeof (*cache->fixups) * cache->n_max);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+static void xtensa_cache_relaxable_fixups (fixup_cacheS *cache,
|
||||
+ segment_info_type *seginfo)
|
||||
+{
|
||||
+ fixS *fixP;
|
||||
+
|
||||
+ cache->n_fixups = 0;
|
||||
+
|
||||
+ for (fixP = seginfo->fix_root; fixP ; fixP = fixP->fx_next)
|
||||
+ {
|
||||
+ xtensa_realloc_fixup_cache (cache, 1);
|
||||
+
|
||||
+ if (xtensa_make_cached_fixup (cache->fixups + cache->n_fixups, fixP))
|
||||
+ ++cache->n_fixups;
|
||||
+ }
|
||||
+ qsort (cache->fixups, cache->n_fixups, sizeof (*cache->fixups), fixup_order);
|
||||
+}
|
||||
+
|
||||
+static unsigned xtensa_find_first_cached_fixup (const fixup_cacheS *cache,
|
||||
+ int addr)
|
||||
+{
|
||||
+ unsigned a = 0;
|
||||
+ unsigned b = cache->n_fixups;
|
||||
+
|
||||
+ while (b - a > 1)
|
||||
+ {
|
||||
+ unsigned c = (a + b) / 2;
|
||||
+
|
||||
+ if (cache->fixups[c].addr < addr)
|
||||
+ a = c;
|
||||
+ else
|
||||
+ b = c;
|
||||
+ }
|
||||
+ return a;
|
||||
+}
|
||||
+
|
||||
+static void xtensa_delete_cached_fixup (fixup_cacheS *cache, unsigned i)
|
||||
+{
|
||||
+ memmove (cache->fixups + i, cache->fixups + i + 1,
|
||||
+ (cache->n_fixups - i - 1) * sizeof (*cache->fixups));
|
||||
+ --cache->n_fixups;
|
||||
+}
|
||||
+
|
||||
+static bfd_boolean xtensa_add_cached_fixup (fixup_cacheS *cache, fixS *fixP)
|
||||
+{
|
||||
+ cached_fixupS o;
|
||||
+ unsigned i;
|
||||
+
|
||||
+ if (!xtensa_make_cached_fixup (&o, fixP))
|
||||
+ return FALSE;
|
||||
+ xtensa_realloc_fixup_cache (cache, 1);
|
||||
+ i = xtensa_find_first_cached_fixup (cache, o.addr);
|
||||
+ if (i < cache->n_fixups)
|
||||
+ {
|
||||
+ ++i;
|
||||
+ memmove (cache->fixups + i + 1, cache->fixups + i,
|
||||
+ (cache->n_fixups - i) * sizeof (*cache->fixups));
|
||||
+ }
|
||||
+ cache->fixups[i] = o;
|
||||
+ ++cache->n_fixups;
|
||||
+ return TRUE;
|
||||
+}
|
||||
|
||||
/* Return the number of bytes added to this fragment, given that the
|
||||
input has been stretched already by "stretch". */
|
||||
@@ -8896,35 +9044,42 @@ xtensa_relax_frag (fragS *fragP, long stretch, int *stretched_p)
|
||||
case RELAX_TRAMPOLINE:
|
||||
if (fragP->tc_frag_data.relax_seen)
|
||||
{
|
||||
- segment_info_type *seginfo = seg_info (now_seg);
|
||||
- fragS *fP; /* The out-of-range jump. */
|
||||
- fixS *fixP;
|
||||
+ static fixup_cacheS fixup_cache;
|
||||
+ segment_info_type *seginfo = seg_info (now_seg);
|
||||
+ int trampaddr = fragP->fr_address + fragP->fr_fix;
|
||||
+ int searchaddr = trampaddr < J_RANGE ? 0 : trampaddr - J_RANGE;
|
||||
+ unsigned i;
|
||||
+
|
||||
+ if (now_seg != fixup_cache.seg ||
|
||||
+ fragP == fixup_cache.first_frag ||
|
||||
+ fixup_cache.first_frag == NULL)
|
||||
+ {
|
||||
+ xtensa_cache_relaxable_fixups (&fixup_cache, seginfo);
|
||||
+ fixup_cache.seg = now_seg;
|
||||
+ fixup_cache.first_frag = fragP;
|
||||
+ }
|
||||
|
||||
/* Scan for jumps that will not reach. */
|
||||
- for (fixP = seginfo->fix_root; fixP ; fixP = fixP->fx_next)
|
||||
+ for (i = xtensa_find_first_cached_fixup (&fixup_cache, searchaddr);
|
||||
+ i < fixup_cache.n_fixups; ++i)
|
||||
+
|
||||
{
|
||||
- symbolS *s = fixP->fx_addsy;
|
||||
- xtensa_opcode opcode;
|
||||
- int target;
|
||||
- int addr;
|
||||
- int delta;
|
||||
-
|
||||
- if (fixP->fx_r_type < BFD_RELOC_XTENSA_SLOT0_OP ||
|
||||
- fixP->fx_r_type > BFD_RELOC_XTENSA_SLOT14_OP)
|
||||
- continue;
|
||||
- xtensa_insnbuf_from_chars (isa, trampoline_buf,
|
||||
- (unsigned char *) fixP->fx_frag->fr_literal + fixP->fx_where,
|
||||
- 0);
|
||||
- fmt = xtensa_format_decode (isa, trampoline_buf);
|
||||
- gas_assert (fmt != XTENSA_UNDEFINED);
|
||||
- slot = fixP->tc_fix_data.slot;
|
||||
- xtensa_format_get_slot (isa, fmt, slot, trampoline_buf, trampoline_slotbuf);
|
||||
- opcode = xtensa_opcode_decode (isa, fmt, slot, trampoline_slotbuf);
|
||||
- if (opcode != xtensa_j_opcode)
|
||||
+ fixS *fixP = fixup_cache.fixups[i].fixP;
|
||||
+ int target = fixup_cache.fixups[i].target;
|
||||
+ int addr = fixup_cache.fixups[i].addr;
|
||||
+ int delta = fixup_cache.fixups[i].delta + stretch;
|
||||
+
|
||||
+ trampaddr = fragP->fr_address + fragP->fr_fix;
|
||||
+
|
||||
+ if (addr + J_RANGE < trampaddr)
|
||||
continue;
|
||||
- target = S_GET_VALUE (s);
|
||||
- addr = fixP->fx_frag->fr_address;
|
||||
- delta = target - addr + stretch;
|
||||
+ if (addr > trampaddr + J_RANGE)
|
||||
+ break;
|
||||
+ if (abs (delta) < J_RANGE)
|
||||
+ continue;
|
||||
+
|
||||
+ slot = fixP->tc_fix_data.slot;
|
||||
+
|
||||
if (delta > J_RANGE || delta < -1 * J_RANGE)
|
||||
{ /* Found an out-of-range jump; scan the list of trampolines for the best match. */
|
||||
struct trampoline_seg *ts = find_trampoline_seg (now_seg);
|
||||
@@ -8978,14 +9133,13 @@ xtensa_relax_frag (fragS *fragP, long stretch, int *stretched_p)
|
||||
}
|
||||
if (tf->fragP == fragP)
|
||||
{
|
||||
- int trampaddr = fragP->fr_address + fragP->fr_fix;
|
||||
-
|
||||
if (abs (addr - trampaddr) < J_RANGE)
|
||||
{ /* The trampoline is in range of original; fix it! */
|
||||
fixS *newfixP;
|
||||
int offset;
|
||||
TInsn insn;
|
||||
symbolS *lsym;
|
||||
+ fragS *fP; /* The out-of-range jump. */
|
||||
|
||||
new_stretch += init_trampoline_frag (tf);
|
||||
offset = fragP->fr_fix; /* Where to assemble the j insn. */
|
||||
@@ -9009,10 +9163,20 @@ xtensa_relax_frag (fragS *fragP, long stretch, int *stretched_p)
|
||||
newfixP->tc_fix_data.X_add_symbol = lsym;
|
||||
newfixP->tc_fix_data.X_add_number = offset;
|
||||
newfixP->tc_fix_data.slot = slot;
|
||||
+
|
||||
+ xtensa_delete_cached_fixup (&fixup_cache, i);
|
||||
+ xtensa_add_cached_fixup (&fixup_cache, newfixP);
|
||||
+
|
||||
/* Move the fix-up from the original j insn to this one. */
|
||||
fixP->fx_frag = fragP;
|
||||
fixP->fx_where = fragP->fr_fix - 3;
|
||||
fixP->tc_fix_data.slot = 0;
|
||||
+
|
||||
+ xtensa_add_cached_fixup (&fixup_cache, fixP);
|
||||
+
|
||||
+ /* re-do current fixup */
|
||||
+ --i;
|
||||
+
|
||||
/* Adjust the jump around this trampoline (if present). */
|
||||
if (tf->fixP != NULL)
|
||||
{
|
||||
@@ -9027,6 +9191,8 @@ xtensa_relax_frag (fragS *fragP, long stretch, int *stretched_p)
|
||||
fragP->fr_subtype = 0;
|
||||
/* Remove from the trampoline_list. */
|
||||
prev->next = tf->next;
|
||||
+ if (fragP == fixup_cache.first_frag)
|
||||
+ fixup_cache.first_frag = NULL;
|
||||
break;
|
||||
}
|
||||
}
|
||||
--
|
||||
1.8.1.4
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
From 8ec76b16f62d1bf386fb2c39af5f66c3afddc5cb Mon Sep 17 00:00:00 2001
|
||||
From: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Date: Thu, 14 May 2015 05:22:55 +0300
|
||||
Subject: [PATCH] xtensa: fix localized symbol refcounting with --gc-sections
|
||||
|
||||
elf_xtensa_gc_sweep_hook doesn't correctly unreference symbols that were
|
||||
made local, that results in link failure with the following message:
|
||||
|
||||
BFD (GNU Binutils) 2.24 internal error, aborting at elf32-xtensa.c line
|
||||
3372 in elf_xtensa_finish_dynamic_sections
|
||||
|
||||
elf_xtensa_gc_sweep_hook determines symbol reference type (PLT or GOT) by
|
||||
relocation type. Relocation types are not changed when symbol becomes
|
||||
local, but its PLT references are added to GOT references and
|
||||
plt.refcount is set to 0. Such symbol cannot be unreferences in the
|
||||
elf_xtensa_gc_sweep_hook and its extra references make calculated GOT
|
||||
relocations section size not match number of GOT relocations.
|
||||
|
||||
Fix it by treating PLT reference as GOT reference when plt.refcount is
|
||||
not positive.
|
||||
|
||||
2015-05-14 Max Filippov <jcmvbkbc@gmail.com>
|
||||
bfd/
|
||||
* elf32-xtensa.c (elf_xtensa_gc_sweep_hook): Treat PLT reference
|
||||
as GOT reference when plt.refcount is not positive.
|
||||
|
||||
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
||||
---
|
||||
Backported from: e6c9a083ec5ae7a45bd71682b26aae1939849388
|
||||
Changes to ChangeLog are dropped.
|
||||
|
||||
bfd/elf32-xtensa.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/bfd/elf32-xtensa.c b/bfd/elf32-xtensa.c
|
||||
index 53af1c6..2523670 100644
|
||||
--- a/bfd/elf32-xtensa.c
|
||||
+++ b/bfd/elf32-xtensa.c
|
||||
@@ -1360,10 +1360,14 @@ elf_xtensa_gc_sweep_hook (bfd *abfd,
|
||||
{
|
||||
if (is_plt)
|
||||
{
|
||||
+ /* If the symbol has been localized its plt.refcount got moved
|
||||
+ to got.refcount. Handle it as GOT. */
|
||||
if (h->plt.refcount > 0)
|
||||
h->plt.refcount--;
|
||||
+ else
|
||||
+ is_got = TRUE;
|
||||
}
|
||||
- else if (is_got)
|
||||
+ if (is_got)
|
||||
{
|
||||
if (h->got.refcount > 0)
|
||||
h->got.refcount--;
|
||||
--
|
||||
1.8.1.4
|
||||
|
||||
236
package/binutils/arc-2014.12/0001-PR-other-56780.patch
Normal file
236
package/binutils/arc-2014.12/0001-PR-other-56780.patch
Normal file
@@ -0,0 +1,236 @@
|
||||
From 7827cdf59a1894abe18aa20043a63c8c875c3fce Mon Sep 17 00:00:00 2001
|
||||
From: DJ Delorie <dj@redhat.com>
|
||||
Date: Sat, 1 Jun 2013 01:01:44 +0000
|
||||
Subject: [PATCH] PR other/56780 merge from gcc
|
||||
|
||||
binutils-gdb upstream a4818a052efb4cea976a03a2f7cb0b38b23d12d0
|
||||
|
||||
libiberty: fix --enable-install-libiberty flag [PR 56780]
|
||||
|
||||
Commit 199570 fixed the --disable-install-libiberty behavior, but it also
|
||||
added a bug where the enable path never works because the initial clear
|
||||
of target_header_dir wasn't deleted. So we end up initializing properly
|
||||
at the top only to reset it at the end all the time.
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206367 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
|
||||
[Romain
|
||||
rename patch name
|
||||
squash the two upstream commits
|
||||
Remove the ChangeLog]
|
||||
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
|
||||
---
|
||||
libiberty/Makefile.in | 24 ++++++++++-----------
|
||||
libiberty/configure | 57 +++++++++++++++++++++++++++-----------------------
|
||||
libiberty/configure.ac | 47 ++++++++++++++++++++++-------------------
|
||||
3 files changed, 68 insertions(+), 60 deletions(-)
|
||||
|
||||
diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
|
||||
index 0a5da31..4f40c72 100644
|
||||
--- a/libiberty/Makefile.in
|
||||
+++ b/libiberty/Makefile.in
|
||||
@@ -354,19 +354,19 @@ install-strip: install
|
||||
# since it will be passed the multilib flags.
|
||||
MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory`
|
||||
install_to_libdir: all
|
||||
- ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR)
|
||||
- $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n
|
||||
- ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n )
|
||||
- mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)
|
||||
if test -n "${target_header_dir}"; then \
|
||||
- case "${target_header_dir}" in \
|
||||
- /*) thd=${target_header_dir};; \
|
||||
- *) thd=${includedir}/${target_header_dir};; \
|
||||
- esac; \
|
||||
- ${mkinstalldirs} $(DESTDIR)$${thd}; \
|
||||
- for h in ${INSTALLED_HEADERS}; do \
|
||||
- ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \
|
||||
- done; \
|
||||
+ ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \
|
||||
+ $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n; \
|
||||
+ ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ); \
|
||||
+ mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB); \
|
||||
+ case "${target_header_dir}" in \
|
||||
+ /*) thd=${target_header_dir};; \
|
||||
+ *) thd=${includedir}/${target_header_dir};; \
|
||||
+ esac; \
|
||||
+ ${mkinstalldirs} $(DESTDIR)$${thd}; \
|
||||
+ for h in ${INSTALLED_HEADERS}; do \
|
||||
+ ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \
|
||||
+ done; \
|
||||
fi
|
||||
@$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install
|
||||
|
||||
diff --git a/libiberty/configure b/libiberty/configure
|
||||
index 6e98352..44d1f78 100755
|
||||
--- a/libiberty/configure
|
||||
+++ b/libiberty/configure
|
||||
@@ -675,8 +675,8 @@ with_cross_host
|
||||
with_newlib
|
||||
enable_maintainer_mode
|
||||
enable_multilib
|
||||
-enable_largefile
|
||||
enable_install_libiberty
|
||||
+enable_largefile
|
||||
'
|
||||
ac_precious_vars='build_alias
|
||||
host_alias
|
||||
@@ -1303,8 +1303,8 @@ Optional Features:
|
||||
enable make rules and dependencies not useful
|
||||
(and sometimes confusing) to the casual installer
|
||||
--enable-multilib build many library versions (default)
|
||||
+ --enable-install-libiberty Install headers and library for end users
|
||||
--disable-largefile omit support for large files
|
||||
- --enable-install-libiberty Install headers for end users
|
||||
|
||||
Optional Packages:
|
||||
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
||||
@@ -2784,6 +2784,35 @@ if test $cross_compiling = no && test $multilib = yes \
|
||||
cross_compiling=maybe
|
||||
fi
|
||||
|
||||
+# We may wish to install the target headers somewhere.
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to install libiberty headers and static library" >&5
|
||||
+$as_echo_n "checking whether to install libiberty headers and static library... " >&6; }
|
||||
+
|
||||
+# Check whether --enable-install-libiberty was given.
|
||||
+if test "${enable_install_libiberty+set}" = set; then :
|
||||
+ enableval=$enable_install_libiberty; enable_install_libiberty=$enableval
|
||||
+else
|
||||
+ enable_install_libiberty=no
|
||||
+fi
|
||||
+
|
||||
+# Option parsed, now set things appropriately.
|
||||
+case x"$enable_install_libiberty" in
|
||||
+ xyes|x)
|
||||
+ target_header_dir=libiberty
|
||||
+ ;;
|
||||
+ xno)
|
||||
+ target_header_dir=
|
||||
+ ;;
|
||||
+ *)
|
||||
+ # This could be sanity-checked in various ways...
|
||||
+ target_header_dir="${enable_install_libiberty}"
|
||||
+ ;;
|
||||
+esac
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_install_libiberty" >&5
|
||||
+$as_echo "$enable_install_libiberty" >&6; }
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: target_header_dir = $target_header_dir" >&5
|
||||
+$as_echo "$as_me: target_header_dir = $target_header_dir" >&6;}
|
||||
+
|
||||
|
||||
ac_ext=c
|
||||
ac_cpp='$CPP $CPPFLAGS'
|
||||
@@ -5475,7 +5504,6 @@ fi
|
||||
|
||||
setobjs=
|
||||
CHECK=
|
||||
-target_header_dir=
|
||||
if test -n "${with_target_subdir}"; then
|
||||
|
||||
# We are being configured as a target library. AC_REPLACE_FUNCS
|
||||
@@ -5752,29 +5780,6 @@ _ACEOF
|
||||
|
||||
esac
|
||||
|
||||
- # We may wish to install the target headers somewhere.
|
||||
- # Check whether --enable-install-libiberty was given.
|
||||
-if test "${enable_install_libiberty+set}" = set; then :
|
||||
- enableval=$enable_install_libiberty; enable_install_libiberty=$enableval
|
||||
-else
|
||||
- enable_install_libiberty=no
|
||||
-fi
|
||||
-
|
||||
- # Option parsed, now set things appropriately.
|
||||
- case x"$enable_install_libiberty" in
|
||||
- xyes|x)
|
||||
- target_header_dir=libiberty
|
||||
- ;;
|
||||
- xno)
|
||||
- target_header_dir=
|
||||
- ;;
|
||||
- *)
|
||||
- # This could be sanity-checked in various ways...
|
||||
- target_header_dir="${enable_install_libiberty}"
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
else
|
||||
|
||||
# Not a target library, so we set things up to run the test suite.
|
||||
diff --git a/libiberty/configure.ac b/libiberty/configure.ac
|
||||
index 754b66a..04260ec 100644
|
||||
--- a/libiberty/configure.ac
|
||||
+++ b/libiberty/configure.ac
|
||||
@@ -128,6 +128,31 @@ if test $cross_compiling = no && test $multilib = yes \
|
||||
cross_compiling=maybe
|
||||
fi
|
||||
|
||||
+# We may wish to install the target headers somewhere.
|
||||
+AC_MSG_CHECKING([whether to install libiberty headers and static library])
|
||||
+dnl install-libiberty is disabled by default
|
||||
+
|
||||
+AC_ARG_ENABLE(install-libiberty,
|
||||
+[ --enable-install-libiberty Install headers and library for end users],
|
||||
+enable_install_libiberty=$enableval,
|
||||
+enable_install_libiberty=no)dnl
|
||||
+
|
||||
+# Option parsed, now set things appropriately.
|
||||
+case x"$enable_install_libiberty" in
|
||||
+ xyes|x)
|
||||
+ target_header_dir=libiberty
|
||||
+ ;;
|
||||
+ xno)
|
||||
+ target_header_dir=
|
||||
+ ;;
|
||||
+ *)
|
||||
+ # This could be sanity-checked in various ways...
|
||||
+ target_header_dir="${enable_install_libiberty}"
|
||||
+ ;;
|
||||
+esac
|
||||
+AC_MSG_RESULT($enable_install_libiberty)
|
||||
+AC_MSG_NOTICE([target_header_dir = $target_header_dir])
|
||||
+
|
||||
GCC_NO_EXECUTABLES
|
||||
AC_PROG_CC
|
||||
AC_SYS_LARGEFILE
|
||||
@@ -379,7 +404,6 @@ fi
|
||||
|
||||
setobjs=
|
||||
CHECK=
|
||||
-target_header_dir=
|
||||
if test -n "${with_target_subdir}"; then
|
||||
|
||||
# We are being configured as a target library. AC_REPLACE_FUNCS
|
||||
@@ -490,27 +514,6 @@ if test -n "${with_target_subdir}"; then
|
||||
|
||||
esac
|
||||
|
||||
- # We may wish to install the target headers somewhere.
|
||||
- AC_ARG_ENABLE(install-libiberty,
|
||||
- [ --enable-install-libiberty Install headers for end users],
|
||||
- enable_install_libiberty=$enableval,
|
||||
- enable_install_libiberty=no)dnl
|
||||
-
|
||||
- # Option parsed, now set things appropriately.
|
||||
- case x"$enable_install_libiberty" in
|
||||
- xyes|x)
|
||||
- target_header_dir=libiberty
|
||||
- ;;
|
||||
- xno)
|
||||
- target_header_dir=
|
||||
- ;;
|
||||
- *)
|
||||
- # This could be sanity-checked in various ways...
|
||||
- target_header_dir="${enable_install_libiberty}"
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
else
|
||||
|
||||
# Not a target library, so we set things up to run the test suite.
|
||||
--
|
||||
1.9.3
|
||||
|
||||
@@ -1,9 +1,15 @@
|
||||
comment "boost needs a toolchain w/ C++, threads"
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
|
||||
|
||||
config BR2_PACKAGE_BOOST_ARCH_SUPPORTS
|
||||
bool
|
||||
default y if !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405 && \
|
||||
!BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201305
|
||||
|
||||
config BR2_PACKAGE_BOOST
|
||||
bool "boost"
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
|
||||
# Boost could theorically be built with threading=single, but
|
||||
# that unfortunately doesn't work. Until someone fixes that,
|
||||
# let's depend on threads.
|
||||
@@ -93,9 +99,13 @@ comment "boost-locale needs a toolchain w/ wchar"
|
||||
config BR2_PACKAGE_BOOST_LOG
|
||||
bool "boost-log"
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
||||
# for some reason, uClibc on PowerPC fails to build the boost
|
||||
# log module
|
||||
depends on !(BR2_powerpc && BR2_TOOLCHAIN_USES_UCLIBC)
|
||||
|
||||
comment "boost-log needs a toolchain w/ NPTL"
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
||||
depends on !(BR2_powerpc && BR2_TOOLCHAIN_USES_UCLIBC)
|
||||
|
||||
config BR2_PACKAGE_BOOST_MATH
|
||||
bool "boost-math"
|
||||
|
||||
@@ -148,7 +148,7 @@ define HOST_BOOST_INSTALL_CMDS
|
||||
endef
|
||||
|
||||
define BOOST_INSTALL_STAGING_CMDS
|
||||
(cd $(@D) && ./bjam -j$(PARALLEL_JOBS) -d+1 \
|
||||
(cd $(@D) && ./bjam -j$(PARALLEL_JOBS) -q -d+1 \
|
||||
--user-config=$(@D)/user-config.jam \
|
||||
$(BOOST_OPTS) \
|
||||
--prefix=$(STAGING_DIR)/usr \
|
||||
|
||||
16
package/c-periphery/Config.in
Normal file
16
package/c-periphery/Config.in
Normal file
@@ -0,0 +1,16 @@
|
||||
config BR2_PACKAGE_C_PERIPHERY
|
||||
bool "c-periphery"
|
||||
help
|
||||
c-periphery is a set of C wrapper functions for GPIO, SPI,
|
||||
I2C, MMIO, and Serial peripheral I/O interface access in
|
||||
userspace Linux. The c-periphery wrappers simplify and
|
||||
consolidate the native Linux APIs to these
|
||||
interfaces. c-periphery is useful in embedded Linux
|
||||
environments (including BeagleBone, Raspberry Pi,
|
||||
etc. platforms) for interfacing with external
|
||||
peripherals. c-periphery is re-entrant, uses static
|
||||
allocations, has no dependencies outside the standard C
|
||||
library and Linux, compiles into a static library for easy
|
||||
integration with other projects, and is MIT licensed.
|
||||
|
||||
https://github.com/vsergeev/c-periphery
|
||||
27
package/c-periphery/c-periphery.mk
Normal file
27
package/c-periphery/c-periphery.mk
Normal file
@@ -0,0 +1,27 @@
|
||||
################################################################################
|
||||
#
|
||||
# c-periphery
|
||||
#
|
||||
################################################################################
|
||||
|
||||
C_PERIPHERY_VERSION = 0fdfac3264f1dce32991f4ec30d084e34b35181d
|
||||
C_PERIPHERY_SITE = $(call github,vsergeev,c-periphery,$(C_PERIPHERY_VERSION))
|
||||
C_PERIPHERY_INSTALL_STAGING = YES
|
||||
# only a static library
|
||||
C_PERIPHERY_INSTALL_TARGET = NO
|
||||
C_PERIPHERY_LICENSE = MIT
|
||||
C_PERIPHERY_LICENSE_FILES = LICENSE
|
||||
|
||||
define C_PERIPHERY_BUILD_CMDS
|
||||
$(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)
|
||||
endef
|
||||
|
||||
# There is no 'install' rule in the Makefile, so we handle things
|
||||
# manually.
|
||||
define C_PERIPHERY_INSTALL_STAGING_CMDS
|
||||
$(INSTALL) -D -m 0644 $(@D)/periphery.a $(STAGING_DIR)/usr/lib/libc-periphery.a
|
||||
mkdir -p $(STAGING_DIR)/usr/include/c-periphery/
|
||||
cp -dpfr $(@D)/src/*.h $(STAGING_DIR)/usr/include/c-periphery/
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
@@ -2,6 +2,7 @@ config BR2_PACKAGE_CC_TOOL
|
||||
bool "cc-tool"
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
|
||||
select BR2_PACKAGE_LIBUSB
|
||||
select BR2_PACKAGE_BOOST
|
||||
select BR2_PACKAGE_BOOST_PROGRAM_OPTIONS
|
||||
@@ -17,4 +18,5 @@ config BR2_PACKAGE_CC_TOOL
|
||||
http://sourceforge.net/projects/cctool/
|
||||
|
||||
comment "cc-tool needs a toolchain w/ C++, threads"
|
||||
depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
|
||||
|
||||
@@ -14,4 +14,10 @@ CC_TOOL_DEPENDENCIES = boost libusb
|
||||
# Configure script "discovers" boost in /usr/local if not given explicitly
|
||||
CC_TOOL_CONF_OPTS = --with-boost=$(STAGING_DIR)/usr
|
||||
|
||||
# Help boost.m4 find the Boost Regex library, which needs the pthread
|
||||
# library, but isn't detected using a modern (pkg-config) mechanism.
|
||||
ifeq ($(BR2_STATIC_LIBS),y)
|
||||
CC_TOOL_CONF_ENV += LIBS="-lpthread"
|
||||
endif
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
@@ -52,6 +52,7 @@ config BR2_PACKAGE_CONNMAN_NEARD
|
||||
|
||||
config BR2_PACKAGE_CONNMAN_OFONO
|
||||
bool "enable ofono support"
|
||||
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405 # libcap-ng
|
||||
select BR2_PACKAGE_OFONO
|
||||
|
||||
config BR2_PACKAGE_CONNMAN_DEBUG
|
||||
|
||||
@@ -8,6 +8,9 @@ config BR2_PACKAGE_CRYPTSETUP
|
||||
depends on BR2_USE_MMU # lvm2, e2fsprogs
|
||||
depends on !BR2_STATIC_LIBS # lvm2
|
||||
depends on BR2_USE_WCHAR # util-linux
|
||||
# Triggers the _gp link issue
|
||||
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201305
|
||||
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405
|
||||
help
|
||||
This tool helps manipulate dm-crypt and luks partitions for
|
||||
on-disk encryption.
|
||||
@@ -17,3 +20,5 @@ config BR2_PACKAGE_CRYPTSETUP
|
||||
comment "cryptsetup needs a toolchain w/ wchar, threads, dynamic library"
|
||||
depends on BR2_USE_MMU
|
||||
depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201305
|
||||
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405
|
||||
|
||||
@@ -10,7 +10,7 @@ CZMQ_SITE = $(call github,zeromq,czmq,$(CZMQ_VERSION))
|
||||
# Autoreconf required as we use the git tree
|
||||
CZMQ_AUTORECONF = YES
|
||||
CZMQ_INSTALL_STAGING = YES
|
||||
CZMQ_DEPENDENCIES = zeromq
|
||||
CZMQ_DEPENDENCIES = zeromq host-pkgconf
|
||||
CZMQ_LICENSE = MPLv2.0
|
||||
CZMQ_LICENSE_FILES = LICENSE
|
||||
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
comment "dhcpcd needs a toolchain w/ headers >= 3.1"
|
||||
depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
|
||||
|
||||
config BR2_PACKAGE_DHCPCD
|
||||
bool "dhcpcd"
|
||||
# No support for AI_ADDRCONFIG
|
||||
depends on !BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX_2012R2
|
||||
# bad headers, no sa_family_t in linux/socket.h
|
||||
depends on !(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103 || BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009)
|
||||
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1 # sa_family_t in linux/socket.h
|
||||
help
|
||||
An RFC2131 compliant DHCP client
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ config BR2_PACKAGE_DSTAT
|
||||
depends on BR2_USE_WCHAR # python
|
||||
depends on BR2_USE_MMU # python
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # python
|
||||
depends on !BR2_STATIC_LIBS # python
|
||||
select BR2_PACKAGE_PYTHON
|
||||
help
|
||||
Dstat, written in Python, is a versatile replacement for vmstat,
|
||||
@@ -21,6 +22,6 @@ config BR2_PACKAGE_DSTAT
|
||||
|
||||
http://dag.wieers.com/home-made/dstat/
|
||||
|
||||
comment "dstat needs a toolchain w/ wchar, threads"
|
||||
comment "dstat needs a toolchain w/ wchar, threads, dynamic library"
|
||||
depends on BR2_USE_MMU
|
||||
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
|
||||
|
||||
@@ -6,6 +6,9 @@ config BR2_PACKAGE_DUMA
|
||||
# allocations. Non-MMU platforms cannot perform such
|
||||
# things.
|
||||
depends on BR2_USE_MMU
|
||||
# duma works using LD_PRELOAD, so it always needs to build a
|
||||
# shared library
|
||||
depends on !BR2_STATIC_LIBS
|
||||
help
|
||||
D.U.M.A. - Detect Unintended Memory Access. A fork of the
|
||||
Electric Fence library. Detects buffer overflow and
|
||||
@@ -20,6 +23,7 @@ config BR2_PACKAGE_DUMA_NO_LEAKDETECTION
|
||||
|
||||
endif # BR2_PACKAGE_DUMA
|
||||
|
||||
comment "duma needs a toolchain w/ C++, threads"
|
||||
comment "duma needs a toolchain w/ C++, threads, dynamic library"
|
||||
depends on BR2_USE_MMU
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
|
||||
BR2_STATIC_LIBS
|
||||
|
||||
@@ -12,5 +12,4 @@ config BR2_PACKAGE_EXPEDITE
|
||||
reproduce real world usage cases.
|
||||
|
||||
comment "expedite needs a toolchain w/ C++, threads"
|
||||
depends on !BR2_INSTALL_LIBSTDCPP
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
|
||||
|
||||
@@ -11,4 +11,10 @@ EXPEDITE_LICENSE_FILES = COPYING
|
||||
|
||||
EXPEDITE_DEPENDENCIES = libevas libeina libeet
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBEVAS_X11),y)
|
||||
EXPEDITE_CONF_OPTS += --with-x=$(STAGING_DIR) \
|
||||
--x-includes=$(STAGING_DIR)/usr/include \
|
||||
--x-libraries=$(STAGING_DIR)/usr/lib
|
||||
endif
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
@@ -34,6 +34,11 @@ ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC)$(BR2_powerpc)$(BR2_sparc),yy)
|
||||
ENLIGHTENMENT_CONF_ENV += ac_cv_header_sys_ptrace_h=no
|
||||
endif
|
||||
|
||||
# uClibc-ng has an old incomplete sys/ptrace.h for xtensa
|
||||
ifeq ($(BR2_UCLIBC_VERSION_NG)$(BR2_xtensa),yy)
|
||||
ENLIGHTENMENT_CONF_ENV += ac_cv_header_sys_ptrace_h=no
|
||||
endif
|
||||
|
||||
# alsa backend needs mixer support
|
||||
ifeq ($(BR2_PACKAGE_ALSA_LIB)$(BR2_PACKAGE_ALSA_LIB_MIXER),yy)
|
||||
ENLIGHTENMENT_DEPENDENCIES += alsa-lib
|
||||
|
||||
@@ -46,6 +46,8 @@ define EXIM_USE_DEFAULT_CONFIG_FILE
|
||||
$(call exim-config-change,PCRE_CONFIG,no)
|
||||
$(call exim-config-change,HAVE_ICONV,no)
|
||||
$(call exim-config-unset,EXIM_MONITOR)
|
||||
$(call exim-config-change,AUTH_PLAINTEXT,yes)
|
||||
$(call exim-config-change,AUTH_CRAM_MD5,yes)
|
||||
endef
|
||||
|
||||
ifeq ($(BR2_PACKAGE_DOVECOT),y)
|
||||
|
||||
@@ -10,4 +10,10 @@ FBTERM_LICENSE = GPLv2+
|
||||
FBTERM_LICENSE_FILES = COPYING
|
||||
FBTERM_DEPENDENCIES = fontconfig liberation
|
||||
|
||||
ifeq ($(BR2_STATIC_LIBS)$(BR2_TOOLCHAIN_HAS_THREADS),yy)
|
||||
# fontconfig uses pthreads if available, but fbterm forgets to link
|
||||
# with it breaking static builds
|
||||
FBTERM_CONF_ENV += LIBS='-lpthread'
|
||||
endif
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
95
package/freerdp/0003-dont-use-unavailable-c99-math.patch
Normal file
95
package/freerdp/0003-dont-use-unavailable-c99-math.patch
Normal file
@@ -0,0 +1,95 @@
|
||||
From c0d27019745184052bd428ba74a50de96053cea1 Mon Sep 17 00:00:00 2001
|
||||
From: Baruch Siach <baruch@tkos.co.il>
|
||||
Date: Sun, 3 May 2015 20:46:22 +0300
|
||||
Subject: [PATCH] Don't use unavailable C99 long double math functions
|
||||
|
||||
uClibc variants do not provide the C99 long double math functions like ceill,
|
||||
powl, etc.. For future compatibility use check_symbol_exists() to check
|
||||
whether these functions are available, and keep the result in
|
||||
HAVE_MATH_C99_LONG_DOUBLE. Use that instead of the fragile Cygwin version
|
||||
check in triodef.h.
|
||||
|
||||
Fixes build failures under uClibc(-ng) like:
|
||||
|
||||
../../libwinpr/utils/libwinpr-utils.so.0.1.0: undefined reference to `powl'
|
||||
../../libwinpr/utils/libwinpr-utils.so.0.1.0: undefined reference to `fmodl'
|
||||
../../libwinpr/utils/libwinpr-utils.so.0.1.0: undefined reference to `ceill'
|
||||
../../libwinpr/utils/libwinpr-utils.so.0.1.0: undefined reference to `log10l'
|
||||
../../libwinpr/utils/libwinpr-utils.so.0.1.0: undefined reference to `floorl'
|
||||
collect2: error: ld returned 1 exit status
|
||||
|
||||
Backported from upstream commit
|
||||
https://github.com/FreeRDP/FreeRDP/commit/414663cc363108cb71a290de1c86a1b04384fb39
|
||||
|
||||
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
|
||||
---
|
||||
CMakeLists.txt | 3 +++
|
||||
config.h.in | 1 +
|
||||
winpr/libwinpr/utils/trio/triodef.h | 25 ++++++-------------------
|
||||
3 files changed, 10 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 5b7887601aa0..177e44cfff10 100755
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -279,6 +279,9 @@ if(UNIX OR CYGWIN)
|
||||
if (HAVE_EVENTFD_H)
|
||||
check_symbol_exists(eventfd_read sys/eventfd.h WITH_EVENTFD_READ_WRITE)
|
||||
endif()
|
||||
+ list(APPEND CMAKE_REQUIRED_LIBRARIES m)
|
||||
+ check_symbol_exists(ceill math.h HAVE_MATH_C99_LONG_DOUBLE)
|
||||
+ list(REMOVE_ITEM CMAKE_REQUIRED_LIBRARIES m)
|
||||
set(X11_FEATURE_TYPE "RECOMMENDED")
|
||||
else()
|
||||
set(X11_FEATURE_TYPE "DISABLED")
|
||||
diff --git a/config.h.in b/config.h.in
|
||||
index 55c595d0e162..983310d5b9e6 100755
|
||||
--- a/config.h.in
|
||||
+++ b/config.h.in
|
||||
@@ -34,6 +34,7 @@
|
||||
#cmakedefine WITH_WIN8
|
||||
#cmakedefine WITH_RDPSND_DSOUND
|
||||
#cmakedefine WITH_EVENTFD_READ_WRITE
|
||||
+#cmakedefine HAVE_MATH_C99_LONG_DOUBLE
|
||||
|
||||
/* Plugins */
|
||||
#cmakedefine STATIC_CHANNELS
|
||||
diff --git a/winpr/libwinpr/utils/trio/triodef.h b/winpr/libwinpr/utils/trio/triodef.h
|
||||
index 11c14b9c42c7..2a0479526f33 100644
|
||||
--- a/winpr/libwinpr/utils/trio/triodef.h
|
||||
+++ b/winpr/libwinpr/utils/trio/triodef.h
|
||||
@@ -313,25 +313,12 @@ typedef void * trio_pointer_t;
|
||||
# define TRIO_COMPILER_SUPPORTS_LL
|
||||
#endif
|
||||
|
||||
-#if defined(__CYGWIN__)
|
||||
-/*
|
||||
- * Cygwin defines the macros for hosted C99, but does not support certain
|
||||
- * long double math functions.
|
||||
- */
|
||||
-# include <cygwin/version.h>
|
||||
-# define TRIO_CYGWIN_VERSION_API CYGWIN_VERSION_API_MAJOR * 1000 + \
|
||||
- CYGWIN_VERSION_API_MINOR
|
||||
-/*
|
||||
- * Please change the version number below when the Cygwin API supports
|
||||
- * long double math functions (powl, fmodl, etc.)
|
||||
- */
|
||||
-# if TRIO_CYGWIN_VERSION_API < 99999999
|
||||
-# define TRIO_NO_FLOORL 1
|
||||
-# define TRIO_NO_CEILL 1
|
||||
-# define TRIO_NO_POWL 1
|
||||
-# define TRIO_NO_FMODL 1
|
||||
-# define TRIO_NO_LOG10L 1
|
||||
-# endif
|
||||
+#if !defined(HAVE_MATH_C99_LONG_DOUBLE)
|
||||
+# define TRIO_NO_FLOORL 1
|
||||
+# define TRIO_NO_CEILL 1
|
||||
+# define TRIO_NO_POWL 1
|
||||
+# define TRIO_NO_FMODL 1
|
||||
+# define TRIO_NO_LOG10L 1
|
||||
#endif
|
||||
|
||||
#endif /* TRIO_TRIODEF_H */
|
||||
--
|
||||
2.1.4
|
||||
|
||||
@@ -5,6 +5,8 @@ config BR2_PACKAGE_FREERDP
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
select BR2_PACKAGE_OPENSSL
|
||||
select BR2_PACKAGE_ZLIB
|
||||
select BR2_PACKAGE_GST_PLUGINS_BASE if BR2_PACKAGE_GSTREAMER
|
||||
select BR2_PACKAGE_GST_PLUGINS_BASE_PLUGIN_APP if BR2_PACKAGE_GSTREAMER
|
||||
help
|
||||
FreeRDP is a free implementation of the Remote Desktop
|
||||
Protocol (RDP), released under the Apache license
|
||||
|
||||
@@ -17,7 +17,8 @@ FREERDP_CONF_OPTS = -DWITH_MANPAGES=OFF -Wno-dev
|
||||
|
||||
ifeq ($(BR2_PACKAGE_GSTREAMER),y)
|
||||
FREERDP_CONF_OPTS += -DWITH_GSTREAMER=ON
|
||||
FREERDP_DEPENDENCIES += gstreamer
|
||||
# freerdp needs gstinterface and gstapp from gst-plugins-base
|
||||
FREERDP_DEPENDENCIES += gstreamer gst-plugins-base
|
||||
else
|
||||
FREERDP_CONF_OPTS += -DWITH_GSTREAMER=OFF
|
||||
endif
|
||||
|
||||
37
package/gcc/4.7.4/111-pr65730.patch
Normal file
37
package/gcc/4.7.4/111-pr65730.patch
Normal file
@@ -0,0 +1,37 @@
|
||||
From b9a7775674d91c7af8043a83211ffeaa576327d7 Mon Sep 17 00:00:00 2001
|
||||
From: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Date: Fri, 10 Apr 2015 17:46:30 +0300
|
||||
Subject: [PATCH] Fix PR target/65730
|
||||
|
||||
2015-05-20 Max Filippov <jcmvbkbc@gmail.com>
|
||||
gcc/
|
||||
* config/xtensa/xtensa.c (init_alignment_context): Replace MULT
|
||||
by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT).
|
||||
|
||||
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
||||
---
|
||||
Backported from: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223452
|
||||
Changes to ChangeLog are dropped.
|
||||
|
||||
gcc/config/xtensa/xtensa.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
|
||||
index eb039ba..7296e36 100644
|
||||
--- a/gcc/config/xtensa/xtensa.c
|
||||
+++ b/gcc/config/xtensa/xtensa.c
|
||||
@@ -1461,8 +1461,9 @@ init_alignment_context (struct alignment_context *ac, rtx mem)
|
||||
if (ac->shift != NULL_RTX)
|
||||
{
|
||||
/* Shift is the byte count, but we need the bitcount. */
|
||||
- ac->shift = expand_simple_binop (SImode, MULT, ac->shift,
|
||||
- GEN_INT (BITS_PER_UNIT),
|
||||
+ gcc_assert (exact_log2 (BITS_PER_UNIT) >= 0);
|
||||
+ ac->shift = expand_simple_binop (SImode, ASHIFT, ac->shift,
|
||||
+ GEN_INT (exact_log2 (BITS_PER_UNIT)),
|
||||
NULL_RTX, 1, OPTAB_DIRECT);
|
||||
ac->modemask = expand_simple_binop (SImode, ASHIFT,
|
||||
GEN_INT (GET_MODE_MASK (mode)),
|
||||
--
|
||||
1.8.1.4
|
||||
|
||||
37
package/gcc/4.8.4/111-pr65730.patch
Normal file
37
package/gcc/4.8.4/111-pr65730.patch
Normal file
@@ -0,0 +1,37 @@
|
||||
From b9a7775674d91c7af8043a83211ffeaa576327d7 Mon Sep 17 00:00:00 2001
|
||||
From: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Date: Fri, 10 Apr 2015 17:46:30 +0300
|
||||
Subject: [PATCH] Fix PR target/65730
|
||||
|
||||
2015-05-20 Max Filippov <jcmvbkbc@gmail.com>
|
||||
gcc/
|
||||
* config/xtensa/xtensa.c (init_alignment_context): Replace MULT
|
||||
by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT).
|
||||
|
||||
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
||||
---
|
||||
Backported from: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223452
|
||||
Changes to ChangeLog are dropped.
|
||||
|
||||
gcc/config/xtensa/xtensa.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
|
||||
index eb039ba..7296e36 100644
|
||||
--- a/gcc/config/xtensa/xtensa.c
|
||||
+++ b/gcc/config/xtensa/xtensa.c
|
||||
@@ -1461,8 +1461,9 @@ init_alignment_context (struct alignment_context *ac, rtx mem)
|
||||
if (ac->shift != NULL_RTX)
|
||||
{
|
||||
/* Shift is the byte count, but we need the bitcount. */
|
||||
- ac->shift = expand_simple_binop (SImode, MULT, ac->shift,
|
||||
- GEN_INT (BITS_PER_UNIT),
|
||||
+ gcc_assert (exact_log2 (BITS_PER_UNIT) >= 0);
|
||||
+ ac->shift = expand_simple_binop (SImode, ASHIFT, ac->shift,
|
||||
+ GEN_INT (exact_log2 (BITS_PER_UNIT)),
|
||||
NULL_RTX, 1, OPTAB_DIRECT);
|
||||
ac->modemask = expand_simple_binop (SImode, ASHIFT,
|
||||
GEN_INT (GET_MODE_MASK (mode)),
|
||||
--
|
||||
1.8.1.4
|
||||
|
||||
244
package/gcc/4.8.4/851-PR-other-56780.patch
Normal file
244
package/gcc/4.8.4/851-PR-other-56780.patch
Normal file
@@ -0,0 +1,244 @@
|
||||
From afe990251bd9b3a063f03da31a3b8d139d033bc3 Mon Sep 17 00:00:00 2001
|
||||
From: ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||
Date: Sat, 1 Jun 2013 00:20:49 +0000
|
||||
Subject: [PATCH] PR other/56780
|
||||
|
||||
* libiberty/configure.ac: Move test for --enable-install-libiberty
|
||||
outside of the 'with_target_subdir' test so that it actually gets
|
||||
run. Add output messages to show the test result.
|
||||
* libiberty/configure: Regenerate.
|
||||
* libiberty/Makefile.in (install_to_libdir): Place the
|
||||
installation of the libiberty library in the same guard as that
|
||||
used for the headers to prevent it being installed unless
|
||||
requested via --enable-install-libiberty.
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199570 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
|
||||
libiberty: fix --enable-install-libiberty flag [PR 56780]
|
||||
|
||||
Commit 199570 fixed the --disable-install-libiberty behavior, but it also
|
||||
added a bug where the enable path never works because the initial clear
|
||||
of target_header_dir wasn't deleted. So we end up initializing properly
|
||||
at the top only to reset it at the end all the time.
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206367 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
|
||||
[Romain
|
||||
squash the two upstream commits
|
||||
Remove the ChangeLog]
|
||||
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
|
||||
---
|
||||
libiberty/Makefile.in | 24 ++++++++++-----------
|
||||
libiberty/configure | 57 +++++++++++++++++++++++++++-----------------------
|
||||
libiberty/configure.ac | 47 ++++++++++++++++++++++-------------------
|
||||
3 files changed, 68 insertions(+), 60 deletions(-)
|
||||
|
||||
diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
|
||||
index f6a3ebd..75ff82d 100644
|
||||
--- a/libiberty/Makefile.in
|
||||
+++ b/libiberty/Makefile.in
|
||||
@@ -355,19 +355,19 @@ install-strip: install
|
||||
# since it will be passed the multilib flags.
|
||||
MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory`
|
||||
install_to_libdir: all
|
||||
- ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR)
|
||||
- $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n
|
||||
- ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n )
|
||||
- mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)
|
||||
if test -n "${target_header_dir}"; then \
|
||||
- case "${target_header_dir}" in \
|
||||
- /*) thd=${target_header_dir};; \
|
||||
- *) thd=${includedir}/${target_header_dir};; \
|
||||
- esac; \
|
||||
- ${mkinstalldirs} $(DESTDIR)$${thd}; \
|
||||
- for h in ${INSTALLED_HEADERS}; do \
|
||||
- ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \
|
||||
- done; \
|
||||
+ ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \
|
||||
+ $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n; \
|
||||
+ ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ); \
|
||||
+ mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB); \
|
||||
+ case "${target_header_dir}" in \
|
||||
+ /*) thd=${target_header_dir};; \
|
||||
+ *) thd=${includedir}/${target_header_dir};; \
|
||||
+ esac; \
|
||||
+ ${mkinstalldirs} $(DESTDIR)$${thd}; \
|
||||
+ for h in ${INSTALLED_HEADERS}; do \
|
||||
+ ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \
|
||||
+ done; \
|
||||
fi
|
||||
@$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install
|
||||
|
||||
diff --git a/libiberty/configure b/libiberty/configure
|
||||
index 5367027..4feb95a 100755
|
||||
--- a/libiberty/configure
|
||||
+++ b/libiberty/configure
|
||||
@@ -675,8 +675,8 @@ with_cross_host
|
||||
with_newlib
|
||||
enable_maintainer_mode
|
||||
enable_multilib
|
||||
-enable_largefile
|
||||
enable_install_libiberty
|
||||
+enable_largefile
|
||||
'
|
||||
ac_precious_vars='build_alias
|
||||
host_alias
|
||||
@@ -1303,8 +1303,8 @@ Optional Features:
|
||||
enable make rules and dependencies not useful
|
||||
(and sometimes confusing) to the casual installer
|
||||
--enable-multilib build many library versions (default)
|
||||
+ --enable-install-libiberty Install headers and library for end users
|
||||
--disable-largefile omit support for large files
|
||||
- --enable-install-libiberty Install headers for end users
|
||||
|
||||
Optional Packages:
|
||||
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
||||
@@ -2784,6 +2784,35 @@ if test $cross_compiling = no && test $multilib = yes \
|
||||
cross_compiling=maybe
|
||||
fi
|
||||
|
||||
+# We may wish to install the target headers somewhere.
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to install libiberty headers and static library" >&5
|
||||
+$as_echo_n "checking whether to install libiberty headers and static library... " >&6; }
|
||||
+
|
||||
+# Check whether --enable-install-libiberty was given.
|
||||
+if test "${enable_install_libiberty+set}" = set; then :
|
||||
+ enableval=$enable_install_libiberty; enable_install_libiberty=$enableval
|
||||
+else
|
||||
+ enable_install_libiberty=no
|
||||
+fi
|
||||
+
|
||||
+# Option parsed, now set things appropriately.
|
||||
+case x"$enable_install_libiberty" in
|
||||
+ xyes|x)
|
||||
+ target_header_dir=libiberty
|
||||
+ ;;
|
||||
+ xno)
|
||||
+ target_header_dir=
|
||||
+ ;;
|
||||
+ *)
|
||||
+ # This could be sanity-checked in various ways...
|
||||
+ target_header_dir="${enable_install_libiberty}"
|
||||
+ ;;
|
||||
+esac
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_install_libiberty" >&5
|
||||
+$as_echo "$enable_install_libiberty" >&6; }
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: target_header_dir = $target_header_dir" >&5
|
||||
+$as_echo "$as_me: target_header_dir = $target_header_dir" >&6;}
|
||||
+
|
||||
|
||||
ac_ext=c
|
||||
ac_cpp='$CPP $CPPFLAGS'
|
||||
@@ -5476,7 +5505,6 @@ fi
|
||||
|
||||
setobjs=
|
||||
CHECK=
|
||||
-target_header_dir=
|
||||
if test -n "${with_target_subdir}"; then
|
||||
|
||||
# We are being configured as a target library. AC_REPLACE_FUNCS
|
||||
@@ -5759,29 +5787,6 @@ _ACEOF
|
||||
|
||||
esac
|
||||
|
||||
- # We may wish to install the target headers somewhere.
|
||||
- # Check whether --enable-install-libiberty was given.
|
||||
-if test "${enable_install_libiberty+set}" = set; then :
|
||||
- enableval=$enable_install_libiberty; enable_install_libiberty=$enableval
|
||||
-else
|
||||
- enable_install_libiberty=no
|
||||
-fi
|
||||
-
|
||||
- # Option parsed, now set things appropriately.
|
||||
- case x"$enable_install_libiberty" in
|
||||
- xyes|x)
|
||||
- target_header_dir=libiberty
|
||||
- ;;
|
||||
- xno)
|
||||
- target_header_dir=
|
||||
- ;;
|
||||
- *)
|
||||
- # This could be sanity-checked in various ways...
|
||||
- target_header_dir="${enable_install_libiberty}"
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
else
|
||||
|
||||
# Not a target library, so we set things up to run the test suite.
|
||||
diff --git a/libiberty/configure.ac b/libiberty/configure.ac
|
||||
index c763894..f17e6b6 100644
|
||||
--- a/libiberty/configure.ac
|
||||
+++ b/libiberty/configure.ac
|
||||
@@ -128,6 +128,31 @@ if test $cross_compiling = no && test $multilib = yes \
|
||||
cross_compiling=maybe
|
||||
fi
|
||||
|
||||
+# We may wish to install the target headers somewhere.
|
||||
+AC_MSG_CHECKING([whether to install libiberty headers and static library])
|
||||
+dnl install-libiberty is disabled by default
|
||||
+
|
||||
+AC_ARG_ENABLE(install-libiberty,
|
||||
+[ --enable-install-libiberty Install headers and library for end users],
|
||||
+enable_install_libiberty=$enableval,
|
||||
+enable_install_libiberty=no)dnl
|
||||
+
|
||||
+# Option parsed, now set things appropriately.
|
||||
+case x"$enable_install_libiberty" in
|
||||
+ xyes|x)
|
||||
+ target_header_dir=libiberty
|
||||
+ ;;
|
||||
+ xno)
|
||||
+ target_header_dir=
|
||||
+ ;;
|
||||
+ *)
|
||||
+ # This could be sanity-checked in various ways...
|
||||
+ target_header_dir="${enable_install_libiberty}"
|
||||
+ ;;
|
||||
+esac
|
||||
+AC_MSG_RESULT($enable_install_libiberty)
|
||||
+AC_MSG_NOTICE([target_header_dir = $target_header_dir])
|
||||
+
|
||||
GCC_NO_EXECUTABLES
|
||||
AC_PROG_CC
|
||||
AC_SYS_LARGEFILE
|
||||
@@ -380,7 +405,6 @@ fi
|
||||
|
||||
setobjs=
|
||||
CHECK=
|
||||
-target_header_dir=
|
||||
if test -n "${with_target_subdir}"; then
|
||||
|
||||
# We are being configured as a target library. AC_REPLACE_FUNCS
|
||||
@@ -492,27 +516,6 @@ if test -n "${with_target_subdir}"; then
|
||||
|
||||
esac
|
||||
|
||||
- # We may wish to install the target headers somewhere.
|
||||
- AC_ARG_ENABLE(install-libiberty,
|
||||
- [ --enable-install-libiberty Install headers for end users],
|
||||
- enable_install_libiberty=$enableval,
|
||||
- enable_install_libiberty=no)dnl
|
||||
-
|
||||
- # Option parsed, now set things appropriately.
|
||||
- case x"$enable_install_libiberty" in
|
||||
- xyes|x)
|
||||
- target_header_dir=libiberty
|
||||
- ;;
|
||||
- xno)
|
||||
- target_header_dir=
|
||||
- ;;
|
||||
- *)
|
||||
- # This could be sanity-checked in various ways...
|
||||
- target_header_dir="${enable_install_libiberty}"
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
else
|
||||
|
||||
# Not a target library, so we set things up to run the test suite.
|
||||
--
|
||||
1.9.3
|
||||
|
||||
37
package/gcc/4.9.2/111-pr65730.patch
Normal file
37
package/gcc/4.9.2/111-pr65730.patch
Normal file
@@ -0,0 +1,37 @@
|
||||
From b9a7775674d91c7af8043a83211ffeaa576327d7 Mon Sep 17 00:00:00 2001
|
||||
From: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Date: Fri, 10 Apr 2015 17:46:30 +0300
|
||||
Subject: [PATCH] Fix PR target/65730
|
||||
|
||||
2015-05-20 Max Filippov <jcmvbkbc@gmail.com>
|
||||
gcc/
|
||||
* config/xtensa/xtensa.c (init_alignment_context): Replace MULT
|
||||
by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT).
|
||||
|
||||
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
||||
---
|
||||
Backported from: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223452
|
||||
Changes to ChangeLog are dropped.
|
||||
|
||||
gcc/config/xtensa/xtensa.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
|
||||
index eb039ba..7296e36 100644
|
||||
--- a/gcc/config/xtensa/xtensa.c
|
||||
+++ b/gcc/config/xtensa/xtensa.c
|
||||
@@ -1461,8 +1461,9 @@ init_alignment_context (struct alignment_context *ac, rtx mem)
|
||||
if (ac->shift != NULL_RTX)
|
||||
{
|
||||
/* Shift is the byte count, but we need the bitcount. */
|
||||
- ac->shift = expand_simple_binop (SImode, MULT, ac->shift,
|
||||
- GEN_INT (BITS_PER_UNIT),
|
||||
+ gcc_assert (exact_log2 (BITS_PER_UNIT) >= 0);
|
||||
+ ac->shift = expand_simple_binop (SImode, ASHIFT, ac->shift,
|
||||
+ GEN_INT (exact_log2 (BITS_PER_UNIT)),
|
||||
NULL_RTX, 1, OPTAB_DIRECT);
|
||||
ac->modemask = expand_simple_binop (SImode, ASHIFT,
|
||||
GEN_INT (GET_MODE_MASK (mode)),
|
||||
--
|
||||
1.8.1.4
|
||||
|
||||
244
package/gcc/arc-2014.12/851-PR-other-56780.patch
Normal file
244
package/gcc/arc-2014.12/851-PR-other-56780.patch
Normal file
@@ -0,0 +1,244 @@
|
||||
From afe990251bd9b3a063f03da31a3b8d139d033bc3 Mon Sep 17 00:00:00 2001
|
||||
From: ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
|
||||
Date: Sat, 1 Jun 2013 00:20:49 +0000
|
||||
Subject: [PATCH] PR other/56780
|
||||
|
||||
* libiberty/configure.ac: Move test for --enable-install-libiberty
|
||||
outside of the 'with_target_subdir' test so that it actually gets
|
||||
run. Add output messages to show the test result.
|
||||
* libiberty/configure: Regenerate.
|
||||
* libiberty/Makefile.in (install_to_libdir): Place the
|
||||
installation of the libiberty library in the same guard as that
|
||||
used for the headers to prevent it being installed unless
|
||||
requested via --enable-install-libiberty.
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199570 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
|
||||
libiberty: fix --enable-install-libiberty flag [PR 56780]
|
||||
|
||||
Commit 199570 fixed the --disable-install-libiberty behavior, but it also
|
||||
added a bug where the enable path never works because the initial clear
|
||||
of target_header_dir wasn't deleted. So we end up initializing properly
|
||||
at the top only to reset it at the end all the time.
|
||||
|
||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@206367 138bc75d-0d04-0410-961f-82ee72b054a4
|
||||
|
||||
[Romain
|
||||
squash the two upstream commits
|
||||
Remove the ChangeLog]
|
||||
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
|
||||
---
|
||||
libiberty/Makefile.in | 24 ++++++++++-----------
|
||||
libiberty/configure | 57 +++++++++++++++++++++++++++-----------------------
|
||||
libiberty/configure.ac | 47 ++++++++++++++++++++++-------------------
|
||||
3 files changed, 68 insertions(+), 60 deletions(-)
|
||||
|
||||
diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
|
||||
index f6a3ebd..75ff82d 100644
|
||||
--- a/libiberty/Makefile.in
|
||||
+++ b/libiberty/Makefile.in
|
||||
@@ -355,19 +355,19 @@ install-strip: install
|
||||
# since it will be passed the multilib flags.
|
||||
MULTIOSDIR = `$(CC) $(CFLAGS) -print-multi-os-directory`
|
||||
install_to_libdir: all
|
||||
- ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR)
|
||||
- $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n
|
||||
- ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n )
|
||||
- mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)
|
||||
if test -n "${target_header_dir}"; then \
|
||||
- case "${target_header_dir}" in \
|
||||
- /*) thd=${target_header_dir};; \
|
||||
- *) thd=${includedir}/${target_header_dir};; \
|
||||
- esac; \
|
||||
- ${mkinstalldirs} $(DESTDIR)$${thd}; \
|
||||
- for h in ${INSTALLED_HEADERS}; do \
|
||||
- ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \
|
||||
- done; \
|
||||
+ ${mkinstalldirs} $(DESTDIR)$(libdir)/$(MULTIOSDIR); \
|
||||
+ $(INSTALL_DATA) $(TARGETLIB) $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n; \
|
||||
+ ( cd $(DESTDIR)$(libdir)/$(MULTIOSDIR) ; chmod 644 $(TARGETLIB)n ;$(RANLIB) $(TARGETLIB)n ); \
|
||||
+ mv -f $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB)n $(DESTDIR)$(libdir)/$(MULTIOSDIR)/$(TARGETLIB); \
|
||||
+ case "${target_header_dir}" in \
|
||||
+ /*) thd=${target_header_dir};; \
|
||||
+ *) thd=${includedir}/${target_header_dir};; \
|
||||
+ esac; \
|
||||
+ ${mkinstalldirs} $(DESTDIR)$${thd}; \
|
||||
+ for h in ${INSTALLED_HEADERS}; do \
|
||||
+ ${INSTALL_DATA} $$h $(DESTDIR)$${thd}; \
|
||||
+ done; \
|
||||
fi
|
||||
@$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install
|
||||
|
||||
diff --git a/libiberty/configure b/libiberty/configure
|
||||
index 5367027..4feb95a 100755
|
||||
--- a/libiberty/configure
|
||||
+++ b/libiberty/configure
|
||||
@@ -675,8 +675,8 @@ with_cross_host
|
||||
with_newlib
|
||||
enable_maintainer_mode
|
||||
enable_multilib
|
||||
-enable_largefile
|
||||
enable_install_libiberty
|
||||
+enable_largefile
|
||||
'
|
||||
ac_precious_vars='build_alias
|
||||
host_alias
|
||||
@@ -1303,8 +1303,8 @@ Optional Features:
|
||||
enable make rules and dependencies not useful
|
||||
(and sometimes confusing) to the casual installer
|
||||
--enable-multilib build many library versions (default)
|
||||
+ --enable-install-libiberty Install headers and library for end users
|
||||
--disable-largefile omit support for large files
|
||||
- --enable-install-libiberty Install headers for end users
|
||||
|
||||
Optional Packages:
|
||||
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
|
||||
@@ -2784,6 +2784,35 @@ if test $cross_compiling = no && test $multilib = yes \
|
||||
cross_compiling=maybe
|
||||
fi
|
||||
|
||||
+# We may wish to install the target headers somewhere.
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to install libiberty headers and static library" >&5
|
||||
+$as_echo_n "checking whether to install libiberty headers and static library... " >&6; }
|
||||
+
|
||||
+# Check whether --enable-install-libiberty was given.
|
||||
+if test "${enable_install_libiberty+set}" = set; then :
|
||||
+ enableval=$enable_install_libiberty; enable_install_libiberty=$enableval
|
||||
+else
|
||||
+ enable_install_libiberty=no
|
||||
+fi
|
||||
+
|
||||
+# Option parsed, now set things appropriately.
|
||||
+case x"$enable_install_libiberty" in
|
||||
+ xyes|x)
|
||||
+ target_header_dir=libiberty
|
||||
+ ;;
|
||||
+ xno)
|
||||
+ target_header_dir=
|
||||
+ ;;
|
||||
+ *)
|
||||
+ # This could be sanity-checked in various ways...
|
||||
+ target_header_dir="${enable_install_libiberty}"
|
||||
+ ;;
|
||||
+esac
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_install_libiberty" >&5
|
||||
+$as_echo "$enable_install_libiberty" >&6; }
|
||||
+{ $as_echo "$as_me:${as_lineno-$LINENO}: target_header_dir = $target_header_dir" >&5
|
||||
+$as_echo "$as_me: target_header_dir = $target_header_dir" >&6;}
|
||||
+
|
||||
|
||||
ac_ext=c
|
||||
ac_cpp='$CPP $CPPFLAGS'
|
||||
@@ -5476,7 +5505,6 @@ fi
|
||||
|
||||
setobjs=
|
||||
CHECK=
|
||||
-target_header_dir=
|
||||
if test -n "${with_target_subdir}"; then
|
||||
|
||||
# We are being configured as a target library. AC_REPLACE_FUNCS
|
||||
@@ -5759,29 +5787,6 @@ _ACEOF
|
||||
|
||||
esac
|
||||
|
||||
- # We may wish to install the target headers somewhere.
|
||||
- # Check whether --enable-install-libiberty was given.
|
||||
-if test "${enable_install_libiberty+set}" = set; then :
|
||||
- enableval=$enable_install_libiberty; enable_install_libiberty=$enableval
|
||||
-else
|
||||
- enable_install_libiberty=no
|
||||
-fi
|
||||
-
|
||||
- # Option parsed, now set things appropriately.
|
||||
- case x"$enable_install_libiberty" in
|
||||
- xyes|x)
|
||||
- target_header_dir=libiberty
|
||||
- ;;
|
||||
- xno)
|
||||
- target_header_dir=
|
||||
- ;;
|
||||
- *)
|
||||
- # This could be sanity-checked in various ways...
|
||||
- target_header_dir="${enable_install_libiberty}"
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
else
|
||||
|
||||
# Not a target library, so we set things up to run the test suite.
|
||||
diff --git a/libiberty/configure.ac b/libiberty/configure.ac
|
||||
index c763894..f17e6b6 100644
|
||||
--- a/libiberty/configure.ac
|
||||
+++ b/libiberty/configure.ac
|
||||
@@ -128,6 +128,31 @@ if test $cross_compiling = no && test $multilib = yes \
|
||||
cross_compiling=maybe
|
||||
fi
|
||||
|
||||
+# We may wish to install the target headers somewhere.
|
||||
+AC_MSG_CHECKING([whether to install libiberty headers and static library])
|
||||
+dnl install-libiberty is disabled by default
|
||||
+
|
||||
+AC_ARG_ENABLE(install-libiberty,
|
||||
+[ --enable-install-libiberty Install headers and library for end users],
|
||||
+enable_install_libiberty=$enableval,
|
||||
+enable_install_libiberty=no)dnl
|
||||
+
|
||||
+# Option parsed, now set things appropriately.
|
||||
+case x"$enable_install_libiberty" in
|
||||
+ xyes|x)
|
||||
+ target_header_dir=libiberty
|
||||
+ ;;
|
||||
+ xno)
|
||||
+ target_header_dir=
|
||||
+ ;;
|
||||
+ *)
|
||||
+ # This could be sanity-checked in various ways...
|
||||
+ target_header_dir="${enable_install_libiberty}"
|
||||
+ ;;
|
||||
+esac
|
||||
+AC_MSG_RESULT($enable_install_libiberty)
|
||||
+AC_MSG_NOTICE([target_header_dir = $target_header_dir])
|
||||
+
|
||||
GCC_NO_EXECUTABLES
|
||||
AC_PROG_CC
|
||||
AC_SYS_LARGEFILE
|
||||
@@ -380,7 +405,6 @@ fi
|
||||
|
||||
setobjs=
|
||||
CHECK=
|
||||
-target_header_dir=
|
||||
if test -n "${with_target_subdir}"; then
|
||||
|
||||
# We are being configured as a target library. AC_REPLACE_FUNCS
|
||||
@@ -492,27 +516,6 @@ if test -n "${with_target_subdir}"; then
|
||||
|
||||
esac
|
||||
|
||||
- # We may wish to install the target headers somewhere.
|
||||
- AC_ARG_ENABLE(install-libiberty,
|
||||
- [ --enable-install-libiberty Install headers for end users],
|
||||
- enable_install_libiberty=$enableval,
|
||||
- enable_install_libiberty=no)dnl
|
||||
-
|
||||
- # Option parsed, now set things appropriately.
|
||||
- case x"$enable_install_libiberty" in
|
||||
- xyes|x)
|
||||
- target_header_dir=libiberty
|
||||
- ;;
|
||||
- xno)
|
||||
- target_header_dir=
|
||||
- ;;
|
||||
- *)
|
||||
- # This could be sanity-checked in various ways...
|
||||
- target_header_dir="${enable_install_libiberty}"
|
||||
- ;;
|
||||
- esac
|
||||
-
|
||||
-
|
||||
else
|
||||
|
||||
# Not a target library, so we set things up to run the test suite.
|
||||
--
|
||||
1.9.3
|
||||
|
||||
@@ -33,7 +33,9 @@ endif
|
||||
ifneq ($(BR2_PACKAGE_TIFF),y)
|
||||
GDK_PIXBUF_CONF_OPTS += --without-libtiff
|
||||
else
|
||||
GDK_PIXBUF_DEPENDENCIES += tiff
|
||||
GDK_PIXBUF_DEPENDENCIES += tiff host-pkgconf
|
||||
GDK_PIXBUF_CONF_ENV += \
|
||||
LIBS='$(shell $(PKG_CONFIG_HOST_BINARY) --libs libtiff-4)'
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_XLIB_LIBX11),y)
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
config BR2_PACKAGE_GIFLIB
|
||||
bool "giflib"
|
||||
help
|
||||
giflib is a library for reading and writing gif images. It is API and
|
||||
ABI compatible with libungif which was in wide use while the LZW
|
||||
compression algorithm was patented.
|
||||
giflib is a library for reading and writing gif images.
|
||||
|
||||
http://sourceforge.net/projects/giflib
|
||||
|
||||
47
package/gnuchess/0001-fix-static-build-with-uClibc.patch
Normal file
47
package/gnuchess/0001-fix-static-build-with-uClibc.patch
Normal file
@@ -0,0 +1,47 @@
|
||||
From 5bb2bc6384024c2344ef5cc6785131b382c38170 Mon Sep 17 00:00:00 2001
|
||||
From: Romain Naour <romain.naour@openwide.fr>
|
||||
Date: Sun, 10 May 2015 22:19:03 +0200
|
||||
Subject: [PATCH] fix static build with uClibc
|
||||
|
||||
uClibc doesn't provide lintl which should be provided
|
||||
by gettext. If gnuchess is linked statically, -lintl should
|
||||
be placed after libfrontend.a libadapter.a libengine.a.
|
||||
|
||||
Fixes:
|
||||
http://autobuild.buildroot.net/results/dcb/dcb1c0eb7212bd8d1e0d8b51fd517b73b7569cea/
|
||||
|
||||
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
|
||||
---
|
||||
src/Makefile.am | 2 +-
|
||||
src/Makefile.in | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/Makefile.am b/src/Makefile.am
|
||||
index ba90bce..fc02543 100644
|
||||
--- a/src/Makefile.am
|
||||
+++ b/src/Makefile.am
|
||||
@@ -34,7 +34,7 @@ DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
|
||||
DISTCLEANFILES = *~
|
||||
|
||||
SUBDIRS = frontend adapter engine
|
||||
-gnuchess_LDADD = $(LIBINTL) frontend/libfrontend.a adapter/libadapter.a engine/libengine.a
|
||||
+gnuchess_LDADD = frontend/libfrontend.a adapter/libadapter.a engine/libengine.a $(LIBINTL)
|
||||
|
||||
configmake.h: Makefile
|
||||
rm -f $@-t $@
|
||||
diff --git a/src/Makefile.in b/src/Makefile.in
|
||||
index 9460bfd..424da52 100644
|
||||
--- a/src/Makefile.in
|
||||
+++ b/src/Makefile.in
|
||||
@@ -395,7 +395,7 @@ AM_LDFLAGS = $(PTHREAD_LDFLAGS) $(PTHREAD_LIBS)
|
||||
AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_builddir)/lib
|
||||
DISTCLEANFILES = *~
|
||||
SUBDIRS = frontend adapter engine
|
||||
-gnuchess_LDADD = $(LIBINTL) frontend/libfrontend.a adapter/libadapter.a engine/libengine.a
|
||||
+gnuchess_LDADD = frontend/libfrontend.a adapter/libadapter.a engine/libengine.a $(LIBINTL)
|
||||
BUILT_SOURCES = configmake.h
|
||||
CLEANFILES = configmake.h configmake.h-t
|
||||
all: $(BUILT_SOURCES) config.h
|
||||
--
|
||||
1.9.3
|
||||
|
||||
@@ -3,6 +3,7 @@ config BR2_PACKAGE_GNUCHESS
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
select BR2_PACKAGE_FLEX
|
||||
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
|
||||
help
|
||||
GNU Chess lets most modern computers play a full game of chess.
|
||||
|
||||
|
||||
2
package/gnuchess/gnuchess.hash
Normal file
2
package/gnuchess/gnuchess.hash
Normal file
@@ -0,0 +1,2 @@
|
||||
# sha256 locally computed
|
||||
sha256 17caab725539447bcb17a14b17905242cbf287087e53a6777524feb7bbaeed06 gnuchess-6.2.1.tar.gz
|
||||
@@ -10,6 +10,7 @@ GNUCHESS_LICENSE = GPLv2+
|
||||
GNUCHESS_LICENSE_FILES = COPYING
|
||||
|
||||
GNUCHESS_DEPENDENCIES = host-flex flex
|
||||
GNUCHESS_DEPENDENCIES += $(if $(BR2_PACKAGE_READLINE),readline)
|
||||
GNUCHESS_DEPENDENCIES += $(if $(BR2_PACKAGE_READLINE),readline) \
|
||||
$(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext)
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
comment "gnuradio needs a toolchain w/ C++, NPTL, wchar, dynamic library"
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
|
||||
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || \
|
||||
!BR2_TOOLCHAIN_HAS_THREADS_NPTL || BR2_STATIC_LIBS
|
||||
|
||||
@@ -10,6 +11,7 @@ config BR2_PACKAGE_GNURADIO
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
||||
depends on BR2_USE_MMU # use fork()
|
||||
depends on BR2_USE_WCHAR # boost
|
||||
depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
|
||||
select BR2_PACKAGE_BOOST
|
||||
select BR2_PACKAGE_BOOST_DATE_TIME
|
||||
select BR2_PACKAGE_BOOST_FILESYSTEM
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
Include <asm/ptrace.h> to get necessary definitions on AArch64
|
||||
|
||||
In glibc commit
|
||||
https://sourceware.org/git/?p=glibc.git;a=commit;h=7d05a8168b45c0580e1f9a79c2dd26c8f0d31fca,
|
||||
including <asm/ptrace.h> from <sys/user.h> on AArch64 has been
|
||||
removed. So the Google Breakpad code, which used to build fine on
|
||||
glibc 2.18 (CodeSourcery toolchain for example), no longer builds with
|
||||
glibc 2.19 (Linaro toolchain for example).
|
||||
|
||||
To fix this, this patch adds the missing <asm/ptrace.h> include (for
|
||||
AArch64 only, to be conservative).
|
||||
|
||||
This patch has not been submitted upstream, since more recent versions
|
||||
of Google Breakpad have completely changed this part of the code.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: b/src/client/linux/minidump_writer/linux_dumper.h
|
||||
===================================================================
|
||||
--- a/src/client/linux/minidump_writer/linux_dumper.h
|
||||
+++ b/src/client/linux/minidump_writer/linux_dumper.h
|
||||
@@ -43,6 +43,9 @@
|
||||
#include <stdint.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/user.h>
|
||||
+#if defined(__aarch64__)
|
||||
+#include <asm/ptrace.h>
|
||||
+#endif
|
||||
|
||||
#include "common/memory.h"
|
||||
#include "google_breakpad/common/minidump_format.h"
|
||||
@@ -1,6 +1,6 @@
|
||||
comment "gpsd needs a toolchain w/ threads"
|
||||
comment "gpsd needs a toolchain w/ threads, dynamic library"
|
||||
depends on BR2_USE_MMU
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
|
||||
depends on !BR2_microblaze
|
||||
|
||||
config BR2_PACKAGE_GPSD
|
||||
@@ -8,6 +8,8 @@ config BR2_PACKAGE_GPSD
|
||||
# Uses fork()
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
# Always tries to build a shared library
|
||||
depends on !BR2_STATIC_LIBS
|
||||
# triggers gcc ice
|
||||
depends on !BR2_microblaze
|
||||
help
|
||||
|
||||
@@ -205,13 +205,14 @@ config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_PULSE
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio
|
||||
depends on BR2_USE_MMU # pulseaudio
|
||||
depends on BR2_ARCH_HAS_ATOMICS # pulseaudio
|
||||
depends on !BR2_STATIC_LIBS # pulseaudio
|
||||
select BR2_PACKAGE_PULSEAUDIO
|
||||
bool "pulseaudio"
|
||||
|
||||
comment "pulseaudio support needs a toolchain w/ threads"
|
||||
comment "pulseaudio support needs a toolchain w/ threads, dynamic library"
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_ARCH_HAS_ATOMICS
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
|
||||
|
||||
config BR2_PACKAGE_GST_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC
|
||||
bool "souphttpsrc (http client)"
|
||||
|
||||
@@ -312,15 +312,16 @@ config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_PULSE
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio
|
||||
depends on BR2_USE_MMU # pulseaudio
|
||||
depends on BR2_ARCH_HAS_ATOMICS # pulseaudio
|
||||
depends on !BR2_STATIC_LIBS # pulseaudio
|
||||
select BR2_PACKAGE_PULSEAUDIO
|
||||
bool "pulseaudio"
|
||||
help
|
||||
PulseAudio plugin library
|
||||
|
||||
comment "pulseaudio support needs a toolchain w/ threads"
|
||||
comment "pulseaudio support needs a toolchain w/ threads, dynamic library"
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_ARCH_HAS_ATOMICS
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
|
||||
|
||||
config BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_SOUPHTTPSRC
|
||||
bool "souphttpsrc (http client)"
|
||||
|
||||
64
package/guile/0004-workaround-ice-ssa-corruption.patch
Normal file
64
package/guile/0004-workaround-ice-ssa-corruption.patch
Normal file
@@ -0,0 +1,64 @@
|
||||
libguile/vm-i-system.c: workaround ice ssa corruption while compiling with option -g -O
|
||||
|
||||
While compiling with option -g -O, there was a ssa corruption:
|
||||
..
|
||||
Unable to coalesce ssa_names 48 and 3476 which are marked as MUST COALESCE.
|
||||
sp_48(ab) and sp_3476(ab)
|
||||
guile-2.0.11/libguile/vm-engine.c: In function 'vm_debug_engine':
|
||||
guile-2.0.11/libguile/vm.c:673:19: internal compiler error: SSA corruption
|
||||
#define VM_NAME vm_debug_engine
|
||||
^
|
||||
guile-2.0.11/libguile/vm-engine.c:39:1: note: in expansion of macro 'VM_NAME'
|
||||
VM_NAME (SCM vm, SCM program, SCM *argv, int nargs)
|
||||
^
|
||||
Please submit a full bug report,
|
||||
with preprocessed source if appropriate.
|
||||
See <http://gcc.gnu.org/bugs.html> for instructions.
|
||||
...
|
||||
|
||||
Tweak libguile/vm-i-system.c to add boundary value check to workaround it.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
|
||||
Fixes Buildroot autobuilder failures on AArch64.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
libguile/vm-i-system.c | 20 ++++++++++++++++----
|
||||
1 file changed, 16 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/libguile/vm-i-system.c b/libguile/vm-i-system.c
|
||||
--- a/libguile/vm-i-system.c
|
||||
+++ b/libguile/vm-i-system.c
|
||||
@@ -625,10 +625,22 @@ VM_DEFINE_INSTRUCTION (47, bind_optionals_shuffle, "bind-optionals/shuffle", 6,
|
||||
/* now shuffle up, from walk to ntotal */
|
||||
{
|
||||
scm_t_ptrdiff nshuf = sp - walk + 1, i;
|
||||
- sp = (fp - 1) + ntotal + nshuf;
|
||||
- CHECK_OVERFLOW ();
|
||||
- for (i = 0; i < nshuf; i++)
|
||||
- sp[-i] = walk[nshuf-i-1];
|
||||
+ /* check the value of nshuf to workaround ice ssa corruption */
|
||||
+ /* while compiling with -O -g */
|
||||
+ if (nshuf > 0)
|
||||
+ {
|
||||
+ sp = (fp - 1) + ntotal + nshuf;
|
||||
+ CHECK_OVERFLOW ();
|
||||
+ for (i = 0; i < nshuf; i++)
|
||||
+ sp[-i] = walk[nshuf-i-1];
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
+ sp = (fp - 1) + ntotal + nshuf;
|
||||
+ CHECK_OVERFLOW ();
|
||||
+ for (i = 0; i < nshuf; i++)
|
||||
+ sp[-i] = walk[nshuf-i-1];
|
||||
+ }
|
||||
}
|
||||
/* and fill optionals & keyword args with SCM_UNDEFINED */
|
||||
while (walk <= (fp - 1) + ntotal)
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@@ -18,8 +18,11 @@ define HEIRLOOM_MAILX_CONFIGURE_CMDS
|
||||
(cd $(@D); $(TARGET_CONFIGURE_OPTS) $(SHELL) ./makeconfig)
|
||||
endef
|
||||
|
||||
# -fPIC is needed to build with NIOS2 toolchains.
|
||||
define HEIRLOOM_MAILX_BUILD_CMDS
|
||||
$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)
|
||||
$(TARGET_CONFIGURE_OPTS) $(MAKE) \
|
||||
CFLAGS="$(TARGET_CFLAGS) -fPIC" \
|
||||
-C $(@D)
|
||||
endef
|
||||
|
||||
define HEIRLOOM_MAILX_INSTALL_TARGET_CMDS
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
From d5e802c9c2ed8dbe5c937e84bc3ab440218aa8de Mon Sep 17 00:00:00 2001
|
||||
From: Peter Korsgaard <peter@korsgaard.com>
|
||||
Date: Tue, 12 May 2015 16:03:14 +0200
|
||||
Subject: [PATCH] utils/hwloc/Makefile.am: fix install-man race condition
|
||||
|
||||
Make install contains a race condition in utils/hwloc, as both
|
||||
install-exec-hook (through intall-exec) and install-data trigger
|
||||
install-man:
|
||||
|
||||
http://autobuild.buildroot.net/results/414/41403f8ce4751a27dd1bb9c43f5a97895dea3980/build-end.log
|
||||
|
||||
The install-exec-hook target doesn't do anything with the manual pages, so
|
||||
fix the race condition by dropping the dependency.
|
||||
|
||||
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
||||
---
|
||||
utils/hwloc/Makefile.am | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/utils/hwloc/Makefile.am b/utils/hwloc/Makefile.am
|
||||
index 7ca8027..8bbee86 100644
|
||||
--- a/utils/hwloc/Makefile.am
|
||||
+++ b/utils/hwloc/Makefile.am
|
||||
@@ -108,7 +108,7 @@ endif HWLOC_HAVE_LINUX
|
||||
-e 's/#HWLOC_DATE#/@HWLOC_RELEASE_DATE@/g' \
|
||||
> $@ < $<
|
||||
|
||||
-install-exec-hook: install-man
|
||||
+install-exec-hook:
|
||||
$(SED) -e 's/HWLOC_top_builddir\/utils\/hwloc/bindir/' -e 's/HWLOC_top_builddir\/utils\/lstopo/bindir/' -e '/HWLOC_top_builddir/d' $(DESTDIR)$(bindir)/hwloc-assembler-remote > $(DESTDIR)$(bindir)/hwloc-assembler-remote.tmp && mv -f $(DESTDIR)$(bindir)/hwloc-assembler-remote.tmp $(DESTDIR)$(bindir)/hwloc-assembler-remote
|
||||
$(SED) -e 's/HWLOC_top_builddir\/utils\/hwloc/bindir/' -e 's/HWLOC_top_builddir\/utils\/lstopo/bindir/' -e '/HWLOC_top_builddir/d' $(DESTDIR)$(bindir)/hwloc-compress-dir > $(DESTDIR)$(bindir)/hwloc-compress-dir.tmp && mv -f $(DESTDIR)$(bindir)/hwloc-compress-dir.tmp $(DESTDIR)$(bindir)/hwloc-compress-dir
|
||||
chmod +x $(DESTDIR)$(bindir)/hwloc-assembler-remote $(DESTDIR)$(bindir)/hwloc-compress-dir
|
||||
--
|
||||
2.1.4
|
||||
|
||||
@@ -12,4 +12,4 @@ config BR2_PACKAGE_HWLOC
|
||||
http://www.open-mpi.org/projects/hwloc/
|
||||
|
||||
comment "hwloc needs a toolchain w/ threads"
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS
|
||||
|
||||
@@ -11,6 +11,8 @@ HWLOC_SITE = http://www.open-mpi.org/software/hwloc/v$(HWLOC_VERSION_MAJOR)/down
|
||||
HWLOC_LICENSE = BSD-3c
|
||||
HWLOC_LICENSE_FILES = COPYING
|
||||
HWLOC_DEPENDENCIES = host-pkgconf
|
||||
# 0001-utils-hwloc-Makefile.am-fix-install-man-race-conditi.patch touches Makefile.am
|
||||
HWLOC_AUTORECONF = YES
|
||||
|
||||
HWLOC_CONF_OPTS = \
|
||||
--disable-opencl \
|
||||
|
||||
@@ -3,7 +3,6 @@ config BR2_PACKAGE_IPMIUTIL
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on BR2_x86_64 || BR2_i386
|
||||
select BR2_PACKAGE_OPENSSL
|
||||
help
|
||||
The ipmiutil package provides easy-to-use utilities to view
|
||||
the SEL, perform an IPMI chassis reset, set up the IPMI LAN
|
||||
|
||||
@@ -11,6 +11,15 @@ IPMIUTIL_LICENSE_FILES = COPYING
|
||||
# We're patching configure.ac
|
||||
IPMIUTIL_AUTORECONF = YES
|
||||
|
||||
IPMIUTIL_DEPENDENCIES = openssl
|
||||
# forgets to link against libcrypto dependencies breaking static link
|
||||
ifeq ($(BR2_PACKAGE_OPENSSL)x$(BR2_STATIC_LIBS),yx)
|
||||
# tests against distro libcrypto so it might get a false positive when
|
||||
# the openssl version is old, so force it off
|
||||
# SKIP_MD2 can be used only if ALLOW_GNU is defined.
|
||||
IPMIUTIL_CONF_OPTS += CPPFLAGS="$(TARGET_CPPFLAGS) -DALLOW_GNU -DSKIP_MD2"
|
||||
IPMIUTIL_DEPENDENCIES += openssl
|
||||
else
|
||||
IPMIUTIL_CONF_OPTS += --disable-lanplus
|
||||
endif
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
IPROUTE2_VERSION = 4.0.0
|
||||
IPROUTE2_SOURCE = iproute2-$(IPROUTE2_VERSION).tar.xz
|
||||
IPROUTE2_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/net/iproute2
|
||||
IPROUTE2_DEPENDENCIES = host-bison host-flex
|
||||
IPROUTE2_DEPENDENCIES = host-bison host-flex host-pkgconf
|
||||
IPROUTE2_LICENSE = GPLv2
|
||||
IPROUTE2_LICENSE_FILES = COPYING
|
||||
|
||||
@@ -18,17 +18,17 @@ IPROUTE2_DEPENDENCIES += busybox
|
||||
endif
|
||||
|
||||
# If we've got iptables enable xtables support for tc
|
||||
ifeq ($(BR2_PACKAGE_IPTABLES),y)
|
||||
ifeq ($(BR2_PACKAGE_IPTABLES)x$(BR2_STATIC_LIBS),yx)
|
||||
IPROUTE2_DEPENDENCIES += iptables
|
||||
define IPROUTE2_WITH_IPTABLES
|
||||
# Makefile is busted so it never passes IPT_LIB_DIR properly
|
||||
$(SED) "s/-DIPT/-DXT/" $(IPROUTE2_DIR)/tc/Makefile
|
||||
echo "TC_CONFIG_XT:=y" >>$(IPROUTE2_DIR)/Config
|
||||
endef
|
||||
else
|
||||
define IPROUTE2_WITH_IPTABLES
|
||||
# em_ipset needs xtables, but configure misdetects it
|
||||
echo "TC_CONFIG_IPSET:=n" >>$(IPROUTE2_DIR)/Config
|
||||
echo "TC_CONFIG_XT:=n" >>$(IPROUTE2_DIR)/Config
|
||||
endef
|
||||
endif
|
||||
|
||||
@@ -52,16 +52,16 @@ define IPROUTE2_CONFIGURE_CMDS
|
||||
$(SED) 's/gcc/$$CC $$CFLAGS/g' $(@D)/configure
|
||||
cd $(@D) && $(TARGET_CONFIGURE_OPTS) ./configure
|
||||
$(SED) 's/-Werror//' $(IPROUTE2_DIR)/Makefile
|
||||
echo "IPT_LIB_DIR:=/usr/lib/xtables" >>$(IPROUTE2_DIR)/Config
|
||||
$(IPROUTE2_DISABLE_ARPD)
|
||||
$(IPROUTE2_WITH_IPTABLES)
|
||||
endef
|
||||
|
||||
define IPROUTE2_BUILD_CMDS
|
||||
$(SED) 's/$$(CCOPTS)//' $(@D)/netem/Makefile
|
||||
$(TARGET_MAKE_ENV) $(MAKE) \
|
||||
$(TARGET_MAKE_ENV) LDFLAGS="$(TARGET_LDFLAGS)" $(MAKE) \
|
||||
DBM_INCLUDE="$(STAGING_DIR)/usr/include" \
|
||||
CCOPTS="$(TARGET_CFLAGS) -D_GNU_SOURCE" -C $(@D)
|
||||
CCOPTS="$(TARGET_CFLAGS) -D_GNU_SOURCE" \
|
||||
SHARED_LIBS="$(if $(BR2_STATIC_LIBS),n,y)" -C $(@D)
|
||||
endef
|
||||
|
||||
define IPROUTE2_INSTALL_TARGET_CMDS
|
||||
|
||||
@@ -4,6 +4,7 @@ config BR2_PACKAGE_JACK2
|
||||
depends on BR2_USE_MMU # fork()
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on BR2_ARCH_HAS_ATOMICS
|
||||
depends on !BR2_STATIC_LIBS
|
||||
select BR2_PACKAGE_LIBSAMPLERATE
|
||||
select BR2_PACKAGE_LIBSNDFILE
|
||||
select BR2_PACKAGE_ALSA_LIB
|
||||
@@ -20,7 +21,8 @@ config BR2_PACKAGE_JACK2
|
||||
|
||||
http://jackaudio.org/
|
||||
|
||||
comment "jack2 needs a toolchain w/ threads, C++"
|
||||
comment "jack2 needs a toolchain w/ threads, C++, dynamic library"
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_ARCH_HAS_ATOMICS
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \
|
||||
BR2_STATIC_LIBS
|
||||
|
||||
27
package/jasper/0007-preserve-cflags.patch
Normal file
27
package/jasper/0007-preserve-cflags.patch
Normal file
@@ -0,0 +1,27 @@
|
||||
From: Max Filippov <jcmvbkbc@gmail.com>
|
||||
Subject: Don't overwrite CFLAGS when configured with --enable-debug
|
||||
|
||||
This drops architecture-specific ABI flags, which may be important.
|
||||
|
||||
Signded-off-by: Max Filippov <jcmvbkbc@gmail.com>
|
||||
|
||||
--- jasper-1.900.1/configure.ac.orig 2015-05-18 22:27:53.057512760 +0300
|
||||
+++ jasper-1.900.1/configure.ac 2015-05-18 22:28:36.090415422 +0300
|
||||
@@ -327,7 +327,7 @@
|
||||
AC_DEFINE(DEBUG)
|
||||
AC_DEFINE(DEBUG_OVERFLOW)
|
||||
if test "$GCC" = yes; then
|
||||
- CFLAGS="-g -O0"
|
||||
+ CFLAGS="$CFLAGS -g -O0"
|
||||
fi
|
||||
;;
|
||||
no)
|
||||
@@ -357,7 +357,7 @@
|
||||
case "${enableval}" in
|
||||
yes)
|
||||
if test "$GCC" = yes; then
|
||||
- CFLAGS="-g -O0"
|
||||
+ CFLAGS="$CFLAGS -g -O0"
|
||||
fi
|
||||
;;
|
||||
no)
|
||||
@@ -14,4 +14,10 @@ JASPER_LICENSE_FILES = LICENSE
|
||||
# needed to fix rpath issue (http://autobuild.buildroot.net/results/307/307cac65287420252a5bb64715d9a1edd90e72fa/)
|
||||
JASPER_AUTORECONF = YES
|
||||
|
||||
# Xtensa gcc is unable to generate correct code with -O0 enabled by
|
||||
# --enable-debug. Allow package build but disable debug.
|
||||
ifeq ($(BR2_xtensa)$(BR2_ENABLE_DEBUG),yy)
|
||||
JASPER_CONF_OPTS += --disable-debug
|
||||
endif
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
@@ -39,11 +39,6 @@ KMOD_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,python3)
|
||||
KMOD_CONF_OPTS += --enable-python
|
||||
endif
|
||||
|
||||
# --gc-sections triggers a bug in the current Xtensa binutils
|
||||
ifeq ($(BR2_xtensa),y)
|
||||
KMOD_CONF_ENV += cc_cv_LDFLAGS__Wl___gc_sections=no
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_KMOD_TOOLS),y)
|
||||
|
||||
# add license info for kmod tools
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
config BR2_PACKAGE_KODI_ARCH_SUPPORTS
|
||||
bool
|
||||
default y if BR2_arm || BR2_i386 || BR2_x86_64
|
||||
default y if (BR2_arm || BR2_i386 || BR2_x86_64) && BR2_PACKAGE_BOOST_ARCH_SUPPORTS
|
||||
|
||||
|
||||
comment "kodi needs a toolchain w/ C++, threads, wchar"
|
||||
depends on BR2_PACKAGE_KODI_ARCH_SUPPORTS
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
comment "lcdproc needs a toolchain w/ dynamic library"
|
||||
depends on BR2_STATIC_LIBS
|
||||
|
||||
config BR2_PACKAGE_LCDPROC
|
||||
bool "lcdproc"
|
||||
depends on BR2_USE_MMU # fork()
|
||||
depends on !BR2_STATIC_LIBS
|
||||
select BR2_PACKAGE_FREETYPE
|
||||
select BR2_PACKAGE_NCURSES
|
||||
select BR2_PACKAGE_ZLIB
|
||||
|
||||
@@ -13,4 +13,4 @@ config BR2_PACKAGE_LEAFNODE2
|
||||
For example, you can add this line to inetd.conf:
|
||||
nntp stream tcp nowait news /usr/sbin/leafnode
|
||||
|
||||
http://www.dt.e-technik.uni-dortmund.de/~ma/leafnode/beta/
|
||||
http://www.dt.e-technik.tu-dortmund.de/~ma/leafnode/beta
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
LEAFNODE2_VERSION = 2.0.0.alpha20140727b
|
||||
LEAFNODE2_SOURCE = leafnode-$(LEAFNODE2_VERSION).tar.bz2
|
||||
LEAFNODE2_SITE = http://home.pages.de/~mandree/leafnode/beta
|
||||
LEAFNODE2_SITE = http://www.dt.e-technik.tu-dortmund.de/~ma/leafnode/beta
|
||||
LEAFNODE2_LICENSE = LGPLv2.1
|
||||
LEAFNODE2_LICENSE_FILES = COPYING COPYING.LGPL
|
||||
LEAFNODE2_DEPENDENCIES = host-pcre pcre
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
config BR2_PACKAGE_LIBCAP_NG
|
||||
bool "libcap-ng"
|
||||
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201405 # triggers compiler bug
|
||||
help
|
||||
The libcap-ng library is intended to make programming with
|
||||
posix capabilities much easier than the traditional libcap
|
||||
|
||||
@@ -9,24 +9,26 @@ config BR2_PACKAGE_LIBFTDI1
|
||||
|
||||
if BR2_PACKAGE_LIBFTDI1
|
||||
|
||||
config BR2_PACKAGE_LIBTFDI1_LIBFTDIPP1
|
||||
bool "libfdtipp1"
|
||||
config BR2_PACKAGE_LIBFTDI1_LIBFTDIPP1
|
||||
bool "libftdipp1"
|
||||
select BR2_PACKAGE_BOOST
|
||||
depends on BR2_INSTALL_LIBSTDCPP # boost
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS # boost
|
||||
depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
|
||||
help
|
||||
C++ bindings for libftdi
|
||||
|
||||
comment "libfdtipp1 needs a toolchain w/ C++"
|
||||
comment "libftdipp1 needs a toolchain w/ C++"
|
||||
depends on !BR2_INSTALL_LIBSTDCPP
|
||||
depends on BR2_PACKAGE_BOOST_ARCH_SUPPORTS
|
||||
|
||||
config BR2_PACKAGE_LIBTFDI1_PYTHON_BINDINGS
|
||||
config BR2_PACKAGE_LIBFTDI1_PYTHON_BINDINGS
|
||||
bool "python bindings"
|
||||
depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3
|
||||
help
|
||||
Python bindings for libftdi
|
||||
|
||||
config BR2_PACKAGE_LIBTFDI1_FDTI_EEPROM
|
||||
config BR2_PACKAGE_LIBFTDI1_FDTI_EEPROM
|
||||
select BR2_PACKAGE_LIBCONFUSE
|
||||
bool "ftdi_eeprom tool"
|
||||
|
||||
|
||||
@@ -13,21 +13,21 @@ LIBFTDI1_LICENSE = LGPLv2 (libftdi1), GPLv2 with exception (ftdipp1)
|
||||
LIBFTDI1_LICENSE_FILES = LICENSE COPYING.GPL COPYING.LIB
|
||||
LIBFTDI1_CONF_OPTS = -DDOCUMENTATION=OFF -DEXAMPLES=OFF
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBTFDI1_LIBFTDIPP1),y)
|
||||
ifeq ($(BR2_PACKAGE_LIBFTDI1_LIBFTDIPP1),y)
|
||||
LIBFTDI1_DEPENDENCIES += boost
|
||||
LIBFTDI1_CONF_OPTS += -DFTDIPP=ON
|
||||
else
|
||||
LIBFTDI1_CONF_OPTS += -DFTDIPP=OFF
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBTFDI1_PYTHON_BINDINGS),y)
|
||||
ifeq ($(BR2_PACKAGE_LIBFTDI1_PYTHON_BINDINGS),y)
|
||||
LIBFTDI1_DEPENDENCIES += $(if $(BR2_PACKAGE_PYTHON),python,python3) host-swig
|
||||
LIBFTDI1_CONF_OPTS += -DPYTHON_BINDINGS=ON
|
||||
else
|
||||
LIBFTDI1_CONF_OPTS += -DPYTHON_BINDINGS=OFF
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBTFDI1_FDTI_EEPROM),y)
|
||||
ifeq ($(BR2_PACKAGE_LIBFTDI1_FDTI_EEPROM),y)
|
||||
# ftdi_eeprom optionally depends on libintl, so make sure gettext is built
|
||||
# _before_ libfitdi1 when gettext is enbaled.
|
||||
LIBFTDI1_DEPENDENCIES += libconfuse $(if $(BR2_PACKAGE_GETTEXT),gettext)
|
||||
|
||||
@@ -10,6 +10,6 @@ LIBMATROSKA_SITE = http://dl.matroska.org/downloads/libmatroska
|
||||
LIBMATROSKA_INSTALL_STAGING = YES
|
||||
LIBMATROSKA_LICENSE = LGPLv2.1+
|
||||
LIBMATROSKA_LICENSE_FILES = LICENSE.LGPL
|
||||
LIBMATROSKA_DEPENDENCIES = libebml
|
||||
LIBMATROSKA_DEPENDENCIES = libebml host-pkgconf
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
@@ -18,4 +18,14 @@ LIBMEMCACHED_AUTORECONF = YES
|
||||
LIBMEMCACHED_LICENSE = BSD-3c
|
||||
LIBMEMCACHED_LICENSE_FILES = COPYING
|
||||
|
||||
# Help libmemcached to understand that -fPIE and -pie should not be
|
||||
# used when linking statically.
|
||||
ifeq ($(BR2_STATIC_LIBS),y)
|
||||
LIBMEMCACHED_CONF_ENV += \
|
||||
ax_cv_check_cflags__Werror__fPIE=no \
|
||||
ax_cv_check_cflags__Werror__pie=no \
|
||||
ax_cv_check_cxxflags__Werror__fPIE=no \
|
||||
ax_cv_check_cxxflags__Werror__pie=no
|
||||
endif
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
2
package/libmodbus/libmodbus.hash
Normal file
2
package/libmodbus/libmodbus.hash
Normal file
@@ -0,0 +1,2 @@
|
||||
# Locally computed
|
||||
sha256 046d63f10f755e2160dc56ef681e5f5ad3862a57c1955fd82e0ce036b69471b6 libmodbus-3.0.6.tar.gz
|
||||
@@ -5,7 +5,7 @@
|
||||
################################################################################
|
||||
|
||||
LIBMODBUS_VERSION = 3.0.6
|
||||
LIBMODBUS_SITE = http://libmodbus.org/site_media/build
|
||||
LIBMODBUS_SITE = http://libmodbus.org/releases
|
||||
LIBMODBUS_LICENSE = LGPLv2.1+
|
||||
LIBMODBUS_LICENSE_FILES = COPYING.LESSER
|
||||
LIBMODBUS_INSTALL_STAGING = YES
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
comment "libnftnl needs a toolchain w/ headers >= 3.1"
|
||||
depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
|
||||
|
||||
config BR2_PACKAGE_LIBNFTNL
|
||||
bool "libnftnl"
|
||||
# bad headers, no sa_family_t in linux/socket.h
|
||||
depends on !(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103 || BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009)
|
||||
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1
|
||||
select BR2_PACKAGE_LIBMNL
|
||||
help
|
||||
libnftnl is a userspace library providing a low-level
|
||||
|
||||
@@ -22,12 +22,17 @@ config BR2_PACKAGE_LIBSIGROKCXX
|
||||
bool "build C++ bindings"
|
||||
select BR2_PACKAGE_GLIBMM
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
# CS powerpc g++ are too old. libsigrokcxx needs C++11
|
||||
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103 && \
|
||||
!BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
|
||||
help
|
||||
Build libsigrok C++ bindings as well.
|
||||
|
||||
comment "C++ bindings need a toolchain w/ C++"
|
||||
depends on BR2_PACKAGE_LIBSIGROK
|
||||
depends on !BR2_INSTALL_LIBSTDCPP
|
||||
depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201103 && \
|
||||
!BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC201009
|
||||
|
||||
endif
|
||||
|
||||
|
||||
@@ -48,6 +48,7 @@ endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBSIGROKCXX),y)
|
||||
LIBSIGROK_CONF_OPTS += --enable-cxx
|
||||
LIBSIGROK_AUTORECONF_OPTS += -I $(HOST_DIR)/usr/share/autoconf-archive
|
||||
LIBSIGROK_DEPENDENCIES += \
|
||||
host-autoconf-archive \
|
||||
glibmm \
|
||||
|
||||
@@ -12,9 +12,11 @@ LIBUPNPP_INSTALL_STAGING = YES
|
||||
LIBUPNPP_DEPENDENCIES = expat libcurl libupnp
|
||||
|
||||
# configure script fails to link against the dependencies of libupnp
|
||||
# causing upnp detection to fail when statically linking
|
||||
# and libcurl causing detection to fail when statically linking
|
||||
ifeq ($(BR2_STATIC_LIBS),y)
|
||||
LIBUPNPP_CONF_ENV += LIBS='-lthreadutil -lixml -pthread'
|
||||
LIBUPNPP_DEPENDENCIES += host-pkgconf
|
||||
LIBUPNPP_CONF_ENV += \
|
||||
LIBS='$(shell $(PKG_CONFIG_HOST_BINARY) --libs libupnp libcurl)'
|
||||
endif
|
||||
|
||||
$(eval $(autotools-package))
|
||||
|
||||
@@ -2,12 +2,13 @@ config BR2_PACKAGE_LIBUV
|
||||
bool "libuv"
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on BR2_USE_MMU # fork()
|
||||
depends on !BR2_STATIC_LIBS
|
||||
help
|
||||
libuv is a multi-platform support library with a focus
|
||||
on asynchronous I/O.
|
||||
|
||||
https://github.com/libuv/libuv
|
||||
|
||||
comment "libuv needs a toolchain w/ threads"
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS
|
||||
comment "libuv needs a toolchain w/ threads, dynamic library"
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
|
||||
depends on BR2_USE_MMU
|
||||
|
||||
2
package/libxml-parser-perl/libxml-parser-perl.hash
Normal file
2
package/libxml-parser-perl/libxml-parser-perl.hash
Normal file
@@ -0,0 +1,2 @@
|
||||
# locally computed hash
|
||||
sha256 b48197cd2265a26c5f016489f11a7b450d8833cb8b3d6a46ee15975740894de9 XML-Parser-2.41.tar.gz
|
||||
@@ -198,17 +198,17 @@ endchoice
|
||||
config BR2_DEFAULT_KERNEL_HEADERS
|
||||
string
|
||||
default "3.0.101" if BR2_KERNEL_HEADERS_3_0
|
||||
default "3.2.68" if BR2_KERNEL_HEADERS_3_2
|
||||
default "3.2.69" if BR2_KERNEL_HEADERS_3_2
|
||||
default "3.4.107" if BR2_KERNEL_HEADERS_3_4
|
||||
default "3.10.76" if BR2_KERNEL_HEADERS_3_10
|
||||
default "3.10.79" if BR2_KERNEL_HEADERS_3_10
|
||||
default "3.11.10" if BR2_KERNEL_HEADERS_3_11
|
||||
default "3.12.41" if BR2_KERNEL_HEADERS_3_12
|
||||
default "3.12.42" if BR2_KERNEL_HEADERS_3_12
|
||||
default "3.13.11" if BR2_KERNEL_HEADERS_3_13
|
||||
default "3.14.40" if BR2_KERNEL_HEADERS_3_14
|
||||
default "3.14.43" if BR2_KERNEL_HEADERS_3_14
|
||||
default "3.15.10" if BR2_KERNEL_HEADERS_3_15
|
||||
default "3.16.7" if BR2_KERNEL_HEADERS_3_16
|
||||
default "3.17.8" if BR2_KERNEL_HEADERS_3_17
|
||||
default "3.18.12" if BR2_KERNEL_HEADERS_3_18
|
||||
default "3.19.6" if BR2_KERNEL_HEADERS_3_19
|
||||
default "4.0.1" if BR2_KERNEL_HEADERS_4_0
|
||||
default "3.18.13" if BR2_KERNEL_HEADERS_3_18
|
||||
default "3.19.8" if BR2_KERNEL_HEADERS_3_19
|
||||
default "4.0.4" if BR2_KERNEL_HEADERS_4_0
|
||||
default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
From 2a789161ef17ac1cedd9a4eb11423f6c1020d8d9 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Date: Sun, 17 May 2015 16:08:15 +0200
|
||||
Subject: [PATCH] Fix loglevel redefinition in static library builds
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
daemons/lircmd.c | 1 -
|
||||
tools/irrecord.c | 5 ++---
|
||||
2 files changed, 2 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/daemons/lircmd.c b/daemons/lircmd.c
|
||||
index 023777c..e69078c 100644
|
||||
--- a/daemons/lircmd.c
|
||||
+++ b/daemons/lircmd.c
|
||||
@@ -67,7 +67,6 @@ typedef uint64_t __u64;
|
||||
|
||||
static int uinputfd = -1;
|
||||
static int useuinput = 0;
|
||||
-loglevel_t loglevel = 0;
|
||||
|
||||
|
||||
static const struct option lircmd_options[] = {
|
||||
diff --git a/tools/irrecord.c b/tools/irrecord.c
|
||||
index f52328c..772b090 100644
|
||||
--- a/tools/irrecord.c
|
||||
+++ b/tools/irrecord.c
|
||||
@@ -113,9 +113,6 @@ lirc_t aeps = 100;
|
||||
|
||||
#define SAMPLES 80
|
||||
|
||||
-// Actual loglevel as per -D option, see lirc_log.h.
|
||||
-loglevel_t loglevel = LIRC_WARNING;
|
||||
-
|
||||
int daemonized = 0;
|
||||
|
||||
struct ir_remote *emulation_data;
|
||||
@@ -407,6 +404,8 @@ int main(int argc, char **argv)
|
||||
char commandline[128];
|
||||
char path[128];
|
||||
int get_pre = 0, get_post = 0, test = 0, invert = 0, trail = 0;
|
||||
+ // Actual loglevel as per -D option, see lirc_log.h.
|
||||
+ loglevel_t loglevel = LIRC_WARNING;
|
||||
|
||||
get_commandline(argc, argv, commandline, sizeof(commandline));
|
||||
force = 0;
|
||||
--
|
||||
2.1.0
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
From 395bb4cb37612a4ac94346531b13ff0e901ed05e Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
Date: Tue, 5 May 2015 23:59:17 +0200
|
||||
Subject: [PATCH 1/2] Makefile: don't clone/build c-periphery
|
||||
|
||||
This patch adjusts lua-periphery Makefile to not clone and build the
|
||||
c-periphery library by itself, and instead use the already available
|
||||
c-periphery library.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
---
|
||||
Makefile | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lua-periphery/Makefile b/lua-periphery/Makefile
|
||||
index bed9b32..a4c68eb 100644
|
||||
--- a/lua-periphery/Makefile
|
||||
+++ b/lua-periphery/Makefile
|
||||
@@ -36,8 +36,8 @@ install:
|
||||
|
||||
###########################################################################
|
||||
|
||||
-$(LIB): $(C_PERIPHERY_LIB) $(SRCS)
|
||||
- $(CC) $(CFLAGS) $(LDFLAGS) $(SRCS) $(C_PERIPHERY_LIB) -o $@
|
||||
+$(LIB): $(SRCS)
|
||||
+ $(CC) $(CFLAGS) $(LDFLAGS) $(SRCS) -lc-periphery -o $@
|
||||
|
||||
$(C_PERIPHERY_LIB): $(C_PERIPHERY)/Makefile
|
||||
cd $(C_PERIPHERY); $(MAKE)
|
||||
--
|
||||
2.1.0
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user