mirror of
https://github.com/LibreELEC/LibreELEC.tv
synced 2025-09-24 19:46:01 +07:00
Compare commits
306 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
61f17d8a6e | ||
|
|
4078cf05c7 | ||
|
|
c4ac5bccd3 | ||
|
|
fc71e3fef1 | ||
|
|
d9a65ad23f | ||
|
|
1853a14d93 | ||
|
|
785af56130 | ||
|
|
7f4b374d8b | ||
|
|
88fe4fb6a5 | ||
|
|
a1c59e1d9d | ||
|
|
c47a69f488 | ||
|
|
867882f5b6 | ||
|
|
664c907253 | ||
|
|
ab19e13cf6 | ||
|
|
52d1097cd0 | ||
|
|
8fd6d9f9d2 | ||
|
|
79d38dcf9f | ||
|
|
f043441788 | ||
|
|
afe74301c7 | ||
|
|
b965e71859 | ||
|
|
f58570de26 | ||
|
|
fa1adb3a60 | ||
|
|
d684c9420a | ||
|
|
7153f791b4 | ||
|
|
4dc0de73b1 | ||
|
|
9ff681c139 | ||
|
|
22a42a2927 | ||
|
|
9790e80d41 | ||
|
|
7756397876 | ||
|
|
0ef5e46416 | ||
|
|
080804cb0e | ||
|
|
29f1dc2555 | ||
|
|
a1ac9c51a5 | ||
|
|
3b3a2fcb94 | ||
|
|
4063daaef4 | ||
|
|
245b20e959 | ||
|
|
d3c504786d | ||
|
|
c4a3fb41cf | ||
|
|
8c5da501a9 | ||
|
|
1d3c298803 | ||
|
|
145937ebcc | ||
|
|
5038ab0d1f | ||
|
|
deec530914 | ||
|
|
3918637dd8 | ||
|
|
24ea5ab8a4 | ||
|
|
f71eb4e042 | ||
|
|
7975fa1d1e | ||
|
|
44f6afd2ec | ||
|
|
0b11523b09 | ||
|
|
6b4084ffa6 | ||
|
|
ec67d04f99 | ||
|
|
4bb042ee13 | ||
|
|
00c2004d1a | ||
|
|
e486a19f89 | ||
|
|
2b8b7cdee3 | ||
|
|
385b41cad1 | ||
|
|
0edc046f1b | ||
|
|
5c2342f64b | ||
|
|
77514cb8a3 | ||
|
|
549bc75e1c | ||
|
|
2d45ef07de | ||
|
|
866c635d44 | ||
|
|
671f55afef | ||
|
|
f4a58d4b14 | ||
|
|
25bf0a9381 | ||
|
|
cdb75b0e83 | ||
|
|
da58897544 | ||
|
|
b9ad07f793 | ||
|
|
45d9551fa2 | ||
|
|
41e7553762 | ||
|
|
59e057eed8 | ||
|
|
2e72cf036a | ||
|
|
c67ade7017 | ||
|
|
de7ddab5e6 | ||
|
|
6efdb1e75e | ||
|
|
91de6a70c0 | ||
|
|
265568da70 | ||
|
|
98bb6e8957 | ||
|
|
b86ee200ec | ||
|
|
bdaceee408 | ||
|
|
16573216de | ||
|
|
e83618d39c | ||
|
|
b03f058f73 | ||
|
|
e4cee7c88f | ||
|
|
4adbf4f08e | ||
|
|
ffbc33a64a | ||
|
|
62c2b52a0c | ||
|
|
3c0eaec162 | ||
|
|
022ca91a6e | ||
|
|
54c9505cb4 | ||
|
|
512c595e88 | ||
|
|
b00e8011f4 | ||
|
|
89ee8cc204 | ||
|
|
a2b61f7c1c | ||
|
|
0a80bf3131 | ||
|
|
2cddc473ee | ||
|
|
25c9b41d0b | ||
|
|
3f28eaef94 | ||
|
|
1dcb88e1c2 | ||
|
|
8b85b8345d | ||
|
|
428cddc4ea | ||
|
|
ecd049c42a | ||
|
|
0fad3c88e4 | ||
|
|
31552a2169 | ||
|
|
1b89dae25d | ||
|
|
5e57bf92bf | ||
|
|
50ecbe0b50 | ||
|
|
cd9c15bc2c | ||
|
|
2ec8b1bc94 | ||
|
|
998146fc2d | ||
|
|
9c02a8dd2b | ||
|
|
a29c5fba5e | ||
|
|
93267e3e28 | ||
|
|
cc0cae480a | ||
|
|
85721b2b0b | ||
|
|
e701d06a52 | ||
|
|
a847567948 | ||
|
|
beb7ba7faf | ||
|
|
694cb782dc | ||
|
|
e4408091ad | ||
|
|
f15e666c8b | ||
|
|
65880ff902 | ||
|
|
cb4c45ae66 | ||
|
|
5b78d785ea | ||
|
|
cda8078ad7 | ||
|
|
a2b7aefff6 | ||
|
|
4a6689da57 | ||
|
|
6c4eea25e3 | ||
|
|
29f6fbe958 | ||
|
|
e820574a12 | ||
|
|
aec1da246c | ||
|
|
56592bf95e | ||
|
|
42a5476386 | ||
|
|
043e532bb9 | ||
|
|
68d6051696 | ||
|
|
86df4d695a | ||
|
|
09b28bb171 | ||
|
|
2d6fa0cef8 | ||
|
|
9828485c47 | ||
|
|
ee81551b11 | ||
|
|
1d5b082907 | ||
|
|
fd13a921a6 | ||
|
|
c08f4a5fc6 | ||
|
|
ad5f45de0c | ||
|
|
54126994c3 | ||
|
|
a725f3e11d | ||
|
|
0a78159c94 | ||
|
|
30f1853321 | ||
|
|
0adfa62f70 | ||
|
|
fdab1262bf | ||
|
|
f9bfc5f916 | ||
|
|
2e770ba9f4 | ||
|
|
c7aa19e3ba | ||
|
|
de188e8cfd | ||
|
|
b0e1d29cac | ||
|
|
06df6fd2ac | ||
|
|
ea4e3d8240 | ||
|
|
10126efe5c | ||
|
|
f07e60233c | ||
|
|
1ff8736146 | ||
|
|
4c264fa0af | ||
|
|
c8113901e5 | ||
|
|
03e09eff66 | ||
|
|
ee7f996b38 | ||
|
|
cb33cc5e35 | ||
|
|
c5ba98fcd7 | ||
|
|
aac56ddf36 | ||
|
|
80f22e4c11 | ||
|
|
62716648d6 | ||
|
|
3920d4e15d | ||
|
|
69be6f1e71 | ||
|
|
bf6eae1e4b | ||
|
|
04a58d139b | ||
|
|
703b50e051 | ||
|
|
dad9226ad2 | ||
|
|
da3414e4dc | ||
|
|
4a7674e9a0 | ||
|
|
4c26ac03cd | ||
|
|
a4311e1310 | ||
|
|
af943fd39f | ||
|
|
f4480b7ed6 | ||
|
|
058c9ab61b | ||
|
|
9d438da095 | ||
|
|
20f47fe3ed | ||
|
|
400327862e | ||
|
|
b05b850443 | ||
|
|
822dff55c4 | ||
|
|
26ba8822bd | ||
|
|
c4eb30e2c3 | ||
|
|
8fdee1dfef | ||
|
|
261855b09e | ||
|
|
81010268c8 | ||
|
|
774f9d51f8 | ||
|
|
2980d9ad03 | ||
|
|
e87f98f1f8 | ||
|
|
c3cf0ef3b4 | ||
|
|
651372d503 | ||
|
|
afd05eed2c | ||
|
|
5b9bb12894 | ||
|
|
4f18d6c536 | ||
|
|
9b8715ec57 | ||
|
|
91785e09fb | ||
|
|
77cf33ca92 | ||
|
|
0eabe8d2ac | ||
|
|
c4d708cb69 | ||
|
|
d9b91c7a1e | ||
|
|
542ec5a67b | ||
|
|
9de0e6f614 | ||
|
|
f6ccd7a44b | ||
|
|
d2fb9ec8ea | ||
|
|
b59a02a51a | ||
|
|
839a03fdcd | ||
|
|
99380b68ae | ||
|
|
c158f374bd | ||
|
|
7b81850c50 | ||
|
|
c4309ed2c7 | ||
|
|
2b9fa76413 | ||
|
|
ce7acbd33e | ||
|
|
58f13d591c | ||
|
|
b9dc833ceb | ||
|
|
982f94d84e | ||
|
|
6727205fce | ||
|
|
ccbab20fbf | ||
|
|
959da55bdf | ||
|
|
a29909a816 | ||
|
|
4c2a944928 | ||
|
|
dee56e767f | ||
|
|
29a02d71e9 | ||
|
|
8f75ede7de | ||
|
|
b653fc80be | ||
|
|
af458da091 | ||
|
|
ff34f71f2c | ||
|
|
dfd2d26ba4 | ||
|
|
e78b94daa7 | ||
|
|
a0206ba829 | ||
|
|
e3a821a1df | ||
|
|
656142fad5 | ||
|
|
2e2705c1f9 | ||
|
|
ffb291cf48 | ||
|
|
ec2a339fce | ||
|
|
6e9e7869ff | ||
|
|
727e267a67 | ||
|
|
5a82523ae1 | ||
|
|
b62d98c82a | ||
|
|
77884ecbcb | ||
|
|
8fa76b050f | ||
|
|
f884e001af | ||
|
|
30b16a37fd | ||
|
|
2abad30bbc | ||
|
|
88e8443d9f | ||
|
|
d59526e9af | ||
|
|
345024e40a | ||
|
|
f7d216ae10 | ||
|
|
02b19de50e | ||
|
|
fa6cd55383 | ||
|
|
35c991c604 | ||
|
|
bee7e1edac | ||
|
|
e6af4972b5 | ||
|
|
87c0aee3f3 | ||
|
|
3e89fa35db | ||
|
|
550add0500 | ||
|
|
3af07bbf04 | ||
|
|
df1ee6ee19 | ||
|
|
dd56a8f658 | ||
|
|
f76cb9a6dd | ||
|
|
37dc490d20 | ||
|
|
a8e9261c81 | ||
|
|
c22581f948 | ||
|
|
01ade933db | ||
|
|
156e6d86d0 | ||
|
|
28430fe379 | ||
|
|
b58d4c2db7 | ||
|
|
7c9945c983 | ||
|
|
efbcdb6087 | ||
|
|
00ab9d1574 | ||
|
|
2ff789c071 | ||
|
|
9df93e241a | ||
|
|
690b76ee7e | ||
|
|
ff6765de16 | ||
|
|
0368c98ae2 | ||
|
|
24c8cea759 | ||
|
|
2dbffe4a67 | ||
|
|
42c6fd2ed9 | ||
|
|
7415fec141 | ||
|
|
d218b9d9b5 | ||
|
|
06c4810f80 | ||
|
|
36d116036c | ||
|
|
ecd9d523a0 | ||
|
|
a54f4f5359 | ||
|
|
586296b91d | ||
|
|
7215b3c422 | ||
|
|
5d62ee13b8 | ||
|
|
02258e9790 | ||
|
|
a566e7421b | ||
|
|
ac2d229eac | ||
|
|
2e2a9e860c | ||
|
|
1ac36de7e1 | ||
|
|
9ced960bd2 | ||
|
|
97230bafa8 | ||
|
|
9eb6834a85 | ||
|
|
67bad75f60 | ||
|
|
edf58f7c3e | ||
|
|
f99f986d5d | ||
|
|
f37e08a901 | ||
|
|
bba617498f | ||
|
|
64de652b3d |
@@ -3,9 +3,9 @@
|
||||
{
|
||||
"label": "System",
|
||||
"filesystem_type": "FAT",
|
||||
"partition_size_nominal": 128,
|
||||
"partition_size_nominal": 160,
|
||||
"want_maximised": false,
|
||||
"uncompressed_tarball_size": 110,
|
||||
"uncompressed_tarball_size": 120,
|
||||
"mkfs_options": ""
|
||||
},
|
||||
{
|
||||
|
||||
@@ -4,17 +4,17 @@ if [ "$OPTIMIZATIONS" = normal ];then
|
||||
fi
|
||||
|
||||
if [ "$OPTIMIZATIONS" = size ];then
|
||||
GCC_OPTIM="-Os -fexcess-precision=fast -ffast-math"
|
||||
GCC_OPTIM="-Os -fexcess-precision=fast"
|
||||
LD_OPTIM="-Wl,--as-needed"
|
||||
fi
|
||||
|
||||
if [ "$LTO_SUPPORT" = yes ];then
|
||||
GCC_OPTIM="$GCC_OPTIM -flto"
|
||||
LD_OPTIM="$LD_OPTIM -fuse-linker-plugin -flto"
|
||||
GCC_OPTIM_LTO="-flto -ffat-lto-objects"
|
||||
LD_OPTIM_LTO="-fuse-linker-plugin -flto"
|
||||
fi
|
||||
|
||||
if [ "$GOLD_SUPPORT" = yes ];then
|
||||
LD_OPTIM="$LD_OPTIM -fuse-ld=gold"
|
||||
LD_OPTIM_GOLD="-fuse-ld=gold"
|
||||
fi
|
||||
|
||||
if [ "$DEBUG" = yes ]; then
|
||||
@@ -28,9 +28,9 @@ else
|
||||
fi
|
||||
|
||||
TARGET_CPPFLAGS=
|
||||
TARGET_CFLAGS="$TARGET_CFLAGS -Wall -pipe $GCC_OPTIM $PROJECT_CFLAGS"
|
||||
TARGET_CFLAGS="$TARGET_CFLAGS -Wall -pipe $GCC_OPTIM $GCC_OPTIM_LTO $PROJECT_CFLAGS"
|
||||
TARGET_CXXFLAGS="$TARGET_CFLAGS"
|
||||
TARGET_LDFLAGS="$TARGET_LDFLAGS $LD_OPTIM $GCC_OPTIM"
|
||||
TARGET_LDFLAGS="$TARGET_LDFLAGS $LD_OPTIM $LD_OPTIM_GOLD $LD_OPTIM_LTO $GCC_OPTIM"
|
||||
TARGET_LIBDIR="$SYSROOT_PREFIX/lib $SYSROOT_PREFIX/usr/lib"
|
||||
TARGET_INCDIR="$SYSROOT_PREFIX/include $SYSROOT_PREFIX/usr/include"
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# VERSION: set full version, use "devel" for development version
|
||||
OPENELEC_VERSION="3.95.4"
|
||||
OPENELEC_VERSION="4.0.3"
|
||||
|
||||
# OS_VERSION: OS Version
|
||||
OS_VERSION="4.0"
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
From 180283e2307b07bbd3958d24382aab8271dd4c1d Mon Sep 17 00:00:00 2001
|
||||
From: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
Date: Mon, 30 Sep 2013 23:46:50 +0300
|
||||
Subject: [PATCH 1/1] amixer: actually print all TLVs in a container TLV
|
||||
|
||||
Due to a wrong indexing of tlv[] decode_tlv() always skips to the end of
|
||||
the container TLV since the used tlv[1] contains the container TLV size
|
||||
instead of the intended element size.
|
||||
|
||||
This causes, for example, only the first HDMI channel map TLV to be
|
||||
shown.
|
||||
|
||||
Fix the indexing to actually use the element size.
|
||||
|
||||
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
amixer/amixer.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/amixer/amixer.c b/amixer/amixer.c
|
||||
index 7727943..b83b0c3 100644
|
||||
--- a/amixer/amixer.c
|
||||
+++ b/amixer/amixer.c
|
||||
@@ -468,7 +468,7 @@ static void decode_tlv(unsigned int spaces, unsigned int *tlv, unsigned int tlv_
|
||||
return;
|
||||
}
|
||||
decode_tlv(spaces + 2, tlv + idx, tlv[idx+1] + 8);
|
||||
- idx += 2 + (tlv[1] + sizeof(unsigned int) - 1) / sizeof(unsigned int);
|
||||
+ idx += 2 + (tlv[idx+1] + sizeof(unsigned int) - 1) / sizeof(unsigned int);
|
||||
}
|
||||
break;
|
||||
case SND_CTL_TLVT_DB_SCALE:
|
||||
--
|
||||
1.7.11.7
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
From f1e991e81350e9388ab6cf04a64ac4b4389a588c Mon Sep 17 00:00:00 2001
|
||||
From: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
Date: Tue, 1 Oct 2013 23:46:53 +0300
|
||||
Subject: [PATCH] amixer: fix indentation when printing container TLV contents
|
||||
|
||||
decode_tlv() adds indentation in the beginning, with the expectation
|
||||
that the TLV will be printed on the line afterwards in a switch-case.
|
||||
|
||||
However, in the case of a container TLV the switch-case simply adds
|
||||
another level of indentation and calls decode_tlv() for the inner TLVs.
|
||||
This causes the first inner TLV to be printed with too much indentation
|
||||
and double '|'.
|
||||
|
||||
Fix that by printing "container" and a newline for container TLVs, so
|
||||
that the result is as follows:
|
||||
: values=0,0,0,0,0,0,0,0
|
||||
| container
|
||||
| chmap-variable=FL,FR
|
||||
| chmap-variable=FL,FR,LFE
|
||||
| chmap-variable=FL,FR,FC
|
||||
|
||||
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
amixer/amixer.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/amixer/amixer.c b/amixer/amixer.c
|
||||
index b83b0c3..cf82892 100644
|
||||
--- a/amixer/amixer.c
|
||||
+++ b/amixer/amixer.c
|
||||
@@ -460,6 +460,7 @@ static void decode_tlv(unsigned int spaces, unsigned int *tlv, unsigned int tlv_
|
||||
}
|
||||
switch (type) {
|
||||
case SND_CTL_TLVT_CONTAINER:
|
||||
+ printf("container\n");
|
||||
size += sizeof(unsigned int) -1;
|
||||
size /= sizeof(unsigned int);
|
||||
while (idx < size) {
|
||||
--
|
||||
1.7.11.7
|
||||
|
||||
@@ -0,0 +1,232 @@
|
||||
From a1992044d5813371ce71f5252187942f943b198d Mon Sep 17 00:00:00 2001
|
||||
From: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
Date: Tue, 12 Nov 2013 00:04:02 +0200
|
||||
Subject: [PATCH] speaker-test: Fix chmapped channel selection without
|
||||
specified chmap
|
||||
|
||||
The channel selection currently does not work properly when there is a
|
||||
driver-provided non-ALSA-traditional channel map but no manual channel
|
||||
map was explicitely requested with "-m".
|
||||
|
||||
For example, the CEA/HDMI 8ch map is FL,FR,RLC,RRC,FC,LFE,RL,RR. Note
|
||||
that it is otherwise the same as the traditional ALSA channel map,
|
||||
except that the traditional rear speakers are considered
|
||||
rear-center speakers and the traditional side speakers are considered
|
||||
rear speakers.
|
||||
|
||||
Speaker-test tries to play back channels in this following order:
|
||||
0, /* Front Left */
|
||||
4, /* Center */
|
||||
1, /* Front Right */
|
||||
7, /* Side Right */
|
||||
3, /* Rear Right */
|
||||
2, /* Rear Left */
|
||||
6, /* Side Left */
|
||||
5, /* LFE */
|
||||
|
||||
When it is the time to play back Side Left/Right, speaker-test tries to
|
||||
look for SL/SR in the chmap, but doesn't find it, so it just plays back
|
||||
channels 6/7 (which indeed are the side speakers, or RL/RR in this
|
||||
channel map - so the correct channels are selected).
|
||||
|
||||
When it becomes the time to playback Rear Left/Right, speaker-test again
|
||||
tries to find RL/RR in the chmap, and this time it does find them in the
|
||||
chmap positions 6/7.
|
||||
|
||||
So the channels 6/7 are tested twice and 2/3 are never tested.
|
||||
|
||||
To fix this, define a generic playback order channel_order[] to be used
|
||||
when the channel map is present (but not user-defined) and generate a
|
||||
(speaker/playback number => channel number) mapping with the channels
|
||||
ordered in the following order:
|
||||
1. regular channels found in channel_order[] in the defined order,
|
||||
2. channels not found in channel_order[] ordered by channel number.
|
||||
3. UNKNOWN channels ordered by channel number.
|
||||
4. NA channels ordered by channel number.
|
||||
For channels outside the channel map just use their channel numbers (so
|
||||
they will be last after all of the above).
|
||||
|
||||
For example, if the playback device has a fictional default channel map
|
||||
of FR,FL,UNKNOWN1,FOO,BAR,RR,RL,UNKNOWN2, the playback order will be
|
||||
FL,FR,RR,RL,FOO,BAR,UNKNOWN1,UNKNOWN2(,any_extra_channels).
|
||||
|
||||
When the channel mapping is specified manually, the specified order is
|
||||
used for playback as before.
|
||||
|
||||
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
speaker-test/speaker-test.c | 113 +++++++++++++++++++++++++++++++++++---------
|
||||
1 file changed, 91 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/speaker-test/speaker-test.c b/speaker-test/speaker-test.c
|
||||
index d35065f..25b08dc 100644
|
||||
--- a/speaker-test/speaker-test.c
|
||||
+++ b/speaker-test/speaker-test.c
|
||||
@@ -88,6 +88,8 @@ enum {
|
||||
#define BE_INT(v) (v)
|
||||
#endif
|
||||
|
||||
+#define ARRAY_SIZE(x) (int)(sizeof(x)/sizeof(x[0]))
|
||||
+
|
||||
static char *device = "default"; /* playback device */
|
||||
static snd_pcm_format_t format = SND_PCM_FORMAT_S16; /* sample format */
|
||||
static unsigned int rate = 48000; /* stream rate */
|
||||
@@ -110,6 +112,7 @@ static snd_pcm_t *pcm_handle = NULL;
|
||||
#ifdef CONFIG_SUPPORT_CHMAP
|
||||
static snd_pcm_chmap_t *channel_map;
|
||||
static int channel_map_set;
|
||||
+static unsigned int *ordered_channels;
|
||||
#endif
|
||||
|
||||
static const char *const channel_name[MAX_CHANNELS] = {
|
||||
@@ -156,36 +159,94 @@ static const int channels8[] = {
|
||||
5, /* LFE */
|
||||
};
|
||||
|
||||
-static int get_mapped_channel(int chn)
|
||||
-{
|
||||
#ifdef CONFIG_SUPPORT_CHMAP
|
||||
- static const int maps[MAX_CHANNELS] = {
|
||||
- SND_CHMAP_FL,
|
||||
- SND_CHMAP_FR,
|
||||
- SND_CHMAP_RL,
|
||||
- SND_CHMAP_RR,
|
||||
- SND_CHMAP_FC,
|
||||
- SND_CHMAP_LFE,
|
||||
- SND_CHMAP_SL,
|
||||
- SND_CHMAP_SR,
|
||||
- };
|
||||
+/* circular clockwise and bottom-to-top order */
|
||||
+static const int channel_order[] = {
|
||||
+ [SND_CHMAP_FLW] = 10,
|
||||
+ [SND_CHMAP_FL] = 20,
|
||||
+ [SND_CHMAP_TFL] = 30,
|
||||
+ [SND_CHMAP_FLC] = 40,
|
||||
+ [SND_CHMAP_TFLC] = 50,
|
||||
+ [SND_CHMAP_FC] = 60,
|
||||
+ [SND_CHMAP_TFC] = 70,
|
||||
+ [SND_CHMAP_FRC] = 80,
|
||||
+ [SND_CHMAP_TFRC] = 90,
|
||||
+ [SND_CHMAP_FR] = 100,
|
||||
+ [SND_CHMAP_TFR] = 110,
|
||||
+ [SND_CHMAP_FRW] = 120,
|
||||
+ [SND_CHMAP_SR] = 130,
|
||||
+ [SND_CHMAP_TSR] = 140,
|
||||
+ [SND_CHMAP_RR] = 150,
|
||||
+ [SND_CHMAP_TRR] = 160,
|
||||
+ [SND_CHMAP_RRC] = 170,
|
||||
+ [SND_CHMAP_RC] = 180,
|
||||
+ [SND_CHMAP_TRC] = 190,
|
||||
+ [SND_CHMAP_RLC] = 200,
|
||||
+ [SND_CHMAP_RL] = 210,
|
||||
+ [SND_CHMAP_TRL] = 220,
|
||||
+ [SND_CHMAP_SL] = 230,
|
||||
+ [SND_CHMAP_TSL] = 240,
|
||||
+ [SND_CHMAP_BC] = 250,
|
||||
+ [SND_CHMAP_TC] = 260,
|
||||
+ [SND_CHMAP_LLFE] = 270,
|
||||
+ [SND_CHMAP_LFE] = 280,
|
||||
+ [SND_CHMAP_RLFE] = 290,
|
||||
+ /* not in table = 10000 */
|
||||
+ [SND_CHMAP_UNKNOWN] = 20000,
|
||||
+ [SND_CHMAP_NA] = 30000,
|
||||
+};
|
||||
|
||||
- if (channel_map && maps[chn]) {
|
||||
- int i;
|
||||
- for (i = 0; i < channel_map->channels; i++) {
|
||||
- if (channel_map->pos[i] == maps[chn])
|
||||
- return i;
|
||||
- }
|
||||
+static int chpos_cmp(const void *chnum1p, const void *chnum2p)
|
||||
+{
|
||||
+ int chnum1 = *(int *)chnum1p;
|
||||
+ int chnum2 = *(int *)chnum2p;
|
||||
+ int chpos1 = channel_map->pos[chnum1];
|
||||
+ int chpos2 = channel_map->pos[chnum2];
|
||||
+ int weight1 = 10000;
|
||||
+ int weight2 = 10000;
|
||||
+
|
||||
+ if (chpos1 < ARRAY_SIZE(channel_order) && channel_order[chpos1])
|
||||
+ weight1 = channel_order[chpos1];
|
||||
+ if (chpos2 < ARRAY_SIZE(channel_order) && channel_order[chpos2])
|
||||
+ weight2 = channel_order[chpos2];
|
||||
+
|
||||
+ if (weight1 == weight2) {
|
||||
+ /* order by channel number if both have the same position (e.g. UNKNOWN)
|
||||
+ * or if neither is in channel_order[] */
|
||||
+ return chnum1 - chnum2;
|
||||
}
|
||||
-#endif
|
||||
- return chn;
|
||||
+
|
||||
+ /* order according to channel_order[] */
|
||||
+ return weight1 - weight2;
|
||||
+}
|
||||
+
|
||||
+static int *order_channels(void)
|
||||
+{
|
||||
+ /* create a (playback order => channel number) table with channels ordered
|
||||
+ * according to channel_order[] values */
|
||||
+ int i;
|
||||
+ int *ordered_chs;
|
||||
+
|
||||
+ ordered_chs = calloc(channel_map->channels, sizeof(*ordered_chs));
|
||||
+ if (!ordered_chs)
|
||||
+ return NULL;
|
||||
+
|
||||
+ for (i = 0; i < channel_map->channels; i++)
|
||||
+ ordered_chs[i] = i;
|
||||
+
|
||||
+ qsort(ordered_chs, channel_map->channels, sizeof(*ordered_chs), chpos_cmp);
|
||||
+
|
||||
+ return ordered_chs;
|
||||
}
|
||||
+#endif
|
||||
|
||||
static int get_speaker_channel(int chn)
|
||||
{
|
||||
#ifdef CONFIG_SUPPORT_CHMAP
|
||||
- if (channel_map_set)
|
||||
+ if (channel_map_set || (ordered_channels && chn >= channel_map->channels))
|
||||
return chn;
|
||||
+ if (ordered_channels)
|
||||
+ return ordered_channels[chn];
|
||||
#endif
|
||||
|
||||
switch (channels) {
|
||||
@@ -200,7 +261,7 @@ static int get_speaker_channel(int chn)
|
||||
break;
|
||||
}
|
||||
|
||||
- return get_mapped_channel(chn);
|
||||
+ return chn;
|
||||
}
|
||||
|
||||
static const char *get_channel_name(int chn)
|
||||
@@ -611,6 +672,11 @@ static int config_chmap(snd_pcm_t *handle, const char *mapstr)
|
||||
}
|
||||
|
||||
channel_map = snd_pcm_get_chmap(handle);
|
||||
+
|
||||
+ /* create a channel order table for default layouts */
|
||||
+ if (channel_map)
|
||||
+ ordered_channels = order_channels();
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
@@ -1230,6 +1296,9 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
|
||||
free(frames);
|
||||
+#ifdef CONFIG_SUPPORT_CHMAP
|
||||
+ free(ordered_channels);
|
||||
+#endif
|
||||
|
||||
return prg_exit(EXIT_SUCCESS);
|
||||
}
|
||||
--
|
||||
1.7.11.7
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
From 5b0c6da0d8166cd404379740c5f75fda44ca5806 Mon Sep 17 00:00:00 2001
|
||||
From: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
Date: Sun, 10 Nov 2013 20:29:18 +0200
|
||||
Subject: [PATCH] speaker-test: Always show chmap channel names if available
|
||||
|
||||
Currently speaker-test only uses channel names retrieved by
|
||||
snd_pcm_chmap_long_name() when a channel map has been manually set.
|
||||
|
||||
However, the device may provide a default (or fixed) channel map that
|
||||
differs from the traditional ALSA map, in which case wrong channel names
|
||||
are shown.
|
||||
|
||||
Fix that by always using the name from the channel map when a channel
|
||||
map is present.
|
||||
|
||||
Note that the names retrieved by snd_pcm_chmap_long_name() are not
|
||||
currently localized via gettext.
|
||||
|
||||
Also note that Linux kernel HDMI driver reported wrong default channel
|
||||
maps before 56cac413dd6d43af8355f5d1f90a199b540f73fc ("ALSA: hda - hdmi:
|
||||
Fix reported channel map on common default layouts").
|
||||
|
||||
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
speaker-test/speaker-test.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/speaker-test/speaker-test.c b/speaker-test/speaker-test.c
|
||||
index 25b08dc..101bb0d 100644
|
||||
--- a/speaker-test/speaker-test.c
|
||||
+++ b/speaker-test/speaker-test.c
|
||||
@@ -267,7 +267,7 @@ static int get_speaker_channel(int chn)
|
||||
static const char *get_channel_name(int chn)
|
||||
{
|
||||
#ifdef CONFIG_SUPPORT_CHMAP
|
||||
- if (channel_map_set && chn < channel_map->channels) {
|
||||
+ if (channel_map && chn < channel_map->channels) {
|
||||
const char *name = snd_pcm_chmap_long_name(channel_map->pos[chn]);
|
||||
return name ? name : "Unknown";
|
||||
}
|
||||
--
|
||||
1.7.11.7
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
From 58752c3ae32e03d676fa225c99c9a8dde9de39ed Mon Sep 17 00:00:00 2001
|
||||
From: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
Date: Sun, 10 Nov 2013 20:29:19 +0200
|
||||
Subject: [PATCH] speaker-test: Show out-of-chmap channels as Unknown
|
||||
|
||||
Currently speaker-test falls back to ALSA default channel names for
|
||||
channels out-of-chmap.
|
||||
|
||||
This causes e.g. the 4th channel of
|
||||
$ speaker-test -c4 -Dhdmi -m "FR,FL,FC"
|
||||
to be shown as "Rear Right".
|
||||
|
||||
Change the code to show such channels as Unknown instead, similar to
|
||||
when snd_pcm_chmap_long_name() does not know the name.
|
||||
|
||||
Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
|
||||
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||
---
|
||||
speaker-test/speaker-test.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/speaker-test/speaker-test.c b/speaker-test/speaker-test.c
|
||||
index 101bb0d..261f399 100644
|
||||
--- a/speaker-test/speaker-test.c
|
||||
+++ b/speaker-test/speaker-test.c
|
||||
@@ -267,8 +267,10 @@ static int get_speaker_channel(int chn)
|
||||
static const char *get_channel_name(int chn)
|
||||
{
|
||||
#ifdef CONFIG_SUPPORT_CHMAP
|
||||
- if (channel_map && chn < channel_map->channels) {
|
||||
- const char *name = snd_pcm_chmap_long_name(channel_map->pos[chn]);
|
||||
+ if (channel_map) {
|
||||
+ const char *name = NULL;
|
||||
+ if (chn < channel_map->channels)
|
||||
+ name = snd_pcm_chmap_long_name(channel_map->pos[chn]);
|
||||
return name ? name : "Unknown";
|
||||
}
|
||||
#endif
|
||||
--
|
||||
1.7.11.7
|
||||
|
||||
@@ -37,101 +37,95 @@ if [ -f $HOME/.config/sound.conf ]; then
|
||||
|
||||
else
|
||||
|
||||
# get card num
|
||||
card=`echo $1 | sed 's/[^0-9]*//g'`
|
||||
|
||||
# set common mixer params
|
||||
mixer 0 Master 100%
|
||||
mixer 0 Front 100%
|
||||
mixer 0 PCM 100%
|
||||
mixer 0 Synth 100%
|
||||
mixer $card Master 100%
|
||||
mixer $card Front 100%
|
||||
mixer $card PCM 100%
|
||||
mixer $card Synth 100%
|
||||
|
||||
# mute CD, since using digital audio instead
|
||||
mixer 0 CD 0% mute
|
||||
mixer $card CD 0% mute
|
||||
|
||||
# Only unmute Line and Aux if they are possibly used.
|
||||
# mixer 0 Line 100%
|
||||
# mixer 0 Aux 100%
|
||||
# mixer $card Line 100%
|
||||
# mixer $card Aux 100%
|
||||
|
||||
# mute mic
|
||||
mixer 0 Mic 0% mute
|
||||
mixer $card Mic 0% mute
|
||||
|
||||
# ESS 1969 chipset has 2 PCM channels
|
||||
mixer 0 PCM,1 100%
|
||||
mixer $card PCM,1 100%
|
||||
|
||||
# Trident/YMFPCI/emu10k1
|
||||
mixer 0 Wave 100%
|
||||
mixer 0 Music 100%
|
||||
mixer 0 AC97 100%
|
||||
mixer 0 Surround 90%
|
||||
mixer 0 'Surround Digital' 90%
|
||||
mixer 0 'Wave Surround' 90%
|
||||
mixer 0 'Duplicate Front' 90%
|
||||
mixer 0 'Sigmatel 4-Speaker Stereo' 90%
|
||||
mixer $card Wave 100%
|
||||
mixer $card Music 100%
|
||||
mixer $card AC97 100%
|
||||
mixer $card Surround 90%
|
||||
mixer $card 'Surround Digital' 90%
|
||||
mixer $card 'Wave Surround' 90%
|
||||
mixer $card 'Duplicate Front' 90%
|
||||
mixer $card 'Sigmatel 4-Speaker Stereo' 90%
|
||||
|
||||
# CS4237B chipset:
|
||||
mixer 0 'Master Digital' 100%
|
||||
mixer $card 'Master Digital' 100%
|
||||
|
||||
# DRC
|
||||
mixer 0 'Dynamic Range Compression' 90%
|
||||
mixer $card 'Dynamic Range Compression' 90%
|
||||
|
||||
# Envy24 chips with analog outs
|
||||
mixer 0 DAC 100%
|
||||
mixer 0 DAC,0 100%
|
||||
mixer 0 DAC,1 100%
|
||||
mixer $card DAC 100%
|
||||
mixer $card DAC,0 100%
|
||||
mixer $card DAC,1 100%
|
||||
|
||||
# some notebooks use headphone instead of master
|
||||
mixer 0 Headphone 100%
|
||||
mixer 0 Speaker 100%
|
||||
mixer 0 'Internal Speaker' 0% mute
|
||||
mixer 0 Playback 100%
|
||||
mixer 1 Headphone 100%
|
||||
mixer 1 Speaker 100%
|
||||
|
||||
mixer 0 Center 100%
|
||||
mixer 0 LFE 100%
|
||||
mixer 0 Center/LFE 100%
|
||||
mixer $card Headphone 100%
|
||||
mixer $card Speaker 100%
|
||||
mixer $card 'Internal Speaker' 0% mute
|
||||
mixer $card Playback 100%
|
||||
mixer $card Headphone 100%
|
||||
mixer $card Speaker 100%
|
||||
mixer $card Center 100%
|
||||
mixer $card LFE 100%
|
||||
mixer $card Center/LFE 100%
|
||||
|
||||
# Intel P4P800-MX (Ubuntu bug #5813)
|
||||
mixer 0 'Master Playback Switch' on
|
||||
mixer $card 'Master Playback Switch' on
|
||||
|
||||
# set digital output mixer params
|
||||
mixer 0 'IEC958' 100% on
|
||||
mixer 0 'IEC958 Output' 100%
|
||||
mixer 0 'IEC958 Coaxial' 100%
|
||||
mixer 0 'IEC958 LiveDrive' 100%
|
||||
mixer 0 'IEC958 Optical Raw' 100%
|
||||
mixer 0 'SPDIF Out' 100%
|
||||
mixer 0 'SPDIF Front' 100%
|
||||
mixer 0 'SPDIF Rear' 100%
|
||||
mixer 0 'SPDIF Center/LFE' 100%
|
||||
mixer 0 'Master Digital' 100%
|
||||
mixer $card 'IEC958' 100% on
|
||||
mixer $card 'IEC958 Output' 100%
|
||||
mixer $card 'IEC958 Coaxial' 100%
|
||||
mixer $card 'IEC958 LiveDrive' 100%
|
||||
mixer $card 'IEC958 Optical Raw' 100%
|
||||
mixer $card 'SPDIF Out' 100%
|
||||
mixer $card 'SPDIF Front' 100%
|
||||
mixer $card 'SPDIF Rear' 100%
|
||||
mixer $card 'SPDIF Center/LFE' 100%
|
||||
mixer $card 'Master Digital' 100%
|
||||
|
||||
mixer 0 'Analog Front' 100%
|
||||
mixer 0 'Analog Rear' 100%
|
||||
mixer 0 'Analog Center/LFE' 100%
|
||||
mixer $card 'Analog Front' 100%
|
||||
mixer $card 'Analog Rear' 100%
|
||||
mixer $card 'Analog Center/LFE' 100%
|
||||
|
||||
# ASRock ION 330 (and perhaps others) has 2 IEC958 channels
|
||||
mixer 0 IEC958,0 on
|
||||
mixer 0 IEC958,1 on
|
||||
mixer $card IEC958,0 on
|
||||
mixer $card IEC958,1 on
|
||||
|
||||
# some ION2 has much more IEC958 channels ...
|
||||
mixer 0 IEC958,2 on
|
||||
mixer 0 IEC958,3 on
|
||||
|
||||
# ... or "simply" more soundchips
|
||||
mixer 1 IEC958,0 on
|
||||
mixer 1 IEC958,1 on
|
||||
mixer 1 IEC958,2 on
|
||||
mixer 1 IEC958,3 on
|
||||
mixer $card IEC958,2 on
|
||||
mixer $card IEC958,3 on
|
||||
|
||||
# ASRock ION 330 has Master Front set to 0
|
||||
mixer 0 'Master Front' 100%
|
||||
mixer $card 'Master Front' 100%
|
||||
|
||||
# Shuttle XS35GT needs this too
|
||||
mixer 0 'Master',0 100% on
|
||||
mixer $card 'Master',0 100% on
|
||||
|
||||
# and this for various Fusion devices like Zotac ZBOX
|
||||
mixer 1 'Master',0 100% on
|
||||
mixer 1 'Front',0 100% on
|
||||
|
||||
mixer $card 'Front',0 100% on
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
||||
@@ -17,4 +17,4 @@
|
||||
################################################################################
|
||||
|
||||
# When a sound device is detected, restore the volume settings
|
||||
KERNEL=="controlC[0-9]*", NAME="snd/%k", ACTION=="add", RUN+="soundconfig"
|
||||
KERNEL=="controlC[0-9]*", NAME="snd/%k", ACTION=="add", RUN+="soundconfig %k"
|
||||
|
||||
@@ -49,11 +49,6 @@ else
|
||||
PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET --disable-sse"
|
||||
fi
|
||||
|
||||
pre_configure_target() {
|
||||
# flac-1.3.0 fails to build with LTO support
|
||||
strip_lto
|
||||
}
|
||||
|
||||
post_makeinstall_target() {
|
||||
rm -rf $INSTALL/usr/bin
|
||||
}
|
||||
|
||||
@@ -25,7 +25,6 @@ PKG_SITE="http://www.zlib.net"
|
||||
PKG_URL="http://www.zlib.net/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_DEPENDS_HOST=""
|
||||
PKG_DEPENDS_INIT="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="compress"
|
||||
PKG_SHORTDESC="zlib: A general purpose (ZIP) data compression library"
|
||||
@@ -36,7 +35,6 @@ PKG_AUTORECONF="no"
|
||||
|
||||
TARGET_CONFIGURE_OPTS="--prefix=/usr"
|
||||
HOST_CONFIGURE_OPTS="--prefix=$ROOT/$TOOLCHAIN"
|
||||
INIT_CONFIGURE_OPTS="--prefix=/"
|
||||
|
||||
pre_build_target() {
|
||||
mkdir -p $PKG_BUILD/.$TARGET_NAME
|
||||
@@ -47,8 +45,3 @@ pre_build_host() {
|
||||
mkdir -p $PKG_BUILD/.$HOST_NAME
|
||||
cp -RP $PKG_BUILD/* $PKG_BUILD/.$HOST_NAME
|
||||
}
|
||||
|
||||
pre_build_init() {
|
||||
mkdir -p $PKG_BUILD/.$TARGET_NAME-init
|
||||
cp -RP $PKG_BUILD/* $PKG_BUILD/.$TARGET_NAME-init
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="sqlite"
|
||||
PKG_VERSION="autoconf-3080402"
|
||||
PKG_VERSION="autoconf-3080403"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="PublicDomain"
|
||||
|
||||
62
packages/devel/autoconf-2.64/package.mk
vendored
62
packages/devel/autoconf-2.64/package.mk
vendored
@@ -1,62 +0,0 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# OpenELEC is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="autoconf-2.64"
|
||||
PKG_VERSION="legacy"
|
||||
PKG_SOURCE_DIR="$PKG_NAME"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://sources.redhat.com/autoconf/"
|
||||
PKG_URL="http://ftp.gnu.org/gnu/autoconf/$PKG_NAME.tar.bz2"
|
||||
PKG_SOURCE_DIR="$PKG_NAME"
|
||||
PKG_DEPENDS_HOST="ccache:host m4:host"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="devel"
|
||||
PKG_SHORTDESC="autoconf: A GNU tool for automatically configuring source code"
|
||||
PKG_LONGDESC="Autoconf is an extensible package of m4 macros that produce shell scripts to automatically configure software source code packages. These scripts can adapt the packages to many kinds of UNIX-like systems without manual user intervention. Autoconf creates a configuration script for a package from a template file that lists the operating system features that the package can use, in the form of m4 macro calls."
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
PKG_CONFIGURE_OPTS_HOST="EMACS=no \
|
||||
ac_cv_path_M4=$ROOT/$TOOLCHAIN/bin/m4 \
|
||||
ac_cv_prog_gnu_m4_gnu=no \
|
||||
--target=$TARGET_NAME \
|
||||
--program-suffix=-2.64"
|
||||
|
||||
make_host() {
|
||||
: # nothing todo
|
||||
}
|
||||
|
||||
makeinstall_host() {
|
||||
make install \
|
||||
prefix=$ROOT/$TOOLCHAIN \
|
||||
pkgdatadir=$ROOT/$TOOLCHAIN/share/$PKG_NAME \
|
||||
pkgdatadir=$ROOT/$TOOLCHAIN/lib/$PKG_NAME \
|
||||
pkgdatadir=$ROOT/$TOOLCHAIN/include/$PKG_NAME \
|
||||
install
|
||||
|
||||
make clean
|
||||
make install \
|
||||
prefix=$SYSROOT_PREFIX/usr \
|
||||
pkgdatadir=$SYSROOT_PREFIX/usr/share/$PKG_NAME \
|
||||
pkgdatadir=$SYSROOT_PREFIX/usr/lib/$PKG_NAME \
|
||||
pkgdatadir=$SYSROOT_PREFIX/usr/include/$PKG_NAME \
|
||||
install
|
||||
}
|
||||
62
packages/devel/autoconf-2.68/package.mk
vendored
62
packages/devel/autoconf-2.68/package.mk
vendored
@@ -1,62 +0,0 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# OpenELEC is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="autoconf-2.68"
|
||||
PKG_VERSION="legacy"
|
||||
PKG_SOURCE_DIR="$PKG_NAME"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://sources.redhat.com/autoconf/"
|
||||
PKG_URL="http://ftp.gnu.org/gnu/autoconf/$PKG_NAME.tar.bz2"
|
||||
PKG_SOURCE_DIR="$PKG_NAME"
|
||||
PKG_DEPENDS_HOST="ccache:host m4:host"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="devel"
|
||||
PKG_SHORTDESC="autoconf: A GNU tool for automatically configuring source code"
|
||||
PKG_LONGDESC="Autoconf is an extensible package of m4 macros that produce shell scripts to automatically configure software source code packages. These scripts can adapt the packages to many kinds of UNIX-like systems without manual user intervention. Autoconf creates a configuration script for a package from a template file that lists the operating system features that the package can use, in the form of m4 macro calls."
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
PKG_CONFIGURE_OPTS_HOST="EMACS=no \
|
||||
ac_cv_path_M4=$ROOT/$TOOLCHAIN/bin/m4 \
|
||||
ac_cv_prog_gnu_m4_gnu=no \
|
||||
--target=$TARGET_NAME \
|
||||
--program-suffix=-2.68"
|
||||
|
||||
make_host() {
|
||||
: # nothing todo
|
||||
}
|
||||
|
||||
makeinstall_host() {
|
||||
make install \
|
||||
prefix=$ROOT/$TOOLCHAIN \
|
||||
pkgdatadir=$ROOT/$TOOLCHAIN/share/$PKG_NAME \
|
||||
pkgdatadir=$ROOT/$TOOLCHAIN/lib/$PKG_NAME \
|
||||
pkgdatadir=$ROOT/$TOOLCHAIN/include/$PKG_NAME \
|
||||
install
|
||||
|
||||
make clean
|
||||
make install \
|
||||
prefix=$SYSROOT_PREFIX/usr \
|
||||
pkgdatadir=$SYSROOT_PREFIX/usr/share/$PKG_NAME \
|
||||
pkgdatadir=$SYSROOT_PREFIX/usr/lib/$PKG_NAME \
|
||||
pkgdatadir=$SYSROOT_PREFIX/usr/include/$PKG_NAME \
|
||||
install
|
||||
}
|
||||
@@ -48,6 +48,10 @@ PKG_CONFIGURE_OPTS_HOST="--disable-tests \
|
||||
--disable-bash-completion \
|
||||
--enable-asserts=yes"
|
||||
|
||||
pre_configure_target() {
|
||||
CFLAGS="$CFLAGS -fPIC -DPIC"
|
||||
}
|
||||
|
||||
post_makeinstall_target() {
|
||||
rm -rf $INSTALL/usr/bin/dbus-binding-tool
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@ PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.eglibc.org/"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="ccache:host autotools:host autoconf-2.68:host linux:host gcc:bootstrap"
|
||||
PKG_DEPENDS_TARGET="ccache:host autotools:host autoconf:host linux:host gcc:bootstrap"
|
||||
PKG_DEPENDS_INIT="eglibc"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="toolchain/devel"
|
||||
@@ -70,7 +70,7 @@ EGLIBC_EXCLUDE_BIN="$EGLIBC_EXCLUDE_BIN xtrace zdump zic"
|
||||
pre_build_target() {
|
||||
cd $PKG_BUILD
|
||||
aclocal --force --verbose
|
||||
autoconf-2.68 --force --verbose
|
||||
autoconf --force --verbose
|
||||
cd -
|
||||
}
|
||||
|
||||
@@ -200,7 +200,6 @@ makeinstall_init() {
|
||||
mkdir -p $INSTALL/lib
|
||||
cp -PR $ROOT/$PKG_BUILD/.$TARGET_NAME/elf/ld*.so* $INSTALL/lib
|
||||
cp $ROOT/$PKG_BUILD/.$TARGET_NAME/libc.so.6 $INSTALL/lib
|
||||
cp $ROOT/$PKG_BUILD/.$TARGET_NAME/math/libm.so.6 $INSTALL/lib
|
||||
cp $ROOT/$PKG_BUILD/.$TARGET_NAME/nptl/libpthread.so.0 $INSTALL/lib
|
||||
|
||||
if [ "$TARGET_ARCH" = "arm" -a "$TARGET_FLOAT" = "hard" ]; then
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
From b702bd4fdb4aaebb6aadb3ce773bcc9eea8d2dc8 Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Thu, 24 Apr 2014 22:05:37 +0300
|
||||
Subject: [PATCH] allow newer autoconf
|
||||
|
||||
---
|
||||
aclocal.m4 | 5 -----
|
||||
1 files changed, 0 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/aclocal.m4 b/aclocal.m4
|
||||
index bc48586..0e3c7f4 100644
|
||||
--- a/aclocal.m4
|
||||
+++ b/aclocal.m4
|
||||
@@ -2,11 +2,6 @@ dnl We require that everyone use exactly the same Autoconf version so that
|
||||
dnl the internal functions defined and used by the main configure script
|
||||
dnl match those expected by the fragments.
|
||||
m4_define([GLIBC_AUTOCONF_VERSION], [2.68])
|
||||
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), GLIBC_AUTOCONF_VERSION, [],
|
||||
- [m4_fatal(m4_flatten(
|
||||
-Exactly version GLIBC_AUTOCONF_VERSION of Autoconf is required but you have
|
||||
-m4_defn([AC_AUTOCONF_VERSION])
|
||||
-), [63])])dnl
|
||||
dnl
|
||||
dnl We define the macro GLIBC_PROVIDES to do an AC_PROVIDE for each macro
|
||||
dnl which appears in configure.ac before the sysdep configure scripts are run.
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="elfutils"
|
||||
PKG_VERSION="0.155"
|
||||
PKG_VERSION="0.158"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
@@ -32,16 +32,14 @@ PKG_LONGDESC="Elfutils is a collection of utilities, including eu-ld (a linker),
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--disable-werror \
|
||||
PKG_CONFIGURE_OPTS_TARGET="utrace_cv_cc_biarch=false \
|
||||
--disable-werror \
|
||||
--disable-progs \
|
||||
--with-zlib \
|
||||
--without-bzlib \
|
||||
--without-lzma"
|
||||
|
||||
pre_configure_target() {
|
||||
# elfutils fails to build with LTO support
|
||||
strip_lto
|
||||
|
||||
export CFLAGS="$CFLAGS -fPIC -DPIC"
|
||||
}
|
||||
|
||||
|
||||
@@ -1,92 +0,0 @@
|
||||
Allow the usage of an external implementation of the argp functions
|
||||
|
||||
uClibc lack the argp family of functions that glibc has. Therefore, we
|
||||
add a check in the configure script to see if argp_parse is available
|
||||
in the C library. If not, we look if it is available in the additional
|
||||
'argp' library. If so, we link against that library. If not, we error
|
||||
out.
|
||||
|
||||
This allows to build elfutils against uClibc with an external argp
|
||||
library.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: b/configure.ac
|
||||
===================================================================
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -269,6 +269,13 @@
|
||||
enable_progs=yes)
|
||||
AM_CONDITIONAL(ENABLE_PROGS, test "$enable_progs" = yes)
|
||||
|
||||
+AC_CHECK_FUNC([argp_parse])
|
||||
+if test "$ac_cv_func_argp_parse" != yes; then
|
||||
+ AC_CHECK_LIB([argp],[argp_parse],ARGP_LIBS=-largp,
|
||||
+ AC_MSG_ERROR([No argp_parse function available.]))
|
||||
+fi
|
||||
+AC_SUBST(ARGP_LIBS)
|
||||
+
|
||||
dnl Test for zlib and bzlib, gives ZLIB/BZLIB .am
|
||||
dnl conditional and config.h USE_ZLIB/USE_BZLIB #define.
|
||||
save_LIBS="$LIBS"
|
||||
Index: b/src/Makefile.am
|
||||
===================================================================
|
||||
--- a/src/Makefile.am
|
||||
+++ b/src/Makefile.am
|
||||
@@ -98,26 +98,29 @@
|
||||
# Buggy old compilers.
|
||||
readelf_no_Werror = yes
|
||||
|
||||
-readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
|
||||
+readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \
|
||||
+ $(ARGP_LIBS)
|
||||
nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \
|
||||
- $(demanglelib)
|
||||
-size_LDADD = $(libelf) $(libeu) $(libmudflap)
|
||||
-strip_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
|
||||
-ld_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
|
||||
+ $(demanglelib) $(ARGP_LIBS)
|
||||
+size_LDADD = $(libelf) $(libeu) $(libmudflap) $(ARGP_LIBS)
|
||||
+strip_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl $(ARGP_LIBS)
|
||||
+ld_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl $(ARGP_LIBS)
|
||||
if NATIVE_LD
|
||||
# -ldl is always needed for libebl.
|
||||
ld_LDADD += libld_elf.a
|
||||
endif
|
||||
ld_LDFLAGS = -rdynamic
|
||||
-elflint_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
|
||||
-findtextrel_LDADD = $(libdw) $(libelf) $(libmudflap)
|
||||
-addr2line_LDADD = $(libdw) $(libelf) $(libmudflap)
|
||||
-elfcmp_LDADD = $(libebl) $(libelf) $(libmudflap) -ldl
|
||||
-objdump_LDADD = $(libasm) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
|
||||
-ranlib_LDADD = libar.a $(libelf) $(libeu) $(libmudflap)
|
||||
-strings_LDADD = $(libelf) $(libeu) $(libmudflap)
|
||||
-ar_LDADD = libar.a $(libelf) $(libeu) $(libmudflap)
|
||||
-unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(libmudflap) -ldl
|
||||
+elflint_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl $(ARGP_LIBS)
|
||||
+findtextrel_LDADD = $(libdw) $(libelf) $(libmudflap) $(ARGP_LIBS)
|
||||
+addr2line_LDADD = $(libdw) $(libelf) $(libmudflap) $(ARGP_LIBS)
|
||||
+elfcmp_LDADD = $(libebl) $(libelf) $(libmudflap) -ldl $(ARGP_LIBS)
|
||||
+objdump_LDADD = $(libasm) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \
|
||||
+ $(ARGP_LIBS)
|
||||
+ranlib_LDADD = libar.a $(libelf) $(libeu) $(libmudflap) $(ARGP_LIBS)
|
||||
+strings_LDADD = $(libelf) $(libeu) $(libmudflap) $(ARGP_LIBS)
|
||||
+ar_LDADD = libar.a $(libelf) $(libeu) $(libmudflap) $(ARGP_LIBS)
|
||||
+unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(libmudflap) -ldl \
|
||||
+ $(ARGP_LIBS)
|
||||
|
||||
ldlex.o: ldscript.c
|
||||
ldlex_no_Werror = yes
|
||||
Index: b/libdw/Makefile.am
|
||||
===================================================================
|
||||
--- a/libdw/Makefile.am
|
||||
+++ b/libdw/Makefile.am
|
||||
@@ -111,7 +111,7 @@
|
||||
-Wl,--enable-new-dtags,-rpath,$(pkglibdir) \
|
||||
-Wl,--version-script,$<,--no-undefined \
|
||||
-Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\
|
||||
- -ldl $(zip_LIBS)
|
||||
+ -ldl $(zip_LIBS) $(ARGP_LIBS)
|
||||
if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
|
||||
ln -fs $@ $@.$(VERSION)
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
Provide a compatibility alias __memcpy
|
||||
|
||||
For some reason, libelf uses the internal glibc alias __memcpy, which
|
||||
doesn't exist in uClibc. Add a manual alias so that the build can
|
||||
proceed with uClibc.
|
||||
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||||
|
||||
Index: b/libelf/libelf.h
|
||||
===================================================================
|
||||
--- a/libelf/libelf.h
|
||||
+++ b/libelf/libelf.h
|
||||
@@ -34,6 +34,11 @@
|
||||
/* Get the ELF types. */
|
||||
#include <elf.h>
|
||||
|
||||
+#ifndef _LIBC
|
||||
+#ifndef __mempcpy
|
||||
+#define __mempcpy mempcpy
|
||||
+#endif
|
||||
+#endif
|
||||
|
||||
/* Known translation types. */
|
||||
typedef enum
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,28 @@
|
||||
commit 7f1eec317db79627b473c5b149a22a1b20d1f68f
|
||||
Author: Mark Wielaard <mjw@redhat.com>
|
||||
Date: Wed Apr 9 11:33:23 2014 +0200
|
||||
|
||||
CVE-2014-0172 Check for overflow before calling malloc to uncompress data.
|
||||
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1085663
|
||||
|
||||
Reported-by: Florian Weimer <fweimer@redhat.com>
|
||||
Signed-off-by: Mark Wielaard <mjw@redhat.com>
|
||||
|
||||
diff --git a/libdw/dwarf_begin_elf.c b/libdw/dwarf_begin_elf.c
|
||||
index 79daeac..34ea373 100644
|
||||
--- a/libdw/dwarf_begin_elf.c
|
||||
+++ b/libdw/dwarf_begin_elf.c
|
||||
@@ -282,6 +282,12 @@ check_section (Dwarf *result, GElf_Ehdr *ehdr, Elf_Scn *scn, bool inscngrp)
|
||||
memcpy (&size, data->d_buf + 4, sizeof size);
|
||||
size = be64toh (size);
|
||||
|
||||
+ /* Check for unsigned overflow so malloc always allocated
|
||||
+ enough memory for both the Elf_Data header and the
|
||||
+ uncompressed section data. */
|
||||
+ if (unlikely (sizeof (Elf_Data) + size < size))
|
||||
+ break;
|
||||
+
|
||||
Elf_Data *zdata = malloc (sizeof (Elf_Data) + size);
|
||||
if (unlikely (zdata == NULL))
|
||||
break;
|
||||
@@ -0,0 +1,62 @@
|
||||
commit 65cefbd0793c0f9e90a326d7bebf0a47c93294ad
|
||||
Author: Josh Stone <jistone@redhat.com>
|
||||
Date: Tue Mar 11 10:19:28 2014 -0700
|
||||
|
||||
libdwfl: dwfl_module_getdwarf.c (open_elf) only (re)set mod->e_type once.
|
||||
|
||||
As noted in https://sourceware.org/bugzilla/show_bug.cgi?id=16676#c2 for
|
||||
systemtap, the heuristic used by open_elf to set the kernel Dwfl_Module
|
||||
type to ET_DYN, even if the underlying ELF file e_type was set to
|
||||
ET_EXEC, could trigger erroneously for non-kernel/non-main (debug or
|
||||
aux) files. Make sure we only set the e_type of the module once when
|
||||
processing the main file (when the phdrs can be trusted).
|
||||
|
||||
diff --git a/libdwfl/dwfl_module_getdwarf.c b/libdwfl/dwfl_module_getdwarf.c
|
||||
index c4bd739..f8de80b 100644
|
||||
--- a/libdwfl/dwfl_module_getdwarf.c
|
||||
+++ b/libdwfl/dwfl_module_getdwarf.c
|
||||
@@ -1,5 +1,5 @@
|
||||
/* Find debugging and symbol information for a module in libdwfl.
|
||||
- Copyright (C) 2005-2012 Red Hat, Inc.
|
||||
+ Copyright (C) 2005-2012, 2014 Red Hat, Inc.
|
||||
This file is part of elfutils.
|
||||
|
||||
This file is free software; you can redistribute it and/or modify
|
||||
@@ -77,7 +77,7 @@ open_elf (Dwfl_Module *mod, struct dwfl_file *file)
|
||||
return DWFL_E (LIBELF, elf_errno ());
|
||||
}
|
||||
|
||||
- if (mod->e_type != ET_REL)
|
||||
+ if (ehdr->e_type != ET_REL)
|
||||
{
|
||||
/* In any non-ET_REL file, we compute the "synchronization address".
|
||||
|
||||
@@ -131,11 +131,24 @@ open_elf (Dwfl_Module *mod, struct dwfl_file *file)
|
||||
}
|
||||
}
|
||||
|
||||
- mod->e_type = ehdr->e_type;
|
||||
+ /* We only want to set the module e_type explictly once, derived from
|
||||
+ the main ELF file. (It might be changed for the kernel, because
|
||||
+ that is special - see below.) open_elf is always called first for
|
||||
+ the main ELF file, because both find_dw and find_symtab call
|
||||
+ __libdwfl_getelf first to open the main file. So don't let debug
|
||||
+ or aux files override the module e_type. The kernel heuristic
|
||||
+ below could otherwise trigger for non-kernel/non-main files, since
|
||||
+ their phdrs might not match the actual load addresses. */
|
||||
+ if (file == &mod->main)
|
||||
+ {
|
||||
+ mod->e_type = ehdr->e_type;
|
||||
|
||||
- /* Relocatable Linux kernels are ET_EXEC but act like ET_DYN. */
|
||||
- if (mod->e_type == ET_EXEC && file->vaddr != mod->low_addr)
|
||||
- mod->e_type = ET_DYN;
|
||||
+ /* Relocatable Linux kernels are ET_EXEC but act like ET_DYN. */
|
||||
+ if (mod->e_type == ET_EXEC && file->vaddr != mod->low_addr)
|
||||
+ mod->e_type = ET_DYN;
|
||||
+ }
|
||||
+ else
|
||||
+ assert (mod->main.elf != NULL);
|
||||
|
||||
return DWFL_E_NOERROR;
|
||||
}
|
||||
@@ -1,77 +0,0 @@
|
||||
diff -Naur elfutils-0.155/libasm/Makefile.am elfutils-0.155.patch/libasm/Makefile.am
|
||||
--- elfutils-0.155/libasm/Makefile.am 2012-08-27 20:27:31.000000000 +0200
|
||||
+++ elfutils-0.155.patch/libasm/Makefile.am 2013-03-05 18:11:43.841545009 +0100
|
||||
@@ -69,7 +69,6 @@
|
||||
-Wl,--version-script,$(srcdir)/libasm.map,--no-undefined \
|
||||
-Wl,--soname,$@.$(VERSION) \
|
||||
../libebl/libebl.a ../libelf/libelf.so $(libasm_so_LDLIBS)
|
||||
- if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
|
||||
ln -fs $@ $@.$(VERSION)
|
||||
|
||||
install: install-am libasm.so
|
||||
diff -Naur elfutils-0.155/libasm/Makefile.in elfutils-0.155.patch/libasm/Makefile.in
|
||||
--- elfutils-0.155/libasm/Makefile.in 2012-08-27 20:29:45.000000000 +0200
|
||||
+++ elfutils-0.155.patch/libasm/Makefile.in 2013-03-05 18:12:05.604432305 +0100
|
||||
@@ -654,7 +654,6 @@
|
||||
@MUDFLAP_FALSE@ -Wl,--version-script,$(srcdir)/libasm.map,--no-undefined \
|
||||
@MUDFLAP_FALSE@ -Wl,--soname,$@.$(VERSION) \
|
||||
@MUDFLAP_FALSE@ ../libebl/libebl.a ../libelf/libelf.so $(libasm_so_LDLIBS)
|
||||
-@MUDFLAP_FALSE@ if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
|
||||
@MUDFLAP_FALSE@ ln -fs $@ $@.$(VERSION)
|
||||
|
||||
@MUDFLAP_FALSE@install: install-am libasm.so
|
||||
diff -Naur elfutils-0.155/libdw/Makefile.am elfutils-0.155.patch/libdw/Makefile.am
|
||||
--- elfutils-0.155/libdw/Makefile.am 2012-08-27 20:27:31.000000000 +0200
|
||||
+++ elfutils-0.155.patch/libdw/Makefile.am 2013-03-05 18:12:26.753322780 +0100
|
||||
@@ -112,7 +112,6 @@
|
||||
-Wl,--version-script,$<,--no-undefined \
|
||||
-Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\
|
||||
-ldl $(zip_LIBS)
|
||||
- if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
|
||||
ln -fs $@ $@.$(VERSION)
|
||||
|
||||
install: install-am libdw.so
|
||||
diff -Naur elfutils-0.155/libdw/Makefile.in elfutils-0.155.patch/libdw/Makefile.in
|
||||
--- elfutils-0.155/libdw/Makefile.in 2012-08-27 20:29:45.000000000 +0200
|
||||
+++ elfutils-0.155.patch/libdw/Makefile.in 2013-03-05 18:12:41.272246520 +0100
|
||||
@@ -844,7 +844,6 @@
|
||||
@MUDFLAP_FALSE@ -Wl,--version-script,$<,--no-undefined \
|
||||
@MUDFLAP_FALSE@ -Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\
|
||||
@MUDFLAP_FALSE@ -ldl $(zip_LIBS)
|
||||
-@MUDFLAP_FALSE@ if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
|
||||
@MUDFLAP_FALSE@ ln -fs $@ $@.$(VERSION)
|
||||
|
||||
@MUDFLAP_FALSE@install: install-am libdw.so
|
||||
diff -Naur elfutils-0.155/libelf/Makefile.am elfutils-0.155.patch/libelf/Makefile.am
|
||||
--- elfutils-0.155/libelf/Makefile.am 2012-08-27 20:27:31.000000000 +0200
|
||||
+++ elfutils-0.155.patch/libelf/Makefile.am 2013-03-05 18:13:23.328024851 +0100
|
||||
@@ -106,7 +106,6 @@
|
||||
$(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \
|
||||
-Wl,--version-script,$(srcdir)/libelf.map,--no-undefined \
|
||||
-Wl,--soname,$@.$(VERSION),-z,defs,-z,relro $(libelf_so_LDLIBS)
|
||||
- if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
|
||||
ln -fs $@ $@.$(VERSION)
|
||||
|
||||
install: install-am libelf.so
|
||||
diff -Naur elfutils-0.155/libelf/Makefile.in elfutils-0.155.patch/libelf/Makefile.in
|
||||
--- elfutils-0.155/libelf/Makefile.in 2012-08-27 20:29:45.000000000 +0200
|
||||
+++ elfutils-0.155.patch/libelf/Makefile.in 2013-03-05 18:13:37.270951393 +0100
|
||||
@@ -830,7 +830,6 @@
|
||||
@MUDFLAP_FALSE@ $(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \
|
||||
@MUDFLAP_FALSE@ -Wl,--version-script,$(srcdir)/libelf.map,--no-undefined \
|
||||
@MUDFLAP_FALSE@ -Wl,--soname,$@.$(VERSION),-z,defs,-z,relro $(libelf_so_LDLIBS)
|
||||
-@MUDFLAP_FALSE@ if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
|
||||
@MUDFLAP_FALSE@ ln -fs $@ $@.$(VERSION)
|
||||
|
||||
@MUDFLAP_FALSE@install: install-am libelf.so
|
||||
diff -Naur elfutils-0.155/src/Makefile.in elfutils-0.155.patch/src/Makefile.in
|
||||
--- elfutils-0.155/src/Makefile.in 2012-08-27 20:29:46.000000000 +0200
|
||||
+++ elfutils-0.155.patch/src/Makefile.in 2013-03-05 18:14:22.361713943 +0100
|
||||
@@ -867,7 +867,6 @@
|
||||
@NATIVE_LD_FALSE@ $(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \
|
||||
@NATIVE_LD_FALSE@ $(libelf) $(libeu) \
|
||||
@NATIVE_LD_FALSE@ -Wl,--version-script,$(srcdir)/libld_elf_i386.map
|
||||
-@NATIVE_LD_FALSE@ $(textrel_check)
|
||||
|
||||
# Special rule to make it possible to define libld_elf_a_SOURCES as we do.
|
||||
# Otherwise make would complain.
|
||||
@@ -1,26 +0,0 @@
|
||||
diff -Naur elfutils-0.155/Makefile.am elfutils-0.155.patch/Makefile.am
|
||||
--- elfutils-0.155/Makefile.am 2012-08-27 20:27:31.000000000 +0200
|
||||
+++ elfutils-0.155.patch/Makefile.am 2013-03-05 18:38:47.565095550 +0100
|
||||
@@ -23,8 +23,7 @@
|
||||
pkginclude_HEADERS = version.h
|
||||
|
||||
# Add doc back when we have some real content.
|
||||
-SUBDIRS = config m4 lib libelf libebl libdwfl libdw libcpu libasm backends \
|
||||
- src po tests
|
||||
+SUBDIRS = config m4 lib libelf libebl libdwfl libdw
|
||||
|
||||
EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING \
|
||||
COPYING COPYING-GPLV2 COPYING-LGPLV3
|
||||
diff -Naur elfutils-0.155/Makefile.in elfutils-0.155.patch/Makefile.in
|
||||
--- elfutils-0.155/Makefile.in 2012-08-27 20:29:45.000000000 +0200
|
||||
+++ elfutils-0.155.patch/Makefile.in 2013-03-05 18:39:11.176974119 +0100
|
||||
@@ -256,8 +256,7 @@
|
||||
pkginclude_HEADERS = version.h
|
||||
|
||||
# Add doc back when we have some real content.
|
||||
-SUBDIRS = config m4 lib libelf libebl libdwfl libdw libcpu libasm backends \
|
||||
- src po tests
|
||||
+SUBDIRS = config m4 lib libelf libebl libdwfl libdw
|
||||
|
||||
EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING \
|
||||
COPYING COPYING-GPLV2 COPYING-LGPLV3
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
--- elfutils/libdwfl/ChangeLog
|
||||
+++ elfutils/libdwfl/ChangeLog
|
||||
@@ -52,6 +52,11 @@
|
||||
@@ -680,6 +680,11 @@
|
||||
* dwfl_module_getdwarf.c (open_elf): Clear errno before CBFAIL.
|
||||
Reported by Kurt Roeckx <kurt@roeckx.be>.
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
This file is part of elfutils.
|
||||
|
||||
This file is free software; you can redistribute it and/or modify
|
||||
@@ -457,7 +457,10 @@ relocate_section (Dwfl_Module *mod, Elf
|
||||
@@ -456,7 +456,10 @@ relocate_section (Dwfl_Module *mod, Elf
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
size_t complete = 0;
|
||||
if (shdr->sh_type == SHT_REL)
|
||||
for (size_t relidx = 0; !result && relidx < nrels; ++relidx)
|
||||
@@ -559,7 +562,7 @@ relocate_section (Dwfl_Module *mod, Elf
|
||||
@@ -558,7 +561,7 @@ relocate_section (Dwfl_Module *mod, Elf
|
||||
nrels = next;
|
||||
}
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
--- elfutils/libelf/ChangeLog
|
||||
+++ elfutils/libelf/ChangeLog
|
||||
@@ -703,10 +703,53 @@
|
||||
@@ -754,10 +754,53 @@
|
||||
If section content hasn't been read yet, do it before looking for the
|
||||
block size. If no section data present, infer size of section header.
|
||||
|
||||
@@ -253,7 +253,7 @@
|
||||
|
||||
--- elfutils/libelf/elf_getarsym.c
|
||||
+++ elfutils/libelf/elf_getarsym.c
|
||||
@@ -181,6 +181,9 @@ elf_getarsym (elf, ptr)
|
||||
@@ -183,6 +183,9 @@ elf_getarsym (elf, ptr)
|
||||
size_t index_size = atol (tmpbuf);
|
||||
|
||||
if (SARMAG + sizeof (struct ar_hdr) + index_size > elf->maximum_size
|
||||
@@ -902,7 +902,7 @@
|
||||
#endif /* libelfP.h */
|
||||
--- elfutils/src/ChangeLog
|
||||
+++ elfutils/src/ChangeLog
|
||||
@@ -344,6 +344,12 @@
|
||||
@@ -702,6 +702,12 @@
|
||||
|
||||
* readelf.c (dwarf_attr_string): Grok DW_AT_GNU_odr_signature.
|
||||
|
||||
@@ -915,7 +915,7 @@
|
||||
2011-02-11 Roland McGrath <roland@redhat.com>
|
||||
|
||||
* elfcmp.c (verbose): New variable.
|
||||
@@ -2056,6 +2062,16 @@
|
||||
@@ -2414,6 +2420,16 @@
|
||||
object symbols or symbols with unknown type.
|
||||
(check_rel): Likewise.
|
||||
|
||||
@@ -932,7 +932,7 @@
|
||||
2005-06-08 Roland McGrath <roland@redhat.com>
|
||||
|
||||
* readelf.c (print_ops): Add consts.
|
||||
@@ -2101,6 +2117,19 @@
|
||||
@@ -2459,6 +2475,19 @@
|
||||
|
||||
* readelf.c (dwarf_tag_string): Add new tags.
|
||||
|
||||
@@ -1027,7 +1027,7 @@
|
||||
}
|
||||
|
||||
if (sym->st_shndx == SHN_XINDEX)
|
||||
@@ -1032,9 +1042,11 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e
|
||||
@@ -1040,9 +1050,11 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e
|
||||
{
|
||||
GElf_Shdr rcshdr_mem;
|
||||
const GElf_Shdr *rcshdr = gelf_getshdr (scn, &rcshdr_mem);
|
||||
@@ -1041,7 +1041,7 @@
|
||||
{
|
||||
/* Found the dynamic section. Look through it. */
|
||||
Elf_Data *d = elf_getdata (scn, NULL);
|
||||
@@ -1044,7 +1056,9 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e
|
||||
@@ -1052,7 +1064,9 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e
|
||||
{
|
||||
GElf_Dyn dyn_mem;
|
||||
GElf_Dyn *dyn = gelf_getdyn (d, cnt, &dyn_mem);
|
||||
@@ -1052,7 +1052,7 @@
|
||||
|
||||
if (dyn->d_tag == DT_RELCOUNT)
|
||||
{
|
||||
@@ -1058,7 +1072,9 @@ section [%2d] '%s': DT_RELCOUNT used for
|
||||
@@ -1066,7 +1080,9 @@ section [%2d] '%s': DT_RELCOUNT used for
|
||||
/* Does the number specified number of relative
|
||||
relocations exceed the total number of
|
||||
relocations? */
|
||||
@@ -1063,7 +1063,7 @@
|
||||
ERROR (gettext ("\
|
||||
section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"),
|
||||
idx, section_name (ebl, idx),
|
||||
@@ -1218,7 +1234,8 @@ section [%2d] '%s': no relocations for m
|
||||
@@ -1226,7 +1242,8 @@ section [%2d] '%s': no relocations for m
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1073,7 +1073,7 @@
|
||||
ERROR (gettext (reltype == ELF_T_RELA ? "\
|
||||
section [%2d] '%s': section entry size does not match ElfXX_Rela\n" : "\
|
||||
section [%2d] '%s': section entry size does not match ElfXX_Rel\n"),
|
||||
@@ -1441,7 +1458,8 @@ check_rela (Ebl *ebl, GElf_Ehdr *ehdr, G
|
||||
@@ -1449,7 +1466,8 @@ check_rela (Ebl *ebl, GElf_Ehdr *ehdr, G
|
||||
Elf_Data *symdata = elf_getdata (symscn, NULL);
|
||||
enum load_state state = state_undecided;
|
||||
|
||||
@@ -1083,7 +1083,7 @@
|
||||
{
|
||||
GElf_Rela rela_mem;
|
||||
GElf_Rela *rela = gelf_getrela (data, cnt, &rela_mem);
|
||||
@@ -1491,7 +1509,8 @@ check_rel (Ebl *ebl, GElf_Ehdr *ehdr, GE
|
||||
@@ -1499,7 +1517,8 @@ check_rel (Ebl *ebl, GElf_Ehdr *ehdr, GE
|
||||
Elf_Data *symdata = elf_getdata (symscn, NULL);
|
||||
enum load_state state = state_undecided;
|
||||
|
||||
@@ -1093,7 +1093,7 @@
|
||||
{
|
||||
GElf_Rel rel_mem;
|
||||
GElf_Rel *rel = gelf_getrel (data, cnt, &rel_mem);
|
||||
@@ -1590,7 +1609,8 @@ section [%2d] '%s': referenced as string
|
||||
@@ -1598,7 +1617,8 @@ section [%2d] '%s': referenced as string
|
||||
shdr->sh_link, section_name (ebl, shdr->sh_link),
|
||||
idx, section_name (ebl, idx));
|
||||
|
||||
@@ -1103,7 +1103,7 @@
|
||||
ERROR (gettext ("\
|
||||
section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"),
|
||||
idx, section_name (ebl, idx));
|
||||
@@ -1600,7 +1620,7 @@ section [%2d] '%s': section entry size d
|
||||
@@ -1608,7 +1628,7 @@ section [%2d] '%s': section entry size d
|
||||
idx, section_name (ebl, idx));
|
||||
|
||||
bool non_null_warned = false;
|
||||
@@ -1112,7 +1112,7 @@
|
||||
{
|
||||
GElf_Dyn dyn_mem;
|
||||
GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dyn_mem);
|
||||
@@ -1872,6 +1892,8 @@ section [%2d] '%s': entry size does not
|
||||
@@ -1880,6 +1900,8 @@ section [%2d] '%s': entry size does not
|
||||
idx, section_name (ebl, idx));
|
||||
|
||||
if (symshdr != NULL
|
||||
@@ -1121,7 +1121,7 @@
|
||||
&& (shdr->sh_size / shdr->sh_entsize
|
||||
< symshdr->sh_size / symshdr->sh_entsize))
|
||||
ERROR (gettext ("\
|
||||
@@ -1898,6 +1920,12 @@ section [%2d] '%s': extended section ind
|
||||
@@ -1906,6 +1928,12 @@ section [%2d] '%s': extended section ind
|
||||
}
|
||||
|
||||
Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
|
||||
@@ -1134,7 +1134,7 @@
|
||||
|
||||
if (*((Elf32_Word *) data->d_buf) != 0)
|
||||
ERROR (gettext ("symbol 0 should have zero extended section index\n"));
|
||||
@@ -1940,7 +1968,7 @@ section [%2d] '%s': hash table section i
|
||||
@@ -1948,7 +1976,7 @@ section [%2d] '%s': hash table section i
|
||||
|
||||
size_t maxidx = nchain;
|
||||
|
||||
@@ -1143,7 +1143,7 @@
|
||||
{
|
||||
size_t symsize = symshdr->sh_size / symshdr->sh_entsize;
|
||||
|
||||
@@ -1951,18 +1979,28 @@ section [%2d] '%s': hash table section i
|
||||
@@ -1959,18 +1987,28 @@ section [%2d] '%s': hash table section i
|
||||
maxidx = symsize;
|
||||
}
|
||||
|
||||
@@ -1174,7 +1174,7 @@
|
||||
}
|
||||
|
||||
|
||||
@@ -1992,18 +2030,28 @@ section [%2d] '%s': hash table section i
|
||||
@@ -2000,18 +2038,28 @@ section [%2d] '%s': hash table section i
|
||||
maxidx = symsize;
|
||||
}
|
||||
|
||||
@@ -1206,7 +1206,7 @@
|
||||
}
|
||||
|
||||
|
||||
@@ -2028,7 +2076,7 @@ section [%2d] '%s': bitmask size not pow
|
||||
@@ -2036,7 +2084,7 @@ section [%2d] '%s': bitmask size not pow
|
||||
if (shdr->sh_size < (4 + bitmask_words + nbuckets) * sizeof (Elf32_Word))
|
||||
{
|
||||
ERROR (gettext ("\
|
||||
@@ -1215,7 +1215,7 @@
|
||||
idx, section_name (ebl, idx), (long int) shdr->sh_size,
|
||||
(long int) ((4 + bitmask_words + nbuckets) * sizeof (Elf32_Word)));
|
||||
return;
|
||||
@@ -2700,8 +2748,9 @@ section [%2d] '%s' refers in sh_link to
|
||||
@@ -2708,8 +2756,9 @@ section [%2d] '%s' refers in sh_link to
|
||||
|
||||
/* The number of elements in the version symbol table must be the
|
||||
same as the number of symbols. */
|
||||
@@ -1229,7 +1229,7 @@
|
||||
idx, section_name (ebl, idx),
|
||||
--- elfutils/src/readelf.c
|
||||
+++ elfutils/src/readelf.c
|
||||
@@ -1189,6 +1189,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
|
||||
@@ -1364,6 +1364,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
|
||||
Elf32_Word *grpref = (Elf32_Word *) data->d_buf;
|
||||
|
||||
GElf_Sym sym_mem;
|
||||
@@ -1238,7 +1238,7 @@
|
||||
printf ((grpref[0] & GRP_COMDAT)
|
||||
? ngettext ("\
|
||||
\nCOMDAT section group [%2zu] '%s' with signature '%s' contains %zu entry:\n",
|
||||
@@ -1201,8 +1203,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
|
||||
@@ -1376,8 +1378,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
|
||||
data->d_size / sizeof (Elf32_Word) - 1),
|
||||
elf_ndxscn (scn),
|
||||
elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
|
||||
@@ -1249,7 +1249,7 @@
|
||||
?: gettext ("<INVALID SYMBOL>"),
|
||||
data->d_size / sizeof (Elf32_Word) - 1);
|
||||
|
||||
@@ -1353,10 +1355,12 @@ static void
|
||||
@@ -1528,10 +1530,12 @@ static void
|
||||
handle_dynamic (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr)
|
||||
{
|
||||
int class = gelf_getclass (ebl->elf);
|
||||
@@ -1263,7 +1263,7 @@
|
||||
|
||||
/* Get the data of the section. */
|
||||
data = elf_getdata (scn, NULL);
|
||||
@@ -1368,21 +1372,26 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn,
|
||||
@@ -1543,21 +1547,26 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn,
|
||||
error (EXIT_FAILURE, 0,
|
||||
gettext ("cannot get section header string table index"));
|
||||
|
||||
@@ -1296,7 +1296,7 @@
|
||||
{
|
||||
GElf_Dyn dynmem;
|
||||
GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dynmem);
|
||||
@@ -1531,7 +1540,8 @@ static void
|
||||
@@ -1706,7 +1715,8 @@ static void
|
||||
handle_relocs_rel (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
|
||||
{
|
||||
int class = gelf_getclass (ebl->elf);
|
||||
@@ -1306,7 +1306,7 @@
|
||||
|
||||
/* Get the data of the section. */
|
||||
Elf_Data *data = elf_getdata (scn, NULL);
|
||||
@@ -1717,7 +1727,8 @@ static void
|
||||
@@ -1892,7 +1902,8 @@ static void
|
||||
handle_relocs_rela (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
|
||||
{
|
||||
int class = gelf_getclass (ebl->elf);
|
||||
@@ -1316,7 +1316,7 @@
|
||||
|
||||
/* Get the data of the section. */
|
||||
Elf_Data *data = elf_getdata (scn, NULL);
|
||||
@@ -1964,6 +1975,13 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
|
||||
@@ -2139,6 +2150,13 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
|
||||
error (EXIT_FAILURE, 0,
|
||||
gettext ("cannot get section header string table index"));
|
||||
|
||||
@@ -1330,7 +1330,7 @@
|
||||
/* Now we can compute the number of entries in the section. */
|
||||
unsigned int nsyms = data->d_size / (class == ELFCLASS32
|
||||
? sizeof (Elf32_Sym)
|
||||
@@ -1974,15 +1992,12 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
|
||||
@@ -2149,15 +2167,12 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
|
||||
nsyms),
|
||||
(unsigned int) elf_ndxscn (scn),
|
||||
elf_strptr (ebl->elf, shstrndx, shdr->sh_name), nsyms);
|
||||
@@ -1347,7 +1347,7 @@
|
||||
|
||||
fputs_unlocked (class == ELFCLASS32
|
||||
? gettext ("\
|
||||
@@ -2218,7 +2233,13 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
|
||||
@@ -2393,7 +2408,13 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
|
||||
error (EXIT_FAILURE, 0,
|
||||
gettext ("cannot get section header string table index"));
|
||||
|
||||
@@ -1362,7 +1362,7 @@
|
||||
printf (ngettext ("\
|
||||
\nVersion needs section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
|
||||
"\
|
||||
@@ -2229,9 +2250,7 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
|
||||
@@ -2404,9 +2425,7 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
|
||||
class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
|
||||
shdr->sh_offset,
|
||||
(unsigned int) shdr->sh_link,
|
||||
@@ -1373,7 +1373,7 @@
|
||||
|
||||
unsigned int offset = 0;
|
||||
for (int cnt = shdr->sh_info; --cnt >= 0; )
|
||||
@@ -2284,8 +2303,14 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
|
||||
@@ -2459,8 +2478,14 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
|
||||
error (EXIT_FAILURE, 0,
|
||||
gettext ("cannot get section header string table index"));
|
||||
|
||||
@@ -1389,7 +1389,7 @@
|
||||
printf (ngettext ("\
|
||||
\nVersion definition section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
|
||||
"\
|
||||
@@ -2297,9 +2322,7 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
|
||||
@@ -2472,9 +2497,7 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
|
||||
class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
|
||||
shdr->sh_offset,
|
||||
(unsigned int) shdr->sh_link,
|
||||
@@ -1400,7 +1400,7 @@
|
||||
|
||||
unsigned int offset = 0;
|
||||
for (int cnt = shdr->sh_info; --cnt >= 0; )
|
||||
@@ -2561,25 +2584,30 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G
|
||||
@@ -2736,25 +2759,30 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G
|
||||
filename = NULL;
|
||||
}
|
||||
|
||||
@@ -1438,7 +1438,7 @@
|
||||
{
|
||||
if (cnt % 2 == 0)
|
||||
printf ("\n %4d:", cnt);
|
||||
@@ -2628,7 +2656,17 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
|
||||
@@ -2803,7 +2831,17 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
|
||||
for (Elf32_Word cnt = 0; cnt < nbucket; ++cnt)
|
||||
++counts[lengths[cnt]];
|
||||
|
||||
@@ -1457,7 +1457,7 @@
|
||||
printf (ngettext ("\
|
||||
\nHistogram for bucket list length in section [%2u] '%s' (total of %d bucket):\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
|
||||
"\
|
||||
@@ -2641,9 +2679,7 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
|
||||
@@ -2816,9 +2854,7 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
|
||||
shdr->sh_addr,
|
||||
shdr->sh_offset,
|
||||
(unsigned int) shdr->sh_link,
|
||||
@@ -1468,7 +1468,7 @@
|
||||
|
||||
if (extrastr != NULL)
|
||||
fputs (extrastr, stdout);
|
||||
@@ -2903,7 +2939,8 @@ print_liblist (Ebl *ebl)
|
||||
@@ -3078,7 +3114,8 @@ print_liblist (Ebl *ebl)
|
||||
|
||||
if (shdr != NULL && shdr->sh_type == SHT_GNU_LIBLIST)
|
||||
{
|
||||
@@ -1478,7 +1478,7 @@
|
||||
printf (ngettext ("\
|
||||
\nLibrary list section [%2zu] '%s' at offset %#0" PRIx64 " contains %d entry:\n",
|
||||
"\
|
||||
@@ -4164,6 +4201,16 @@ print_debug_aranges_section (Dwfl_Module
|
||||
@@ -4398,6 +4435,16 @@ print_decoded_aranges_section (Ebl *ebl,
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1497,7 +1497,7 @@
|
||||
"\
|
||||
--- elfutils/src/strip.c
|
||||
+++ elfutils/src/strip.c
|
||||
@@ -564,6 +564,11 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -565,6 +565,11 @@ handle_elf (int fd, Elf *elf, const char
|
||||
goto fail_close;
|
||||
}
|
||||
|
||||
@@ -1509,7 +1509,7 @@
|
||||
/* Storage for section information. We leave room for two more
|
||||
entries since we unconditionally create a section header string
|
||||
table. Maybe some weird tool created an ELF file without one.
|
||||
@@ -585,7 +590,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -586,7 +591,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
{
|
||||
/* This should always be true (i.e., there should not be any
|
||||
holes in the numbering). */
|
||||
@@ -1518,7 +1518,7 @@
|
||||
|
||||
shdr_info[cnt].scn = scn;
|
||||
|
||||
@@ -598,6 +603,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -599,6 +604,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
shdr_info[cnt].shdr.sh_name);
|
||||
if (shdr_info[cnt].name == NULL)
|
||||
{
|
||||
@@ -1526,7 +1526,7 @@
|
||||
error (0, 0, gettext ("illformed file '%s'"), fname);
|
||||
goto fail_close;
|
||||
}
|
||||
@@ -607,6 +613,8 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -608,6 +614,8 @@ handle_elf (int fd, Elf *elf, const char
|
||||
|
||||
/* Remember the shdr.sh_link value. */
|
||||
shdr_info[cnt].old_sh_link = shdr_info[cnt].shdr.sh_link;
|
||||
@@ -1535,7 +1535,7 @@
|
||||
|
||||
/* Sections in files other than relocatable object files which
|
||||
are not loaded can be freely moved by us. In relocatable
|
||||
@@ -619,7 +627,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -620,7 +628,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
appropriate reference. */
|
||||
if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB_SHNDX))
|
||||
{
|
||||
@@ -1544,7 +1544,7 @@
|
||||
shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx = cnt;
|
||||
}
|
||||
else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GROUP))
|
||||
@@ -636,7 +644,12 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -637,7 +645,12 @@ handle_elf (int fd, Elf *elf, const char
|
||||
for (inner = 1;
|
||||
inner < shdr_info[cnt].data->d_size / sizeof (Elf32_Word);
|
||||
++inner)
|
||||
@@ -1557,7 +1557,7 @@
|
||||
|
||||
if (inner == 1 || (inner == 2 && (grpref[0] & GRP_COMDAT) == 0))
|
||||
/* If the section group contains only one element and this
|
||||
@@ -647,7 +660,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -648,7 +661,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
}
|
||||
else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GNU_versym))
|
||||
{
|
||||
@@ -1566,7 +1566,7 @@
|
||||
shdr_info[shdr_info[cnt].shdr.sh_link].version_idx = cnt;
|
||||
}
|
||||
|
||||
@@ -655,7 +668,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -656,7 +669,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
discarded right away. */
|
||||
if ((shdr_info[cnt].shdr.sh_flags & SHF_GROUP) != 0)
|
||||
{
|
||||
@@ -1575,7 +1575,7 @@
|
||||
|
||||
if (shdr_info[shdr_info[cnt].group_idx].idx == 0)
|
||||
{
|
||||
@@ -731,10 +744,14 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -732,10 +745,14 @@ handle_elf (int fd, Elf *elf, const char
|
||||
{
|
||||
/* If a relocation section is marked as being removed make
|
||||
sure the section it is relocating is removed, too. */
|
||||
@@ -1593,7 +1593,7 @@
|
||||
|
||||
/* If a group section is marked as being removed make
|
||||
sure all the sections it contains are being removed, too. */
|
||||
@@ -778,7 +795,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -779,7 +796,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
if (shdr_info[cnt].symtab_idx != 0
|
||||
&& shdr_info[shdr_info[cnt].symtab_idx].data == NULL)
|
||||
{
|
||||
@@ -1602,7 +1602,7 @@
|
||||
|
||||
shdr_info[shdr_info[cnt].symtab_idx].data
|
||||
= elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn,
|
||||
@@ -818,6 +835,9 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -819,6 +836,9 @@ handle_elf (int fd, Elf *elf, const char
|
||||
else if (scnidx == SHN_XINDEX)
|
||||
scnidx = xndx;
|
||||
|
||||
@@ -1612,7 +1612,7 @@
|
||||
if (shdr_info[scnidx].idx == 0)
|
||||
/* This symbol table has a real symbol in
|
||||
a discarded section. So preserve the
|
||||
@@ -848,12 +868,16 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -849,12 +869,16 @@ handle_elf (int fd, Elf *elf, const char
|
||||
}
|
||||
|
||||
/* Handle references through sh_info. */
|
||||
@@ -1631,7 +1631,7 @@
|
||||
|
||||
/* Mark the section as investigated. */
|
||||
shdr_info[cnt].idx = 2;
|
||||
@@ -994,7 +1018,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -995,7 +1019,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
error (EXIT_FAILURE, 0, gettext ("while generating output file: %s"),
|
||||
elf_errmsg (-1));
|
||||
|
||||
@@ -1640,7 +1640,7 @@
|
||||
|
||||
/* Add this name to the section header string table. */
|
||||
shdr_info[cnt].se = ebl_strtabadd (shst, shdr_info[cnt].name, 0);
|
||||
@@ -1031,7 +1055,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -1032,7 +1056,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
error (EXIT_FAILURE, 0,
|
||||
gettext ("while create section header section: %s"),
|
||||
elf_errmsg (-1));
|
||||
@@ -1649,7 +1649,7 @@
|
||||
|
||||
shdr_info[cnt].data = elf_newdata (shdr_info[cnt].newscn);
|
||||
if (shdr_info[cnt].data == NULL)
|
||||
@@ -1087,7 +1111,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -1089,7 +1113,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
error (EXIT_FAILURE, 0,
|
||||
gettext ("while create section header section: %s"),
|
||||
elf_errmsg (-1));
|
||||
@@ -1658,7 +1658,7 @@
|
||||
|
||||
/* Finalize the string table and fill in the correct indices in the
|
||||
section headers. */
|
||||
@@ -1177,20 +1201,20 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -1179,20 +1203,20 @@ handle_elf (int fd, Elf *elf, const char
|
||||
shndxdata = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn,
|
||||
NULL);
|
||||
|
||||
@@ -1682,7 +1682,7 @@
|
||||
>= shdr_info[cnt].data->d_size / elsize);
|
||||
}
|
||||
|
||||
@@ -1245,7 +1269,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -1247,7 +1271,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
sec = shdr_info[sym->st_shndx].idx;
|
||||
else
|
||||
{
|
||||
@@ -1691,7 +1691,7 @@
|
||||
|
||||
sec = shdr_info[xshndx].idx;
|
||||
}
|
||||
@@ -1266,7 +1290,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -1268,7 +1292,7 @@ handle_elf (int fd, Elf *elf, const char
|
||||
nxshndx = sec;
|
||||
}
|
||||
|
||||
@@ -1700,7 +1700,7 @@
|
||||
|
||||
if ((inner != destidx || nshndx != sym->st_shndx
|
||||
|| (shndxdata != NULL && nxshndx != xshndx))
|
||||
@@ -1293,9 +1317,11 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -1295,9 +1319,11 @@ handle_elf (int fd, Elf *elf, const char
|
||||
{
|
||||
size_t sidx = (sym->st_shndx != SHN_XINDEX
|
||||
? sym->st_shndx : xshndx);
|
||||
@@ -1715,7 +1715,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1483,11 +1509,11 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -1485,11 +1511,11 @@ handle_elf (int fd, Elf *elf, const char
|
||||
{
|
||||
GElf_Sym sym_mem;
|
||||
GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem);
|
||||
@@ -1729,7 +1729,7 @@
|
||||
size_t hidx = elf_hash (name) % nbucket;
|
||||
|
||||
if (bucket[hidx] == 0)
|
||||
@@ -1506,8 +1532,8 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -1508,8 +1534,8 @@ handle_elf (int fd, Elf *elf, const char
|
||||
else
|
||||
{
|
||||
/* Alpha and S390 64-bit use 64-bit SHT_HASH entries. */
|
||||
@@ -1740,7 +1740,7 @@
|
||||
|
||||
Elf64_Xword *bucket = (Elf64_Xword *) hashd->d_buf;
|
||||
|
||||
@@ -1537,11 +1563,11 @@ handle_elf (int fd, Elf *elf, const char
|
||||
@@ -1539,11 +1565,11 @@ handle_elf (int fd, Elf *elf, const char
|
||||
{
|
||||
GElf_Sym sym_mem;
|
||||
GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem);
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="gettext"
|
||||
PKG_VERSION="0.18.3.1"
|
||||
PKG_VERSION="0.18.3.2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -78,11 +78,6 @@ pre_configure_host() {
|
||||
export LIBFFI_LIBS="-L$ROOT/$TOOLCHAIN/lib -lffi"
|
||||
}
|
||||
|
||||
pre_configure_target() {
|
||||
# glib segfaults with LTO optimization
|
||||
strip_lto
|
||||
}
|
||||
|
||||
post_makeinstall_host() {
|
||||
cp -f gobject/.libs/glib-genmarshal $ROOT/$TOOLCHAIN/bin
|
||||
cp -f gobject/glib-mkenums $ROOT/$TOOLCHAIN/bin
|
||||
|
||||
@@ -17,12 +17,13 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="gmp"
|
||||
PKG_VERSION="5.1.3"
|
||||
PKG_VERSION="6.0.0a"
|
||||
PKG_SOURCE_DIR="$PKG_NAME-6.0.0"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="LGPL"
|
||||
PKG_LICENSE="LGPLv3+"
|
||||
PKG_SITE="http://gmplib.org/"
|
||||
PKG_URL="ftp://ftp.gmplib.org/pub/$PKG_NAME-$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_URL="https://gmplib.org/download/gmp/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_HOST="ccache:host"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
|
||||
21
packages/devel/gmp/patches/gmp-__thumb__-fix-1.patch
Normal file
21
packages/devel/gmp/patches/gmp-__thumb__-fix-1.patch
Normal file
@@ -0,0 +1,21 @@
|
||||
|
||||
# HG changeset patch
|
||||
# User Torbjorn Granlund <tege@gmplib.org>
|
||||
# Date 1396035313 -3600
|
||||
# Node ID c56ea318eb6435bdd28dbfef657b2fe372134f1f
|
||||
# Parent c6fe20ab62acc266ff5ad3629bef447bc43dcd1b
|
||||
Conditionalise ARM asm on !__thumb__.
|
||||
|
||||
diff -r c6fe20ab62ac -r c56ea318eb64 mpn/generic/mod_1_1.c
|
||||
--- a/mpn/generic/mod_1_1.c Wed Mar 26 12:58:33 2014 +0100
|
||||
+++ b/mpn/generic/mod_1_1.c Fri Mar 28 20:35:13 2014 +0100
|
||||
@@ -129,7 +129,7 @@
|
||||
"%2" ((UDItype)(a0)), "r" ((UDItype)(b0)) __CLOBBER_CC)
|
||||
#endif
|
||||
|
||||
-#if defined (__arm__) && W_TYPE_SIZE == 32
|
||||
+#if defined (__arm__) && !defined (__thumb__) && W_TYPE_SIZE == 32
|
||||
#define add_mssaaaa(m, sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ( "adds %2, %5, %6\n\t" \
|
||||
"adcs %1, %3, %4\n\t" \
|
||||
|
||||
21
packages/devel/gmp/patches/gmp-__thumb__-fix-2.patch
Normal file
21
packages/devel/gmp/patches/gmp-__thumb__-fix-2.patch
Normal file
@@ -0,0 +1,21 @@
|
||||
|
||||
# HG changeset patch
|
||||
# User Torbjorn Granlund <tege@gmplib.org>
|
||||
# Date 1396602422 -7200
|
||||
# Node ID 676e2d0f0e4dd301a7066079d2c9326c25c34a40
|
||||
# Parent 0194a75b56b21a9196626430af86c5bd9110c42d
|
||||
Conditionalise ARM asm on !__thumb__.
|
||||
|
||||
diff -r 0194a75b56b2 -r 676e2d0f0e4d mpn/generic/div_qr_1n_pi1.c
|
||||
--- a/mpn/generic/div_qr_1n_pi1.c Thu Apr 03 23:58:51 2014 +0200
|
||||
+++ b/mpn/generic/div_qr_1n_pi1.c Fri Apr 04 11:07:02 2014 +0200
|
||||
@@ -130,7 +130,7 @@
|
||||
"%2" ((UDItype)(a0)), "r" ((UDItype)(b0)) __CLOBBER_CC)
|
||||
#endif
|
||||
|
||||
-#if defined (__arm__) && W_TYPE_SIZE == 32
|
||||
+#if defined (__arm__) && !defined (__thumb__) && W_TYPE_SIZE == 32
|
||||
#define add_mssaaaa(m, sh, sl, ah, al, bh, bl) \
|
||||
__asm__ ( "adds %2, %5, %6\n\t" \
|
||||
"adcs %1, %3, %4\n\t" \
|
||||
|
||||
@@ -52,8 +52,6 @@ else
|
||||
fi
|
||||
|
||||
if [ "$XBMCPLAYER_DRIVER" = "libfslvpuwrap" ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET --enable-imx6"
|
||||
else
|
||||
PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET --disable-imx6"
|
||||
|
||||
@@ -41,6 +41,10 @@ PKG_CONFIGURE_OPTS_TARGET="ac_cv_path_HAVELIBUSB=$ROOT/$TOOLCHAIN/bin/libusb-con
|
||||
--without-examples \
|
||||
--without-docs"
|
||||
|
||||
pre_configure_target() {
|
||||
CFLAGS="$CFLAGS -fPIC -DPIC"
|
||||
}
|
||||
|
||||
post_makeinstall_target() {
|
||||
rm -rf $INSTALL/usr/bin
|
||||
}
|
||||
|
||||
@@ -34,6 +34,10 @@ PKG_AUTORECONF="yes"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared"
|
||||
|
||||
pre_configure_target() {
|
||||
CFLAGS="$CFLAGS -fPIC -DPIC"
|
||||
}
|
||||
|
||||
post_makeinstall_target() {
|
||||
rm -rf $INSTALL/usr
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="make"
|
||||
PKG_VERSION="3.82"
|
||||
PKG_VERSION="4.0"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
diff -up make-3.82/main.c\~ make-3.82/main.c
|
||||
--- make-3.82/main.c~ 2010-07-19 09:10:53.000000000 +0200
|
||||
+++ make-3.82/main.c 2010-08-11 15:12:09.000000000 +0200
|
||||
@@ -1765,6 +1765,20 @@ main (int argc, char **argv, char **envp
|
||||
}
|
||||
}
|
||||
|
||||
+#ifdef PIPE_BUF
|
||||
+ if (job_slots > PIPE_BUF)
|
||||
+#elif defined _POSIX_PIPE_BUF
|
||||
+ if (job_slots > _POSIX_PIPE_BUF)
|
||||
+#else
|
||||
+ if (job_slots > 512)
|
||||
+#endif
|
||||
+ {
|
||||
+ error (NILF,
|
||||
+ _("More parallel jobs (-jN) than this platform can handle requested."));
|
||||
+ error (NILF, _("Resetting to single job (-j1) mode."));
|
||||
+ job_slots = 1;
|
||||
+ }
|
||||
+
|
||||
/* If we have >1 slot but no jobserver-fds, then we're a top-level make.
|
||||
Set up the pipe and install the fds option for our children. */
|
||||
|
||||
|
||||
Diff finished. Wed Aug 11 15:12:32 2010
|
||||
@@ -1,14 +0,0 @@
|
||||
diff -up make-3.82/make.h\~ make-3.82/make.h
|
||||
--- make-3.82/make.h~ 2010-07-20 15:12:06.000000000 +0200
|
||||
+++ make-3.82/make.h 2010-08-11 15:19:09.000000000 +0200
|
||||
@@ -472,7 +472,7 @@ long int lseek ();
|
||||
#endif /* Not GNU C library or POSIX. */
|
||||
|
||||
#ifdef HAVE_GETCWD
|
||||
-# if !defined(VMS) && !defined(__DECC)
|
||||
+# if !defined(VMS) && !defined(__DECC) && !defined(getcwd)
|
||||
char *getcwd ();
|
||||
# endif
|
||||
#else
|
||||
|
||||
Diff finished. Wed Aug 11 15:19:12 2010
|
||||
@@ -1,157 +0,0 @@
|
||||
diff -urp make-3.82/misc.c make-3.82-pm/misc.c
|
||||
--- make-3.82/misc.c 2010-07-19 09:10:54.000000000 +0200
|
||||
+++ make-3.82-pm/misc.c 2010-08-11 15:26:45.000000000 +0200
|
||||
@@ -342,17 +342,31 @@ strerror (int errnum)
|
||||
/* Print an error message from errno. */
|
||||
|
||||
void
|
||||
+perror_with_name_err (const char *str, const char *name, int errnum)
|
||||
+{
|
||||
+ error (NILF, _("%s%s: %s"), str, name, strerror (errnum));
|
||||
+}
|
||||
+
|
||||
+void
|
||||
perror_with_name (const char *str, const char *name)
|
||||
{
|
||||
- error (NILF, _("%s%s: %s"), str, name, strerror (errno));
|
||||
+ perror_with_name_err (str, name, errno);
|
||||
}
|
||||
|
||||
/* Print an error message from errno and exit. */
|
||||
|
||||
void
|
||||
+pfatal_with_name_err (const char *name, int errnum)
|
||||
+{
|
||||
+ fatal (NILF, _("%s: %s"), name, strerror (errnum));
|
||||
+
|
||||
+ /* NOTREACHED */
|
||||
+}
|
||||
+
|
||||
+void
|
||||
pfatal_with_name (const char *name)
|
||||
{
|
||||
- fatal (NILF, _("%s: %s"), name, strerror (errno));
|
||||
+ pfatal_with_name_err (name, errno);
|
||||
|
||||
/* NOTREACHED */
|
||||
}
|
||||
diff -urp make-3.82/main.c make-3.82-pm/main.c
|
||||
--- make-3.82/main.c 2010-08-11 15:34:12.000000000 +0200
|
||||
+++ make-3.82-pm/main.c 2010-08-11 15:30:11.000000000 +0200
|
||||
@@ -1536,13 +1536,13 @@ main (int argc, char **argv, char **envp
|
||||
strcat (template, DEFAULT_TMPFILE);
|
||||
outfile = open_tmpfile (&stdin_nm, template);
|
||||
if (outfile == 0)
|
||||
- pfatal_with_name (_("fopen (temporary file)"));
|
||||
+ pfatal_with_name_err (_("fopen (temporary file)"), errno);
|
||||
while (!feof (stdin) && ! ferror (stdin))
|
||||
{
|
||||
char buf[2048];
|
||||
unsigned int n = fread (buf, 1, sizeof (buf), stdin);
|
||||
if (n > 0 && fwrite (buf, 1, n, outfile) != n)
|
||||
- pfatal_with_name (_("fwrite (temporary file)"));
|
||||
+ pfatal_with_name_err (_("fwrite (temporary file)"), errno);
|
||||
}
|
||||
fclose (outfile);
|
||||
|
||||
@@ -1747,7 +1747,7 @@ main (int argc, char **argv, char **envp
|
||||
else if ((job_rfd = dup (job_fds[0])) < 0)
|
||||
{
|
||||
if (errno != EBADF)
|
||||
- pfatal_with_name (_("dup jobserver"));
|
||||
+ pfatal_with_name_err (_("dup jobserver"), errno);
|
||||
|
||||
error (NILF,
|
||||
_("warning: jobserver unavailable: using -j1. Add `+' to parent make rule."));
|
||||
@@ -1788,7 +1788,7 @@ main (int argc, char **argv, char **envp
|
||||
char c = '+';
|
||||
|
||||
if (pipe (job_fds) < 0 || (job_rfd = dup (job_fds[0])) < 0)
|
||||
- pfatal_with_name (_("creating jobs pipe"));
|
||||
+ pfatal_with_name_err (_("creating jobs pipe"), errno);
|
||||
|
||||
/* Every make assumes that it always has one job it can run. For the
|
||||
submakes it's the token they were given by their parent. For the
|
||||
@@ -1803,7 +1803,7 @@ main (int argc, char **argv, char **envp
|
||||
|
||||
EINTRLOOP (r, write (job_fds[1], &c, 1));
|
||||
if (r != 1)
|
||||
- pfatal_with_name (_("init jobserver pipe"));
|
||||
+ pfatal_with_name_err (_("init jobserver pipe"), errno);
|
||||
}
|
||||
|
||||
/* Fill in the jobserver_fds struct for our children. */
|
||||
@@ -2226,7 +2226,7 @@ main (int argc, char **argv, char **envp
|
||||
/* If there is a temp file from reading a makefile from stdin, get rid of
|
||||
it now. */
|
||||
if (stdin_nm && unlink (stdin_nm) < 0 && errno != ENOENT)
|
||||
- perror_with_name (_("unlink (temporary file): "), stdin_nm);
|
||||
+ perror_with_name_err (_("unlink (temporary file): "), stdin_nm, errno);
|
||||
|
||||
/* If there were no command-line goals, use the default. */
|
||||
if (goals == 0)
|
||||
Только в make-3.82-pm: job.c~
|
||||
Только в make-3.82-pm: main.c~
|
||||
diff -urp make-3.82/make.h make-3.82-pm/make.h
|
||||
--- make-3.82/make.h 2010-08-11 15:34:12.000000000 +0200
|
||||
+++ make-3.82-pm/make.h 2010-08-11 15:31:26.000000000 +0200
|
||||
@@ -385,6 +385,8 @@ void die (int) __attribute__ ((noreturn)
|
||||
void log_working_directory (int);
|
||||
void pfatal_with_name (const char *) __attribute__ ((noreturn));
|
||||
void perror_with_name (const char *, const char *);
|
||||
+void pfatal_with_name_err (const char *, int errnum) __attribute__ ((noreturn));
|
||||
+void perror_with_name_err (const char *, const char *, int errnum);
|
||||
void *xmalloc (unsigned int);
|
||||
void *xcalloc (unsigned int);
|
||||
void *xrealloc (void *, unsigned int);
|
||||
diff -urp make-3.82/job.c make-3.82-pm/job.c
|
||||
--- make-3.82/job.c 2010-07-24 10:27:50.000000000 +0200
|
||||
+++ make-3.82-pm/job.c 2010-08-11 15:33:54.000000000 +0200
|
||||
@@ -917,7 +917,7 @@ free_child (struct child *child)
|
||||
|
||||
EINTRLOOP (r, write (job_fds[1], &token, 1));
|
||||
if (r != 1)
|
||||
- pfatal_with_name (_("write jobserver"));
|
||||
+ pfatal_with_name_err (_("write jobserver"), errno);
|
||||
|
||||
DB (DB_JOBS, (_("Released token for child %p (%s).\n"),
|
||||
child, child->file->name));
|
||||
@@ -1768,6 +1768,7 @@ new_job (struct file *file)
|
||||
|
||||
/* Set interruptible system calls, and read() for a job token. */
|
||||
set_child_handler_action_flags (1, waiting_jobs != NULL);
|
||||
+ errno = 0;
|
||||
got_token = read (job_rfd, &token, 1);
|
||||
saved_errno = errno;
|
||||
set_child_handler_action_flags (0, waiting_jobs != NULL);
|
||||
@@ -1782,10 +1783,14 @@ new_job (struct file *file)
|
||||
|
||||
/* If the error _wasn't_ expected (EINTR or EBADF), punt. Otherwise,
|
||||
go back and reap_children(), and try again. */
|
||||
- errno = saved_errno;
|
||||
- if (errno != EINTR && errno != EBADF)
|
||||
- pfatal_with_name (_("read jobs pipe"));
|
||||
- if (errno == EBADF)
|
||||
+ if (saved_errno != EINTR && saved_errno != EBADF)
|
||||
+ {
|
||||
+ if (got_token == 0)
|
||||
+ fatal (NILF, _("read jobs pipe EOF"));
|
||||
+ else
|
||||
+ pfatal_with_name_err (_("read jobs pipe"), saved_errno);
|
||||
+ }
|
||||
+ if (saved_errno == EBADF)
|
||||
DB (DB_JOBS, ("Read returned EBADF.\n"));
|
||||
}
|
||||
#endif
|
||||
@@ -1909,7 +1914,8 @@ load_too_high (void)
|
||||
error (NILF,
|
||||
_("cannot enforce load limits on this operating system"));
|
||||
else
|
||||
- perror_with_name (_("cannot enforce load limit: "), "getloadavg");
|
||||
+ perror_with_name_err (_("cannot enforce load limit: "),
|
||||
+ "getloadavg", errno);
|
||||
}
|
||||
lossage = errno;
|
||||
load = 0;
|
||||
Только в make-3.82-pm: make.h~
|
||||
Только в make-3.82-pm: misc.c.orig
|
||||
@@ -1,30 +0,0 @@
|
||||
diff -up make-3.82/job.c\~ make-3.82/job.c
|
||||
--- make-3.82/job.c~ 2010-08-12 14:57:15.000000000 +0200
|
||||
+++ make-3.82/job.c 2010-08-12 14:58:23.000000000 +0200
|
||||
@@ -2876,7 +2876,7 @@ construct_command_argv_internal (char *l
|
||||
}
|
||||
|
||||
new_line = alloca (shell_len + 1 + sflags_len + 1
|
||||
- + (line_len*2) + 1);
|
||||
+ + (line_len*4) + 1);
|
||||
ap = new_line;
|
||||
memcpy (ap, shell, shell_len);
|
||||
ap += shell_len;
|
||||
@@ -2904,13 +2904,14 @@ construct_command_argv_internal (char *l
|
||||
#endif
|
||||
if (PRESERVE_BSNL)
|
||||
{
|
||||
- *(ap++) = '\\';
|
||||
+ *(ap++) = '\'';
|
||||
/* Only non-batch execution needs another backslash,
|
||||
because it will be passed through a recursive
|
||||
invocation of this function. */
|
||||
if (!batch_mode_shell)
|
||||
*(ap++) = '\\';
|
||||
*(ap++) = '\n';
|
||||
+ *(ap++) = '\'';
|
||||
}
|
||||
++p;
|
||||
continue;
|
||||
|
||||
Diff finished. Thu Aug 12 14:58:34 2010
|
||||
@@ -1,19 +0,0 @@
|
||||
diff -up make-3.82/main.c\~ make-3.82/main.c
|
||||
--- make-3.82/main.c~ 2010-08-12 14:59:20.000000000 +0200
|
||||
+++ make-3.82/main.c 2010-08-12 15:00:07.000000000 +0200
|
||||
@@ -1756,8 +1756,11 @@ main (int argc, char **argv, char **envp
|
||||
|
||||
if (job_slots > 0)
|
||||
{
|
||||
- close (job_fds[0]);
|
||||
- close (job_fds[1]);
|
||||
+ if (restarts == 0)
|
||||
+ {
|
||||
+ close (job_fds[0]);
|
||||
+ close (job_fds[1]);
|
||||
+ }
|
||||
job_fds[0] = job_fds[1] = -1;
|
||||
free (jobserver_fds->list);
|
||||
free (jobserver_fds);
|
||||
|
||||
Diff finished. Thu Aug 12 15:00:22 2010
|
||||
@@ -1,250 +0,0 @@
|
||||
diff -urpN make/ChangeLog make-new/ChangeLog
|
||||
--- make/ChangeLog 2010-09-13 13:42:35.000000000 +0200
|
||||
+++ make-new/ChangeLog 2010-09-13 13:42:09.000000000 +0200
|
||||
@@ -1,3 +1,22 @@
|
||||
+2010-08-13 Paul Smith <psmith@gnu.org>
|
||||
+
|
||||
+ * NEWS: Accidentally forgot to back out the sorted wildcard
|
||||
+ enhancement in 3.82, so update NEWS.
|
||||
+ Also add NEWS about the error check for explicit and pattern
|
||||
+ targets in the same rule, added to 3.82.
|
||||
+
|
||||
+ * main.c (main): Add "oneshell" to $(.FEATURES) (forgot to add
|
||||
+ this in 3.82!)
|
||||
+
|
||||
+ * read.c (parse_file_seq): Fix various errors parsing archives
|
||||
+ with multiple objects in the parenthesis, as well as wildcards.
|
||||
+ Fixes Savannah bug #30612.
|
||||
+
|
||||
+2010-08-10 Paul Smith <psmith@gnu.org>
|
||||
+
|
||||
+ * main.c (main): Expand MAKEFLAGS before adding it to the
|
||||
+ environment when re-exec'ing. Fixes Savannah bug #30723.
|
||||
+
|
||||
2010-07-28 Paul Smith <psmith@gnu.org>
|
||||
|
||||
Version 3.82 released.
|
||||
diff -urpN make/main.c make-new/main.c
|
||||
--- make/main.c 2010-09-13 13:42:35.000000000 +0200
|
||||
+++ make-new/main.c 2010-09-13 13:42:12.000000000 +0200
|
||||
@@ -1138,7 +1138,7 @@ main (int argc, char **argv, char **envp
|
||||
a macro and some compilers (MSVC) don't like conditionals in macros. */
|
||||
{
|
||||
const char *features = "target-specific order-only second-expansion"
|
||||
- " else-if shortest-stem undefine"
|
||||
+ " else-if shortest-stem undefine oneshell"
|
||||
#ifndef NO_ARCHIVES
|
||||
" archives"
|
||||
#endif
|
||||
@@ -2093,7 +2093,7 @@ main (int argc, char **argv, char **envp
|
||||
const char *pv = define_makeflags (1, 1);
|
||||
char *p = alloca (sizeof ("MAKEFLAGS=") + strlen (pv) + 1);
|
||||
sprintf (p, "MAKEFLAGS=%s", pv);
|
||||
- putenv (p);
|
||||
+ putenv (allocated_variable_expand (p));
|
||||
}
|
||||
|
||||
if (ISDB (DB_BASIC))
|
||||
diff -urpN make/NEWS make-new/NEWS
|
||||
--- make/NEWS 2010-09-13 13:42:35.000000000 +0200
|
||||
+++ make-new/NEWS 2010-09-13 13:42:11.000000000 +0200
|
||||
@@ -18,14 +18,6 @@ http://sv.gnu.org/bugs/index.php?group=m
|
||||
* Compiling GNU make now requires a conforming ISO C 1989 compiler and
|
||||
standard runtime library.
|
||||
|
||||
-* WARNING: Future backward-incompatibility!
|
||||
- Wildcards are not documented as returning sorted values, but up to and
|
||||
- including this release the results have been sorted and some makefiles are
|
||||
- apparently depending on that. In the next release of GNU make, for
|
||||
- performance reasons, we may remove that sorting. If your makefiles
|
||||
- require sorted results from wildcard expansions, use the $(sort ...)
|
||||
- function to request it explicitly.
|
||||
-
|
||||
* WARNING: Backward-incompatibility!
|
||||
The POSIX standard for make was changed in the 2008 version in a
|
||||
fundamentally incompatible way: make is required to invoke the shell as if
|
||||
@@ -42,6 +34,21 @@ http://sv.gnu.org/bugs/index.php?group=m
|
||||
existing targets were provided in $?).
|
||||
|
||||
* WARNING: Backward-incompatibility!
|
||||
+ Wildcards were not documented as returning sorted values, but the results
|
||||
+ have been sorted up until this release.. If your makefiles require sorted
|
||||
+ results from wildcard expansions, use the $(sort ...) function to request
|
||||
+ it explicitly.
|
||||
+
|
||||
+* WARNING: Backward-incompatibility!
|
||||
+ In previous versions of make it was acceptable to list one or more explicit
|
||||
+ targets followed by one or more pattern targets in the same rule and it
|
||||
+ worked "as expected". However, this was not documented as acceptable and if
|
||||
+ you listed any explicit targets AFTER the pattern targets, the entire rule
|
||||
+ would be mis-parsed. This release removes this ability completely: make
|
||||
+ will generate an error message if you mix explicit and pattern targets in
|
||||
+ the same rule.
|
||||
+
|
||||
+* WARNING: Backward-incompatibility!
|
||||
As a result of parser enhancements, three backward-compatibility issues
|
||||
exist: first, a prerequisite containing an "=" cannot be escaped with a
|
||||
backslash any longer. You must create a variable containing an "=" and
|
||||
diff -urpN make/read.c make-new/read.c
|
||||
--- make/read.c 2010-09-13 13:42:35.000000000 +0200
|
||||
+++ make-new/read.c 2010-09-13 13:42:11.000000000 +0200
|
||||
@@ -3028,7 +3028,7 @@ parse_file_seq (char **stringp, unsigned
|
||||
{
|
||||
/* This looks like the first element in an open archive group.
|
||||
A valid group MUST have ')' as the last character. */
|
||||
- const char *e = p + nlen;
|
||||
+ const char *e = p;
|
||||
do
|
||||
{
|
||||
e = next_token (e);
|
||||
@@ -3084,19 +3084,19 @@ parse_file_seq (char **stringp, unsigned
|
||||
Go to the next item in the string. */
|
||||
if (flags & PARSEFS_NOGLOB)
|
||||
{
|
||||
- NEWELT (concat (2, prefix, tp));
|
||||
+ NEWELT (concat (2, prefix, tmpbuf));
|
||||
continue;
|
||||
}
|
||||
|
||||
/* If we get here we know we're doing glob expansion.
|
||||
TP is a string in tmpbuf. NLEN is no longer used.
|
||||
We may need to do more work: after this NAME will be set. */
|
||||
- name = tp;
|
||||
+ name = tmpbuf;
|
||||
|
||||
/* Expand tilde if applicable. */
|
||||
- if (tp[0] == '~')
|
||||
+ if (tmpbuf[0] == '~')
|
||||
{
|
||||
- tildep = tilde_expand (tp);
|
||||
+ tildep = tilde_expand (tmpbuf);
|
||||
if (tildep != 0)
|
||||
name = tildep;
|
||||
}
|
||||
@@ -3152,7 +3152,10 @@ parse_file_seq (char **stringp, unsigned
|
||||
else
|
||||
{
|
||||
/* We got a chain of items. Attach them. */
|
||||
- (*newp)->next = found;
|
||||
+ if (*newp)
|
||||
+ (*newp)->next = found;
|
||||
+ else
|
||||
+ *newp = found;
|
||||
|
||||
/* Find and set the new end. Massage names if necessary. */
|
||||
while (1)
|
||||
diff -urpN make/tests/ChangeLog make-new/tests/ChangeLog
|
||||
--- make/tests/ChangeLog 2010-09-13 13:42:35.000000000 +0200
|
||||
+++ make-new/tests/ChangeLog 2010-09-13 13:42:10.000000000 +0200
|
||||
@@ -1,3 +1,16 @@
|
||||
+2010-08-13 Paul Smith <psmith@gnu.org>
|
||||
+
|
||||
+ * scripts/features/archives: New regression tests for archive
|
||||
+ support. Test for fix to Savannah bug #30612.
|
||||
+
|
||||
+ * run_make_tests.pl (set_more_defaults): Set a %FEATURES hash to
|
||||
+ the features available in $(.FEATURES).
|
||||
+
|
||||
+2010-08-10 Paul Smith <psmith@gnu.org>
|
||||
+
|
||||
+ * scripts/features/reinvoke: Ensure command line variable settings
|
||||
+ are preserved across make re-exec. Tests Savannah bug #30723.
|
||||
+
|
||||
2010-07-28 Paul Smith <psmith@gnu.org>
|
||||
|
||||
* scripts/targets/POSIX: Compatibility issues with Solaris (and
|
||||
diff -urpN make/tests/run_make_tests.pl make-new/tests/run_make_tests.pl
|
||||
--- make/tests/run_make_tests.pl 2010-09-13 13:42:35.000000000 +0200
|
||||
+++ make-new/tests/run_make_tests.pl 2010-09-13 13:42:10.000000000 +0200
|
||||
@@ -29,6 +29,7 @@
|
||||
# You should have received a copy of the GNU General Public License along with
|
||||
# this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
+%FEATURES = ();
|
||||
|
||||
$valgrind = 0; # invoke make with valgrind
|
||||
$valgrind_args = '';
|
||||
@@ -367,6 +368,8 @@ sub set_more_defaults
|
||||
$parallel_jobs = 1;
|
||||
}
|
||||
|
||||
+ %FEATURES = map { $_ => 1 } split /\s+/, `sh -c "echo '\\\$(info \\\$(.FEATURES))' | $make_path -f- 2>/dev/null"`;
|
||||
+
|
||||
# Set up for valgrind, if requested.
|
||||
|
||||
if ($valgrind) {
|
||||
diff -urpN make/tests/scripts/features/archives make-new/tests/scripts/features/archives
|
||||
--- make/tests/scripts/features/archives 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ make-new/tests/scripts/features/archives 2010-09-13 13:42:10.000000000 +0200
|
||||
@@ -0,0 +1,42 @@
|
||||
+# -*-mode: perl-*-
|
||||
+
|
||||
+$description = "Test GNU make's archive management features.";
|
||||
+
|
||||
+$details = "\
|
||||
+This only works on systems that support it.";
|
||||
+
|
||||
+# If this instance of make doesn't support archives, skip it
|
||||
+exists $FEATURES{archives} or return -1;
|
||||
+
|
||||
+# Create some .o files to work with
|
||||
+utouch(-60, qw(a1.o a2.o a3.o));
|
||||
+
|
||||
+# Very simple
|
||||
+run_make_test('all: libxx.a(a1.o)',
|
||||
+ '', "ar rv libxx.a a1.o\nar: creating libxx.a\na - a1.o\n");
|
||||
+
|
||||
+# Multiple .o's. Add a new one to the existing library
|
||||
+run_make_test('all: libxx.a(a1.o a2.o)',
|
||||
+ '', "ar rv libxx.a a2.o\na - a2.o\n");
|
||||
+
|
||||
+# Touch one of the .o's so it's rebuilt
|
||||
+utouch(-40, 'a1.o');
|
||||
+run_make_test(undef, '', "ar rv libxx.a a1.o\nr - a1.o\n");
|
||||
+
|
||||
+# Use wildcards
|
||||
+run_make_test('all: libxx.a(*.o)',
|
||||
+ '', "#MAKE#: Nothing to be done for `all'.\n");
|
||||
+
|
||||
+# Touch one of the .o's so it's rebuilt
|
||||
+utouch(-30, 'a1.o');
|
||||
+run_make_test(undef, '', "ar rv libxx.a a1.o\nr - a1.o\n");
|
||||
+
|
||||
+# Use both wildcards and simple names
|
||||
+utouch(-50, 'a2.o');
|
||||
+run_make_test('all: libxx.a(a3.o *.o)', '',
|
||||
+ "ar rv libxx.a a3.o\na - a3.o\nar rv libxx.a a2.o\nr - a2.o\n");
|
||||
+
|
||||
+rmfiles(qw(a1.o a2.o a3.o libxx.a));
|
||||
+
|
||||
+# This tells the test driver that the perl test script executed properly.
|
||||
+1;
|
||||
diff -urpN make/tests/scripts/features/reinvoke make-new/tests/scripts/features/reinvoke
|
||||
--- make/tests/scripts/features/reinvoke 2010-09-13 13:42:35.000000000 +0200
|
||||
+++ make-new/tests/scripts/features/reinvoke 2010-09-13 13:42:10.000000000 +0200
|
||||
@@ -57,9 +57,24 @@ include $(F)',
|
||||
# Now try with the file we're not updating being the actual file we're
|
||||
# including: this and the previous one test different parts of the code.
|
||||
|
||||
-run_make_test(undef, "F=b", "[ -f b ] || echo >> b\nhello\n")
|
||||
+run_make_test(undef, 'F=b', "[ -f b ] || echo >> b\nhello\n")
|
||||
|
||||
&rmfiles('a','b','c');
|
||||
|
||||
+# Ensure command line variables are preserved properly across re-exec
|
||||
+# Tests for Savannah bug #30723
|
||||
+
|
||||
+run_make_test('
|
||||
+ifdef RECURSE
|
||||
+-include foo30723
|
||||
+endif
|
||||
+recurse: ; @$(MAKE) -f $(MAKEFILE_LIST) RECURSE=1 test
|
||||
+test: ; @echo F.O=$(F.O)
|
||||
+foo30723: ; @touch $@
|
||||
+',
|
||||
+ '--no-print-directory F.O=bar', "F.O=bar\n");
|
||||
+
|
||||
+unlink('foo30723');
|
||||
+
|
||||
# This tells the test driver that the perl test script executed properly.
|
||||
1;
|
||||
@@ -1,22 +0,0 @@
|
||||
diff -urp make-3.82/function.c make-3.82-pm/function.c
|
||||
--- make-3.82/function.c 2010-07-13 03:20:39.000000000 +0200
|
||||
+++ make-3.82-pm/function.c 2010-10-27 01:43:27.000000000 +0200
|
||||
@@ -1138,12 +1138,12 @@ func_sort (char *o, char **argv, const c
|
||||
{
|
||||
char c = *(t++);
|
||||
|
||||
- if (! isspace ((unsigned char)c))
|
||||
+ if (! isblank ((unsigned char)c))
|
||||
continue;
|
||||
|
||||
++wordi;
|
||||
|
||||
- while (isspace ((unsigned char)*t))
|
||||
+ while (isblank ((unsigned char)*t))
|
||||
++t;
|
||||
}
|
||||
|
||||
Только в make-3.82-pm: function.c~
|
||||
Двоичные файлы make-3.82/function.o и make-3.82-pm/function.o различаются
|
||||
Двоичные файлы make-3.82/make и make-3.82-pm/make различаются
|
||||
Только в make-3.82-pm: misc.c~
|
||||
@@ -1,77 +0,0 @@
|
||||
From 2f661dc20617ba6fdeb2d7e243dc898653faafea Mon Sep 17 00:00:00 2001
|
||||
From: Lubomir Rintel <lkundrak@v3.sk>
|
||||
Date: Tue, 26 Apr 2011 21:50:26 +0200
|
||||
Subject: [PATCH] Always copy the string before expanding it
|
||||
|
||||
It might get freed during expansion, e.g. with eval function.
|
||||
A simple reproducer:
|
||||
|
||||
TRUE = $(eval TRUE := true)
|
||||
all:
|
||||
$(TRUE)
|
||||
---
|
||||
ChangeLog | 5 +++++
|
||||
expand.c | 18 +++++++++---------
|
||||
2 files changed, 14 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/ChangeLog b/ChangeLog
|
||||
index 91878fb..7519164 100644
|
||||
--- a/ChangeLog
|
||||
+++ b/ChangeLog
|
||||
@@ -1,3 +1,8 @@
|
||||
+2011-04-26 Lubomir Rintel <lkundrak@v3.sk>
|
||||
+
|
||||
+ * expand.c (variable_expand_string): Always copy the string
|
||||
+ to expand.
|
||||
+
|
||||
2010-08-13 Paul Smith <psmith@gnu.org>
|
||||
|
||||
* NEWS: Accidentally forgot to back out the sorted wildcard
|
||||
diff --git a/expand.c b/expand.c
|
||||
index 2315b06..3e6e346 100644
|
||||
--- a/expand.c
|
||||
+++ b/expand.c
|
||||
@@ -197,7 +197,7 @@ variable_expand_string (char *line, const char *string, long length)
|
||||
{
|
||||
struct variable *v;
|
||||
const char *p, *p1;
|
||||
- char *abuf = NULL;
|
||||
+ char *abuf;
|
||||
char *o;
|
||||
unsigned int line_offset;
|
||||
|
||||
@@ -214,14 +214,15 @@ variable_expand_string (char *line, const char *string, long length)
|
||||
|
||||
/* If we want a subset of the string, allocate a temporary buffer for it.
|
||||
Most of the functions we use here don't work with length limits. */
|
||||
- if (length > 0 && string[length] != '\0')
|
||||
+ if (length == -1)
|
||||
{
|
||||
- abuf = xmalloc(length+1);
|
||||
- memcpy(abuf, string, length);
|
||||
- abuf[length] = '\0';
|
||||
- string = abuf;
|
||||
+ length = strlen (string);
|
||||
}
|
||||
- p = string;
|
||||
+
|
||||
+ abuf = xmalloc(length+1);
|
||||
+ memcpy(abuf, string, length);
|
||||
+ abuf[length] = '\0';
|
||||
+ p = abuf;
|
||||
|
||||
while (1)
|
||||
{
|
||||
@@ -411,8 +412,7 @@ variable_expand_string (char *line, const char *string, long length)
|
||||
++p;
|
||||
}
|
||||
|
||||
- if (abuf)
|
||||
- free (abuf);
|
||||
+ free (abuf);
|
||||
|
||||
variable_buffer_output (o, "", 1);
|
||||
return (variable_buffer + line_offset);
|
||||
--
|
||||
1.7.4.1
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
Index: main.c
|
||||
===================================================================
|
||||
RCS file: /sources/make/make/main.c,v
|
||||
retrieving revision 1.247
|
||||
retrieving revision 1.246
|
||||
diff -u -r1.247 -r1.246
|
||||
--- a/main.c 18 Sep 2011 23:39:26 -0000 1.247
|
||||
+++ b/main.c 29 Aug 2010 23:05:27 -0000 1.246
|
||||
@@ -2089,6 +2089,11 @@
|
||||
|
||||
++restarts;
|
||||
|
||||
+ /* If we're re-exec'ing the first make, put back the number of
|
||||
+ job slots so define_makefiles() will get it right. */
|
||||
+ if (master_job_slots)
|
||||
+ job_slots = master_job_slots;
|
||||
+
|
||||
/* Reset makeflags in case they were changed. */
|
||||
{
|
||||
const char *pv = define_makeflags (1, 1);
|
||||
@@ -2830,9 +2825,6 @@
|
||||
&& (*(unsigned int *) cs->value_ptr ==
|
||||
*(unsigned int *) cs->noarg_value))
|
||||
ADD_FLAG ("", 0); /* Optional value omitted; see below. */
|
||||
- else if (cs->c == 'j')
|
||||
- /* Special case for `-j'. */
|
||||
- ADD_FLAG ("1", 1);
|
||||
else
|
||||
{
|
||||
char *buf = alloca (30);
|
||||
@@ -1,84 +0,0 @@
|
||||
diff --git a/function.c b/function.c
|
||||
index e2f6c8c..ff0527f 100644
|
||||
--- a/function.c
|
||||
+++ b/function.c
|
||||
@@ -2333,8 +2333,10 @@ func_call (char *o, char **argv, const char *funcname UNUSED)
|
||||
v = lookup_variable (fname, flen);
|
||||
|
||||
if (v == 0)
|
||||
- warn_undefined (fname, flen);
|
||||
-
|
||||
+ {
|
||||
+ warn_undefined (fname, flen);
|
||||
+ warn_undefined_function (fname, flen);
|
||||
+ }
|
||||
if (v == 0 || *v->value == '\0')
|
||||
return o;
|
||||
|
||||
diff --git a/main.c b/main.c
|
||||
index c6989e3..2f545a7 100644
|
||||
--- a/main.c
|
||||
+++ b/main.c
|
||||
@@ -275,6 +275,11 @@ static int print_usage_flag = 0;
|
||||
|
||||
int warn_undefined_variables_flag;
|
||||
|
||||
+/* If nonzero, we should print a warning message
|
||||
+ for each attemtp to call an undefined user function. */
|
||||
+
|
||||
+int warn_undefined_functions_flag;
|
||||
+
|
||||
/* If nonzero, always build all targets, regardless of whether
|
||||
they appear out of date or not. */
|
||||
|
||||
@@ -368,6 +373,8 @@ static const char *const usage[] =
|
||||
Consider FILE to be infinitely new.\n"),
|
||||
N_("\
|
||||
--warn-undefined-variables Warn when an undefined variable is referenced.\n"),
|
||||
+ N_("\
|
||||
+ --warn-undefined-functions Warn when an undefined user function is called.\n"),
|
||||
NULL
|
||||
};
|
||||
|
||||
@@ -424,6 +431,8 @@ static const struct command_switch switches[] =
|
||||
{ CHAR_MAX+5, flag, &warn_undefined_variables_flag, 1, 1, 0, 0, 0,
|
||||
"warn-undefined-variables" },
|
||||
{ CHAR_MAX+6, string, &eval_strings, 1, 0, 0, 0, 0, "eval" },
|
||||
+ { CHAR_MAX+7, flag, &warn_undefined_functions_flag, 1, 1, 0, 0, 0,
|
||||
+ "warn-undefined-functions" },
|
||||
{ 0, 0, 0, 0, 0, 0, 0, 0, 0 }
|
||||
};
|
||||
|
||||
diff --git a/make.h b/make.h
|
||||
index 60ade4c..f2ebb56 100644
|
||||
--- a/make.h
|
||||
+++ b/make.h
|
||||
@@ -513,7 +513,7 @@ extern int env_overrides, no_builtin_rules_flag, no_builtin_variables_flag;
|
||||
extern int print_version_flag, print_directory_flag, check_symlink_flag;
|
||||
extern int warn_undefined_variables_flag, posix_pedantic, not_parallel;
|
||||
extern int second_expansion, clock_skew_detected, rebuilding_makefiles;
|
||||
-extern int one_shell;
|
||||
+extern int one_shell, warn_undefined_functions_flag;
|
||||
|
||||
/* can we run commands via 'sh -c xxx' or must we use batch files? */
|
||||
extern int batch_mode_shell;
|
||||
diff --git a/variable.h b/variable.h
|
||||
index c215867..02713c1 100644
|
||||
--- a/variable.h
|
||||
+++ b/variable.h
|
||||
@@ -220,6 +220,13 @@ void undefine_variable_in_set (const char *name, unsigned int length,
|
||||
(int)(l), (n)); \
|
||||
}while(0)
|
||||
|
||||
+#define warn_undefined_function(n,l) do{\
|
||||
+ if (warn_undefined_functions_flag) \
|
||||
+ error (reading_file, \
|
||||
+ _("warning: undefined function `%.*s'"), \
|
||||
+ (int)(l), (n)); \
|
||||
+ }while(0)
|
||||
+
|
||||
char **target_environment (struct file *file);
|
||||
|
||||
struct pattern_var *create_pattern_var (const char *target,
|
||||
--
|
||||
cgit v0.9.0.2-2-gbebe
|
||||
@@ -1,111 +0,0 @@
|
||||
|
||||
This patch add the support for --debug=c and --debug=e to make
|
||||
this option when activated will trace in stdout the activity of $(call and $(eval in the Makefile
|
||||
|
||||
The trace use the format:
|
||||
### xxx -->
|
||||
### xxx <--
|
||||
the number of space before ### is at least 1 and increase with the nesting of eval/call
|
||||
|
||||
usage: make --debug=c,e
|
||||
|
||||
diff -r -u make-3.82/debug.h make-3.82-lo_trace/debug.h
|
||||
--- make-3.82/debug.h 2010-07-12 20:20:38.000000000 -0500
|
||||
+++ make-3.82-lo_trace/debug.h 2011-06-22 12:06:37.000000000 -0500
|
||||
@@ -21,6 +21,8 @@
|
||||
#define DB_JOBS (0x004)
|
||||
#define DB_IMPLICIT (0x008)
|
||||
#define DB_MAKEFILES (0x100)
|
||||
+#define DB_CALL (0x01000)
|
||||
+#define DB_EVAL (0x02000)
|
||||
|
||||
#define DB_ALL (0xfff)
|
||||
|
||||
diff -r -u make-3.82/function.c make-3.82-lo_trace/function.c
|
||||
--- make-3.82/function.c 2011-06-23 01:01:35.000000000 -0500
|
||||
+++ make-3.82-lo_trace/function.c 2011-06-23 01:40:05.000000000 -0500
|
||||
@@ -28,6 +28,8 @@
|
||||
#include "amiga.h"
|
||||
#endif
|
||||
|
||||
+static int depth = 0;
|
||||
+
|
||||
|
||||
struct function_table_entry
|
||||
{
|
||||
@@ -1371,7 +1373,12 @@
|
||||
|
||||
install_variable_buffer (&buf, &len);
|
||||
|
||||
+ depth += 1;
|
||||
+ DBS( DB_EVAL, ("### eval -->\n"));
|
||||
+ DB( DB_EVAL, ("%s\n", argv[0]));
|
||||
eval_buffer (argv[0]);
|
||||
+ DBS( DB_EVAL, ("### eval <--\n"));
|
||||
+ depth -= 1;
|
||||
|
||||
restore_variable_buffer (buf, len);
|
||||
|
||||
@@ -2338,6 +2345,7 @@
|
||||
if (v == 0 || *v->value == '\0')
|
||||
return o;
|
||||
|
||||
+ depth += 1;
|
||||
body = alloca (flen + 4);
|
||||
body[0] = '$';
|
||||
body[1] = '(';
|
||||
@@ -2345,6 +2353,7 @@
|
||||
body[flen+2] = ')';
|
||||
body[flen+3] = '\0';
|
||||
|
||||
+ DBS(DB_CALL, ("### call %s -->\n", body));
|
||||
/* Set up arguments $(1) .. $(N). $(0) is the function name. */
|
||||
|
||||
push_new_variable_scope ();
|
||||
@@ -2354,6 +2363,7 @@
|
||||
char num[11];
|
||||
|
||||
sprintf (num, "%d", i);
|
||||
+ DBS(DB_CALL, ("### arg %i for call %s is '%s'\n", i, body, *argv));
|
||||
define_variable (num, strlen (num), *argv, o_automatic, 0);
|
||||
}
|
||||
|
||||
@@ -2367,6 +2377,7 @@
|
||||
char num[11];
|
||||
|
||||
sprintf (num, "%d", i);
|
||||
+ DBS(DB_CALL, ("### arg %i for call %s is implicit\n", i, body));
|
||||
define_variable (num, strlen (num), "", o_automatic, 0);
|
||||
}
|
||||
|
||||
@@ -2377,7 +2388,14 @@
|
||||
|
||||
saved_args = max_args;
|
||||
max_args = i;
|
||||
+
|
||||
o = variable_expand_string (o, body, flen+3);
|
||||
+ DBS(DB_CALL, ("### call to %s expended into\n", body));
|
||||
+ DB(DB_CALL, ("%s\n", o));
|
||||
+ DBS(DB_CALL, ("### call %s <--\n", body));
|
||||
+
|
||||
+ depth -= 1;
|
||||
+
|
||||
max_args = saved_args;
|
||||
|
||||
v->exp_count = 0;
|
||||
diff -r -u make-3.82/main.c make-3.82-lo_trace/main.c
|
||||
--- make-3.82/main.c 2010-07-19 02:10:53.000000000 -0500
|
||||
+++ make-3.82-lo_trace/main.c 2011-06-22 11:46:39.000000000 -0500
|
||||
@@ -634,6 +634,12 @@
|
||||
case 'b':
|
||||
db_level |= DB_BASIC;
|
||||
break;
|
||||
+ case 'c':
|
||||
+ db_level |= DB_CALL;
|
||||
+ break;
|
||||
+ case 'e':
|
||||
+ db_level |= DB_EVAL;
|
||||
+ break;
|
||||
case 'i':
|
||||
db_level |= DB_BASIC | DB_IMPLICIT;
|
||||
break;
|
||||
@@ -1,116 +0,0 @@
|
||||
Index: read.c
|
||||
===================================================================
|
||||
RCS file: /sources/make/make/read.c,v
|
||||
retrieving revision 1.198
|
||||
retrieving revision 1.200
|
||||
diff -u -r1.198 -r1.200
|
||||
--- a/read.c 29 Apr 2011 15:27:39 -0000 1.198
|
||||
+++ b/read.c 7 May 2011 14:36:12 -0000 1.200
|
||||
@@ -2901,6 +2901,7 @@
|
||||
const char *name;
|
||||
const char **nlist = 0;
|
||||
char *tildep = 0;
|
||||
+ int globme = 1;
|
||||
#ifndef NO_ARCHIVES
|
||||
char *arname = 0;
|
||||
char *memname = 0;
|
||||
@@ -3109,32 +3110,40 @@
|
||||
}
|
||||
#endif /* !NO_ARCHIVES */
|
||||
|
||||
- switch (glob (name, GLOB_NOSORT|GLOB_ALTDIRFUNC, NULL, &gl))
|
||||
- {
|
||||
- case GLOB_NOSPACE:
|
||||
- fatal (NILF, _("virtual memory exhausted"));
|
||||
-
|
||||
- case 0:
|
||||
- /* Success. */
|
||||
- i = gl.gl_pathc;
|
||||
- nlist = (const char **)gl.gl_pathv;
|
||||
- break;
|
||||
-
|
||||
- case GLOB_NOMATCH:
|
||||
- /* If we want only existing items, skip this one. */
|
||||
- if (flags & PARSEFS_EXISTS)
|
||||
- {
|
||||
- i = 0;
|
||||
- break;
|
||||
- }
|
||||
- /* FALLTHROUGH */
|
||||
-
|
||||
- default:
|
||||
- /* By default keep this name. */
|
||||
+ /* glob() is expensive: don't call it unless we need to. */
|
||||
+ if (!(flags & PARSEFS_EXISTS) && strpbrk (name, "?*[") == NULL)
|
||||
+ {
|
||||
+ globme = 0;
|
||||
i = 1;
|
||||
nlist = &name;
|
||||
- break;
|
||||
- }
|
||||
+ }
|
||||
+ else
|
||||
+ switch (glob (name, GLOB_NOSORT|GLOB_ALTDIRFUNC, NULL, &gl))
|
||||
+ {
|
||||
+ case GLOB_NOSPACE:
|
||||
+ fatal (NILF, _("virtual memory exhausted"));
|
||||
+
|
||||
+ case 0:
|
||||
+ /* Success. */
|
||||
+ i = gl.gl_pathc;
|
||||
+ nlist = (const char **)gl.gl_pathv;
|
||||
+ break;
|
||||
+
|
||||
+ case GLOB_NOMATCH:
|
||||
+ /* If we want only existing items, skip this one. */
|
||||
+ if (flags & PARSEFS_EXISTS)
|
||||
+ {
|
||||
+ i = 0;
|
||||
+ break;
|
||||
+ }
|
||||
+ /* FALLTHROUGH */
|
||||
+
|
||||
+ default:
|
||||
+ /* By default keep this name. */
|
||||
+ i = 1;
|
||||
+ nlist = &name;
|
||||
+ break;
|
||||
+ }
|
||||
|
||||
/* For each matched element, add it to the list. */
|
||||
while (i-- > 0)
|
||||
@@ -3174,7 +3183,8 @@
|
||||
#endif /* !NO_ARCHIVES */
|
||||
NEWELT (concat (2, prefix, nlist[i]));
|
||||
|
||||
- globfree (&gl);
|
||||
+ if (globme)
|
||||
+ globfree (&gl);
|
||||
|
||||
#ifndef NO_ARCHIVES
|
||||
if (arname)
|
||||
Index: tests/scripts/functions/wildcard
|
||||
===================================================================
|
||||
RCS file: /sources/make/make/tests/scripts/functions/wildcard,v
|
||||
retrieving revision 1.6
|
||||
retrieving revision 1.7
|
||||
diff -u -r1.6 -r1.7
|
||||
--- a/tests/scripts/functions/wildcard 13 Jun 2009 21:21:49 -0000 1.6
|
||||
+++ b/tests/scripts/functions/wildcard 7 May 2011 14:36:11 -0000 1.7
|
||||
@@ -88,4 +88,16 @@
|
||||
!,
|
||||
'', "\n");
|
||||
|
||||
+# TEST #5: wildcard used to verify file existence
|
||||
+
|
||||
+touch('xxx.yyy');
|
||||
+
|
||||
+run_make_test(q!exists: ; @echo file=$(wildcard xxx.yyy)!,
|
||||
+ '', "file=xxx.yyy\n");
|
||||
+
|
||||
+unlink('xxx.yyy');
|
||||
+
|
||||
+run_make_test(q!exists: ; @echo file=$(wildcard xxx.yyy)!,
|
||||
+ '', "file=\n");
|
||||
+
|
||||
1;
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="pcre"
|
||||
PKG_VERSION="8.33"
|
||||
PKG_VERSION="8.35"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
|
||||
@@ -17,13 +17,13 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="Mesa"
|
||||
PKG_VERSION="10.1.0"
|
||||
PKG_VERSION="10.1.4"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="OSS"
|
||||
PKG_SITE="http://www.mesa3d.org/"
|
||||
PKG_URL="ftp://freedesktop.org/pub/mesa/10.1/MesaLib-$PKG_VERSION.tar.bz2"
|
||||
PKG_DEPENDS_TARGET="toolchain Python:host makedepend:host libxml2:host expat glproto dri2proto libdrm libXext libXdamage libXfixes libXxf86vm libxcb libX11 systemd dri3proto libxshmfence"
|
||||
PKG_URL="ftp://freedesktop.org/pub/mesa/$PKG_VERSION/MesaLib-$PKG_VERSION.tar.bz2"
|
||||
PKG_DEPENDS_TARGET="toolchain Python:host makedepend:host libxml2:host expat glproto dri2proto presentproto libdrm libXext libXdamage libXfixes libXxf86vm libxcb libX11 systemd dri3proto libxshmfence"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="graphics"
|
||||
PKG_SHORTDESC="mesa: 3-D graphics library with OpenGL API"
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
From 92e543c45da4581b1940178a94e6f2d66c749367 Mon Sep 17 00:00:00 2001
|
||||
From: Christian König <christian.koenig@amd.com>
|
||||
Date: Sat, 22 Mar 2014 20:30:07 +0000
|
||||
Subject: st/mesa: recreate sampler view on context change v3
|
||||
|
||||
With shared glx contexts it is possible that a texture is create and used
|
||||
in one context and then used in another one resulting in incorrect
|
||||
sampler view usage.
|
||||
|
||||
v2: avoid template copy
|
||||
v3: add XXX comment
|
||||
|
||||
Signed-off-by: Christian König <christian.koenig@amd.com>
|
||||
Cc: "10.0 10.1" <mesa-stable@lists.freedesktop.org>
|
||||
Reviewed-by: Brian Paul <brianp@vmware.com>
|
||||
---
|
||||
diff --git a/src/mesa/state_tracker/st_atom_texture.c b/src/mesa/state_tracker/st_atom_texture.c
|
||||
index 3557a3f..75e6fac 100644
|
||||
--- a/src/mesa/state_tracker/st_atom_texture.c
|
||||
+++ b/src/mesa/state_tracker/st_atom_texture.c
|
||||
@@ -198,6 +198,16 @@ st_get_texture_sampler_view_from_stobj(struct st_texture_object *stObj,
|
||||
if (!stObj->sampler_view) {
|
||||
stObj->sampler_view =
|
||||
st_create_texture_sampler_view_from_stobj(pipe, stObj, samp, format);
|
||||
+
|
||||
+ } else if (stObj->sampler_view->context != pipe) {
|
||||
+ /* Recreate view in correct context, use existing view as template */
|
||||
+ /* XXX: This isn't optimal, we should try to use more than one view.
|
||||
+ Otherwise we create/destroy the view all the time
|
||||
+ */
|
||||
+ struct pipe_sampler_view *sv =
|
||||
+ pipe->create_sampler_view(pipe, stObj->pt, stObj->sampler_view);
|
||||
+ pipe_sampler_view_reference(&stObj->sampler_view, NULL);
|
||||
+ stObj->sampler_view = sv;
|
||||
}
|
||||
|
||||
return stObj->sampler_view;
|
||||
--
|
||||
cgit v0.9.0.2-2-gbebe
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="bcm2835-driver"
|
||||
PKG_VERSION="4016cb2"
|
||||
PKG_VERSION="b163259"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="nonfree"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="gpu-viv-bin-mx6q"
|
||||
PKG_VERSION="3.5.7-1.0.0"
|
||||
PKG_VERSION="3.10.17-1.0.0"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="arm"
|
||||
PKG_LICENSE="nonfree"
|
||||
@@ -53,6 +53,7 @@ makeinstall_target() {
|
||||
$FLOAT/usr/lib/libGLES_CM.so \
|
||||
$FLOAT/usr/lib/libGLESv1_CL.so* \
|
||||
$FLOAT/usr/lib/libGLESv1_CM.so* \
|
||||
$FLOAT/usr/lib/libGLESv2-fb.so \
|
||||
$FLOAT/usr/lib/libGLESv2.so* \
|
||||
$FLOAT/usr/lib/libGAL-fb.so \
|
||||
$FLOAT/usr/lib/libGAL.so* \
|
||||
@@ -68,6 +69,7 @@ makeinstall_target() {
|
||||
$FLOAT/usr/lib/libGLES_CM.so \
|
||||
$FLOAT/usr/lib/libGLESv1_CL.so* \
|
||||
$FLOAT/usr/lib/libGLESv1_CM.so* \
|
||||
$FLOAT/usr/lib/libGLESv2-fb.so \
|
||||
$FLOAT/usr/lib/libGLESv2.so* \
|
||||
$FLOAT/usr/lib/libGLSLC.so* \
|
||||
$FLOAT/usr/lib/libGAL-fb.so \
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libdrm"
|
||||
PKG_VERSION="2.4.52"
|
||||
PKG_VERSION="2.4.54"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
|
||||
@@ -17,15 +17,15 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="gcc"
|
||||
PKG_VERSION="4.8.2"
|
||||
PKG_VERSION="4.9.0"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://gcc.gnu.org/"
|
||||
PKG_URL="ftp://ftp.gnu.org/gnu/gcc/$PKG_NAME-$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||
PKG_DEPENDS_BOOTSTRAP="ccache:host autoconf-2.64:host binutils:host gmp:host mpfr:host mpc:host cloog:host ppl:host"
|
||||
PKG_DEPENDS_BOOTSTRAP="ccache:host autoconf:host binutils:host gmp:host mpfr:host mpc:host cloog:host ppl:host"
|
||||
PKG_DEPENDS_TARGET="gcc:host"
|
||||
PKG_DEPENDS_HOST="ccache:host autoconf-2.64:host binutils:host gmp:host mpfr:host mpc:host cloog:host ppl:host eglibc"
|
||||
PKG_DEPENDS_HOST="ccache:host autoconf:host binutils:host gmp:host mpfr:host mpc:host cloog:host ppl:host eglibc"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="lang"
|
||||
PKG_SHORTDESC="gcc: The GNU Compiler Collection Version 4 (aka GNU C Compiler)"
|
||||
@@ -129,7 +129,7 @@ post_make_host() {
|
||||
post_makeinstall_host() {
|
||||
cp -PR $TARGET_NAME/libstdc++-v3/src/.libs/libstdc++.so* $SYSROOT_PREFIX/usr/lib
|
||||
|
||||
GCC_VERSION=`$ROOT/$TOOLCHAIN/$TARGET_NAME/bin/gcc -dumpversion`
|
||||
GCC_VERSION=`$ROOT/$TOOLCHAIN/bin/${TARGET_NAME}-gcc -dumpversion`
|
||||
DATE="0501`echo $GCC_VERSION | sed 's/\([0-9]\)/0\1/g' | sed 's/\.//g'`"
|
||||
CROSS_CC=$TARGET_CC-$GCC_VERSION
|
||||
CROSS_CXX=$TARGET_CXX-$GCC_VERSION
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
--- a/gcc/config/arm/arm.c
|
||||
+++ a/gcc/config/arm/arm.c
|
||||
@@ -26547,6 +26547,7 @@ arm_expand_epilogue_apcs_frame (bool really_return)
|
||||
num_regs = bit_count (saved_regs_mask);
|
||||
if ((offsets->outgoing_args != (1 + num_regs)) || cfun->calls_alloca)
|
||||
{
|
||||
+ emit_insn (gen_blockage ());
|
||||
/* Unwind the stack to just below the saved registers. */
|
||||
emit_insn (gen_addsi3 (stack_pointer_rtx,
|
||||
hard_frame_pointer_rtx,
|
||||
@@ -1,60 +0,0 @@
|
||||
diff -Naur gcc-4.8.2/gcc/config/i386/linux64.h gcc-4.8.2.patch/gcc/config/i386/linux64.h
|
||||
--- gcc-4.8.2/gcc/config/i386/linux64.h 2013-01-10 21:38:27.000000000 +0100
|
||||
+++ gcc-4.8.2.patch/gcc/config/i386/linux64.h 2014-01-25 00:09:27.179269461 +0100
|
||||
@@ -28,5 +28,5 @@
|
||||
#define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
|
||||
|
||||
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
|
||||
-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
|
||||
-#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
|
||||
+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
|
||||
+#define GLIBC_DYNAMIC_LINKERX32 "/lib/ld-linux-x32.so.2"
|
||||
diff -Naur gcc-4.8.2/gcc/config/mips/linux64.h gcc-4.8.2.patch/gcc/config/mips/linux64.h
|
||||
--- gcc-4.8.2/gcc/config/mips/linux64.h 2013-01-10 21:38:27.000000000 +0100
|
||||
+++ gcc-4.8.2.patch/gcc/config/mips/linux64.h 2014-01-25 00:09:31.217263893 +0100
|
||||
@@ -23,9 +23,9 @@
|
||||
#define GNU_USER_LINK_EMULATIONN32 "elf32%{EB:b}%{EL:l}tsmipn32"
|
||||
|
||||
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
|
||||
-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld.so.1"
|
||||
-#define GLIBC_DYNAMIC_LINKERN32 "/lib32/ld.so.1"
|
||||
-#define UCLIBC_DYNAMIC_LINKERN32 "/lib32/ld-uClibc.so.0"
|
||||
+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld.so.1"
|
||||
+#define GLIBC_DYNAMIC_LINKERN32 "/lib/ld.so.1"
|
||||
+#define UCLIBC_DYNAMIC_LINKERN32 "/lib/ld-uClibc.so.0"
|
||||
#define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
|
||||
#define GNU_USER_DYNAMIC_LINKERN32 \
|
||||
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKERN32, UCLIBC_DYNAMIC_LINKERN32, \
|
||||
diff -Naur gcc-4.8.2/gcc/config/rs6000/linux64.h gcc-4.8.2.patch/gcc/config/rs6000/linux64.h
|
||||
--- gcc-4.8.2/gcc/config/rs6000/linux64.h 2013-06-19 03:18:38.000000000 +0200
|
||||
+++ gcc-4.8.2.patch/gcc/config/rs6000/linux64.h 2014-01-25 00:09:31.217263893 +0100
|
||||
@@ -351,7 +351,7 @@
|
||||
#define LINK_OS_DEFAULT_SPEC "%(link_os_linux)"
|
||||
|
||||
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
|
||||
-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld64.so.1"
|
||||
+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld64.so.1"
|
||||
#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
|
||||
#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
|
||||
#if DEFAULT_LIBC == LIBC_UCLIBC
|
||||
diff -Naur gcc-4.8.2/gcc/config/sparc/linux64.h gcc-4.8.2.patch/gcc/config/sparc/linux64.h
|
||||
--- gcc-4.8.2/gcc/config/sparc/linux64.h 2013-01-10 21:38:27.000000000 +0100
|
||||
+++ gcc-4.8.2.patch/gcc/config/sparc/linux64.h 2014-01-25 00:09:31.217263893 +0100
|
||||
@@ -93,7 +93,7 @@
|
||||
done. */
|
||||
|
||||
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
|
||||
-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
|
||||
+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux.so.2"
|
||||
|
||||
#ifdef SPARC_BI_ARCH
|
||||
|
||||
@@ -201,7 +201,7 @@
|
||||
#else /* !SPARC_BI_ARCH */
|
||||
|
||||
#undef LINK_SPEC
|
||||
-#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
|
||||
+#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib %{shared:-shared} \
|
||||
%{!shared: \
|
||||
%{!static: \
|
||||
%{rdynamic:-export-dynamic} \
|
||||
32
packages/lang/gcc/patches/gcc-allow-newer-autoconf.patch
Normal file
32
packages/lang/gcc/patches/gcc-allow-newer-autoconf.patch
Normal file
@@ -0,0 +1,32 @@
|
||||
From c611cd5416ff1042a4adec0e1b12c71e307b508d Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <stefan@saraev.ca>
|
||||
Date: Thu, 24 Apr 2014 22:33:27 +0300
|
||||
Subject: [PATCH] allow newer autoconf
|
||||
|
||||
---
|
||||
config/override.m4 | 9 ---------
|
||||
1 files changed, 0 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/config/override.m4 b/config/override.m4
|
||||
index 52bd1c3..6c39656 100644
|
||||
--- a/config/override.m4
|
||||
+++ b/config/override.m4
|
||||
@@ -38,15 +38,6 @@ dnl m4_define([_GCC_AUTOCONF_VERSION], [X.Y])
|
||||
dnl in configure.ac before AC_INIT,
|
||||
dnl without rewriting this file.
|
||||
dnl Or for updating the whole tree at once with the definition above.
|
||||
-AC_DEFUN([_GCC_AUTOCONF_VERSION_CHECK],
|
||||
-[m4_if(m4_defn([_GCC_AUTOCONF_VERSION]),
|
||||
- m4_defn([m4_PACKAGE_VERSION]), [],
|
||||
- [m4_fatal([Please use exactly Autoconf ]_GCC_AUTOCONF_VERSION[ instead of ]m4_defn([m4_PACKAGE_VERSION])[.])])
|
||||
-])
|
||||
-m4_define([AC_INIT], m4_defn([AC_INIT])[
|
||||
-_GCC_AUTOCONF_VERSION_CHECK
|
||||
-])
|
||||
-
|
||||
|
||||
dnl Ensure we do not use a buggy M4.
|
||||
m4_if(m4_index([..wi.d.], [.d.]), [-1],
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
71
packages/lang/gcc/patches/gcc-dynamic_linker.patch
Normal file
71
packages/lang/gcc/patches/gcc-dynamic_linker.patch
Normal file
@@ -0,0 +1,71 @@
|
||||
diff -Naur gcc-4.9.0/gcc/config/i386/linux64.h gcc-4.9.0.patch/gcc/config/i386/linux64.h
|
||||
--- gcc-4.9.0/gcc/config/i386/linux64.h 2014-01-02 23:23:26.000000000 +0100
|
||||
+++ gcc-4.9.0.patch/gcc/config/i386/linux64.h 2014-04-22 20:27:05.853832561 +0200
|
||||
@@ -28,5 +28,5 @@
|
||||
#define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
|
||||
|
||||
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
|
||||
-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux-x86-64.so.2"
|
||||
-#define GLIBC_DYNAMIC_LINKERX32 "/libx32/ld-linux-x32.so.2"
|
||||
+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux-x86-64.so.2"
|
||||
+#define GLIBC_DYNAMIC_LINKERX32 "/lib/ld-linux-x32.so.2"
|
||||
diff -Naur gcc-4.9.0/gcc/config/mips/linux64.h gcc-4.9.0.patch/gcc/config/mips/linux64.h
|
||||
--- gcc-4.9.0/gcc/config/mips/linux64.h 2014-01-02 23:23:26.000000000 +0100
|
||||
+++ gcc-4.9.0.patch/gcc/config/mips/linux64.h 2014-04-22 20:28:54.699515966 +0200
|
||||
@@ -25,9 +25,9 @@
|
||||
#define GLIBC_DYNAMIC_LINKER32 \
|
||||
"%{mnan=2008:/lib/ld-linux-mipsn8.so.1;:/lib/ld.so.1}"
|
||||
#define GLIBC_DYNAMIC_LINKER64 \
|
||||
- "%{mnan=2008:/lib64/ld-linux-mipsn8.so.1;:/lib64/ld.so.1}"
|
||||
+ "%{mnan=2008:/lib64/ld-linux-mipsn8.so.1;:/lib/ld.so.1}"
|
||||
#define GLIBC_DYNAMIC_LINKERN32 \
|
||||
- "%{mnan=2008:/lib32/ld-linux-mipsn8.so.1;:/lib32/ld.so.1}"
|
||||
+ "%{mnan=2008:/lib32/ld-linux-mipsn8.so.1;:/lib/ld.so.1}"
|
||||
|
||||
#undef UCLIBC_DYNAMIC_LINKER32
|
||||
#define UCLIBC_DYNAMIC_LINKER32 \
|
||||
@@ -36,7 +36,7 @@
|
||||
#define UCLIBC_DYNAMIC_LINKER64 \
|
||||
"%{mnan=2008:/lib/ld64-uClibc-mipsn8.so.0;:/lib/ld64-uClibc.so.0}"
|
||||
#define UCLIBC_DYNAMIC_LINKERN32 \
|
||||
- "%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib32/ld-uClibc.so.0}"
|
||||
+ "%{mnan=2008:/lib32/ld-uClibc-mipsn8.so.0;:/lib/ld-uClibc.so.0}"
|
||||
|
||||
#define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
|
||||
#define GNU_USER_DYNAMIC_LINKERN32 \
|
||||
diff -Naur gcc-4.9.0/gcc/config/rs6000/linux64.h gcc-4.9.0.patch/gcc/config/rs6000/linux64.h
|
||||
--- gcc-4.9.0/gcc/config/rs6000/linux64.h 2014-01-02 23:23:26.000000000 +0100
|
||||
+++ gcc-4.9.0.patch/gcc/config/rs6000/linux64.h 2014-04-22 20:30:39.567210839 +0200
|
||||
@@ -369,9 +369,9 @@
|
||||
|
||||
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld.so.1"
|
||||
#ifdef LINUX64_DEFAULT_ABI_ELFv2
|
||||
-#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv1:/lib64/ld64.so.1;:/lib64/ld64.so.2}"
|
||||
+#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv1:/lib/ld64.so.1;:/lib/ld64.so.2}"
|
||||
#else
|
||||
-#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv2:/lib64/ld64.so.2;:/lib64/ld64.so.1}"
|
||||
+#define GLIBC_DYNAMIC_LINKER64 "%{mabi=elfv2:/lib/ld64.so.2;:/lib/ld64.so.1}"
|
||||
#endif
|
||||
#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
|
||||
#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
|
||||
diff -Naur gcc-4.9.0/gcc/config/sparc/linux64.h gcc-4.9.0.patch/gcc/config/sparc/linux64.h
|
||||
--- gcc-4.9.0/gcc/config/sparc/linux64.h 2014-01-02 23:23:26.000000000 +0100
|
||||
+++ gcc-4.9.0.patch/gcc/config/sparc/linux64.h 2014-04-22 20:27:05.854832558 +0200
|
||||
@@ -93,7 +93,7 @@
|
||||
done. */
|
||||
|
||||
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
|
||||
-#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
|
||||
+#define GLIBC_DYNAMIC_LINKER64 "/lib/ld-linux.so.2"
|
||||
|
||||
#ifdef SPARC_BI_ARCH
|
||||
|
||||
@@ -201,7 +201,7 @@
|
||||
#else /* !SPARC_BI_ARCH */
|
||||
|
||||
#undef LINK_SPEC
|
||||
-#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib64 %{shared:-shared} \
|
||||
+#define LINK_SPEC "-m elf64_sparc -Y P,%R/usr/lib %{shared:-shared} \
|
||||
%{!shared: \
|
||||
%{!static: \
|
||||
%{rdynamic:-export-dynamic} \
|
||||
@@ -17,12 +17,13 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="llvm"
|
||||
PKG_VERSION="3.4"
|
||||
PKG_VERSION="3.4.1"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://llvm.org/"
|
||||
PKG_URL="http://llvm.org/releases/3.4/${PKG_NAME}-${PKG_VERSION}.src.tar.gz"
|
||||
PKG_URL="http://llvm.org/releases/$PKG_VERSION/${PKG_NAME}-${PKG_VERSION}.src.tar.gz"
|
||||
PKG_SOURCE_DIR="${PKG_NAME}-${PKG_VERSION}.src"
|
||||
PKG_DEPENDS_HOST=""
|
||||
PKG_DEPENDS_TARGET="toolchain llvm:host"
|
||||
PKG_PRIORITY="optional"
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
diff -Naur RTL8188EU-fcc9034/os_dep/usb_intf.c RTL8188EU-fcc9034.patch/os_dep/usb_intf.c
|
||||
--- RTL8188EU-fcc9034/os_dep/usb_intf.c 2014-03-25 15:05:52.000000000 +0100
|
||||
+++ RTL8188EU-fcc9034.patch/os_dep/usb_intf.c 2014-04-28 17:42:46.059538024 +0200
|
||||
@@ -865,7 +865,6 @@
|
||||
RT_TRACE(_module_hci_intfs_c_, _drv_err_, ("+rtw_drv_entry\n"));
|
||||
|
||||
DBG_88E(DRV_NAME " driver version=%s\n", DRIVERVERSION);
|
||||
- DBG_88E("build time: %s %s\n", __DATE__, __TIME__);
|
||||
|
||||
rtw_suspend_lock_init();
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
diff -Naur RTL8192CU-v4.0.2_9000.20130911/os_dep/linux/usb_intf.c RTL8192CU-v4.0.2_9000.20130911.patch/os_dep/linux/usb_intf.c
|
||||
--- RTL8192CU-v4.0.2_9000.20130911/os_dep/linux/usb_intf.c 2013-09-11 05:56:55.000000000 +0200
|
||||
+++ RTL8192CU-v4.0.2_9000.20130911.patch/os_dep/linux/usb_intf.c 2014-04-01 20:21:56.601914791 +0200
|
||||
+++ RTL8192CU-v4.0.2_9000.20130911.patch/os_dep/linux/usb_intf.c 2014-04-09 02:51:25.318208735 +0200
|
||||
@@ -96,6 +96,7 @@
|
||||
{USB_DEVICE(0x2019, 0xED17)},/* PCI - Edimax */ \
|
||||
{USB_DEVICE(0x0DF6, 0x0052)},/* Sitecom - Edimax */ \
|
||||
@@ -9,3 +9,11 @@ diff -Naur RTL8192CU-v4.0.2_9000.20130911/os_dep/linux/usb_intf.c RTL8192CU-v4.0
|
||||
{USB_DEVICE(0x07B8, 0x8189)},/* Abocom - Abocom */ \
|
||||
{USB_DEVICE(0x0EB0, 0x9071)},/* NO Brand - Etop */ \
|
||||
{USB_DEVICE(0x06F8, 0xE033)},/* Hercules - Edimax */ \
|
||||
@@ -146,6 +147,7 @@
|
||||
{USB_DEVICE(0x4855, 0x0091)},/* - Feixun */ \
|
||||
{USB_DEVICE(0x050D, 0x2102)},/* Belkin - Sercomm */ \
|
||||
{USB_DEVICE(0x050D, 0x2103)},/* Belkin - Edimax */ \
|
||||
+ {USB_DEVICE(0x050D, 0x21F2)},/* Belkin - Edimax */ \
|
||||
{USB_DEVICE(0x20F4, 0x624D)},/* TRENDnet */ \
|
||||
{USB_DEVICE(0x0DF6, 0x0061)},/* Sitecom - Edimax */ \
|
||||
{USB_DEVICE(0x0B05, 0x17AB)},/* ASUS - Edimax */ \
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
diff -Naur RTL8192CU-v4.0.2_9000.20130911/os_dep/linux/pci_intf.c RTL8192CU-v4.0.2_9000.20130911.patch/os_dep/linux/pci_intf.c
|
||||
--- RTL8192CU-v4.0.2_9000.20130911/os_dep/linux/pci_intf.c 2013-09-11 05:56:55.000000000 +0200
|
||||
+++ RTL8192CU-v4.0.2_9000.20130911.patch/os_dep/linux/pci_intf.c 2014-04-22 23:25:02.082908033 +0200
|
||||
@@ -1963,7 +1963,6 @@
|
||||
|
||||
RT_TRACE(_module_hci_intfs_c_,_drv_err_,("+rtw_drv_entry\n"));
|
||||
DBG_871X("rtw driver version=%s\n", DRIVERVERSION);
|
||||
- DBG_871X("Build at: %s %s\n", __DATE__, __TIME__);
|
||||
pci_drvpriv.drv_registered = _TRUE;
|
||||
|
||||
rtw_suspend_lock_init();
|
||||
diff -Naur RTL8192CU-v4.0.2_9000.20130911/os_dep/linux/usb_intf.c RTL8192CU-v4.0.2_9000.20130911.patch/os_dep/linux/usb_intf.c
|
||||
--- RTL8192CU-v4.0.2_9000.20130911/os_dep/linux/usb_intf.c 2013-09-11 05:56:55.000000000 +0200
|
||||
+++ RTL8192CU-v4.0.2_9000.20130911.patch/os_dep/linux/usb_intf.c 2014-04-22 23:25:21.337862827 +0200
|
||||
@@ -1577,7 +1577,6 @@
|
||||
RT_TRACE(_module_hci_intfs_c_,_drv_err_,("+rtw_drv_entry\n"));
|
||||
|
||||
DBG_871X(DRV_NAME " driver version=%s\n", DRIVERVERSION);
|
||||
- DBG_871X("build time: %s %s\n", __DATE__, __TIME__);
|
||||
|
||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,24))
|
||||
//console_suspend_enabled=0;
|
||||
@@ -0,0 +1,12 @@
|
||||
diff -Naur RTL8192DU-085e206/os_dep/usb_intf.c RTL8192DU-085e206.patch/os_dep/usb_intf.c
|
||||
--- RTL8192DU-085e206/os_dep/usb_intf.c 2014-03-25 15:48:57.000000000 +0100
|
||||
+++ RTL8192DU-085e206.patch/os_dep/usb_intf.c 2014-04-11 09:23:12.097223906 +0200
|
||||
@@ -137,7 +137,7 @@
|
||||
{USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8194)},/* 8192DU-VS */ \
|
||||
{USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8111)},/* Realtek 5G dongle for WiFi Display */ \
|
||||
{USB_DEVICE(USB_VENDER_ID_REALTEK, 0x0193)},/* 8192DE-VAU */ \
|
||||
- {USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8171)},/* 8192DU-VC */ \
|
||||
+/* {USB_DEVICE(USB_VENDER_ID_REALTEK, 0x8171)}, 8192DU-VC overlaps with in-kernel rtl8192se */ \
|
||||
/*=== Customer ID ===*/ \
|
||||
/****** 8192DU-VC ********/ \
|
||||
{USB_DEVICE(0x2019, 0xAB2C)},/* PCI - Abocm */ \
|
||||
@@ -16,19 +16,19 @@
|
||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="RTL8723AU"
|
||||
PKG_VERSION="9af1588"
|
||||
PKG_NAME="RTL8812AU"
|
||||
PKG_VERSION="b22cbdf"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/lwfinger/rtl8723au"
|
||||
PKG_SITE="git@github.com:wuzzeb/rtl8812AU_8821AU_linux.git"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain linux"
|
||||
PKG_NEED_UNPACK="$LINUX_DEPENDS"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="driver"
|
||||
PKG_SHORTDESC="Realtek RTL8723AU Linux 3.x driver"
|
||||
PKG_LONGDESC="Realtek RTL8723AU Linux 3.x driver"
|
||||
PKG_SHORTDESC="Realtek RTL8812AU Linux 3.x driver"
|
||||
PKG_LONGDESC="Realtek RTL8812AU Linux 3.x driver"
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
@@ -1,8 +1,7 @@
|
||||
diff --git a/x86-32/src/wl/sys/wl_linux.c b/x86-32/src/wl/sys/wl_linux.c
|
||||
index 9ee69e1..409bda7 100644
|
||||
--- a/x86-32/src/wl/sys/wl_linux.c
|
||||
+++ b/x86-32/src/wl/sys/wl_linux.c
|
||||
@@ -2693,7 +2693,7 @@ wl_tkip_keyset(wl_info_t *wl, wsec_key_t *key)
|
||||
diff -Naur bcm_sta-6.20.155.1/x86-32/src/wl/sys/wl_linux.c bcm_sta-6.20.155.1.patch/x86-32/src/wl/sys/wl_linux.c
|
||||
--- bcm_sta-6.20.155.1/x86-32/src/wl/sys/wl_linux.c 2013-04-14 23:10:38.000000000 +0200
|
||||
+++ bcm_sta-6.20.155.1.patch/x86-32/src/wl/sys/wl_linux.c 2014-05-14 21:47:59.249976234 +0200
|
||||
@@ -2681,7 +2681,7 @@
|
||||
void
|
||||
wl_tkip_printstats(wl_info_t *wl, bool group_key)
|
||||
{
|
||||
@@ -11,7 +10,7 @@ index 9ee69e1..409bda7 100644
|
||||
char debug_buf[512];
|
||||
int idx;
|
||||
if (wl->tkipmodops) {
|
||||
@@ -2855,6 +2855,7 @@ wl_linux_watchdog(void *ctx)
|
||||
@@ -2843,6 +2843,7 @@
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -19,7 +18,7 @@ index 9ee69e1..409bda7 100644
|
||||
static int
|
||||
wl_proc_read(char *buffer, char **start, off_t offset, int length, int *eof, void *data)
|
||||
{
|
||||
@@ -2909,18 +2910,89 @@ wl_proc_write(struct file *filp, const char *buff, unsigned long length, void *d
|
||||
@@ -2897,18 +2898,89 @@
|
||||
return length;
|
||||
}
|
||||
|
||||
@@ -99,7 +98,7 @@ index 9ee69e1..409bda7 100644
|
||||
+ wl->proc_entry->read_proc = wl_proc_read;
|
||||
+ wl->proc_entry->write_proc = wl_proc_write;
|
||||
+ wl->proc_entry->data = wl;
|
||||
+ }
|
||||
+ }
|
||||
+#else
|
||||
+ wl->proc_entry = proc_create_data(tmp, 0644, NULL, &wl_proc_fops, wl);
|
||||
+#endif
|
||||
@@ -113,24 +112,10 @@ index 9ee69e1..409bda7 100644
|
||||
- wl->proc_entry->data = wl;
|
||||
return 0;
|
||||
}
|
||||
diff --git a/x86-32/src/wl/sys/wl_linux.c.orig b/x86-32/src/wl/sys/wl_linux.c.orig
|
||||
index 38206ab..9ee69e1 100644
|
||||
--- a/x86-32/src/wl/sys/wl_linux.c.orig
|
||||
+++ b/x86-32/src/wl/sys/wl_linux.c.orig
|
||||
@@ -219,7 +219,7 @@ module_param(nompc, int, 0);
|
||||
#define quote_str(s) to_str(s)
|
||||
|
||||
#ifndef BRCM_WLAN_IFNAME
|
||||
-#define BRCM_WLAN_IFNAME eth%d
|
||||
+#define BRCM_WLAN_IFNAME wlan%d
|
||||
#endif
|
||||
|
||||
static char intf_name[IFNAMSIZ] = quote_str(BRCM_WLAN_IFNAME);
|
||||
diff --git a/x86-64/src/wl/sys/wl_linux.c b/x86-64/src/wl/sys/wl_linux.c
|
||||
index 9ee69e1..409bda7 100644
|
||||
--- a/x86-64/src/wl/sys/wl_linux.c
|
||||
+++ b/x86-64/src/wl/sys/wl_linux.c
|
||||
@@ -2693,7 +2693,7 @@ wl_tkip_keyset(wl_info_t *wl, wsec_key_t *key)
|
||||
diff -Naur bcm_sta-6.20.155.1/x86-64/src/wl/sys/wl_linux.c bcm_sta-6.20.155.1.patch/x86-64/src/wl/sys/wl_linux.c
|
||||
--- bcm_sta-6.20.155.1/x86-64/src/wl/sys/wl_linux.c 2013-04-14 23:10:38.000000000 +0200
|
||||
+++ bcm_sta-6.20.155.1.patch/x86-64/src/wl/sys/wl_linux.c 2014-05-14 21:48:16.002975186 +0200
|
||||
@@ -2681,7 +2681,7 @@
|
||||
void
|
||||
wl_tkip_printstats(wl_info_t *wl, bool group_key)
|
||||
{
|
||||
@@ -139,7 +124,7 @@ index 9ee69e1..409bda7 100644
|
||||
char debug_buf[512];
|
||||
int idx;
|
||||
if (wl->tkipmodops) {
|
||||
@@ -2855,6 +2855,7 @@ wl_linux_watchdog(void *ctx)
|
||||
@@ -2843,6 +2843,7 @@
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -147,7 +132,7 @@ index 9ee69e1..409bda7 100644
|
||||
static int
|
||||
wl_proc_read(char *buffer, char **start, off_t offset, int length, int *eof, void *data)
|
||||
{
|
||||
@@ -2909,18 +2910,89 @@ wl_proc_write(struct file *filp, const char *buff, unsigned long length, void *d
|
||||
@@ -2897,18 +2898,89 @@
|
||||
return length;
|
||||
}
|
||||
|
||||
@@ -227,7 +212,7 @@ index 9ee69e1..409bda7 100644
|
||||
+ wl->proc_entry->read_proc = wl_proc_read;
|
||||
+ wl->proc_entry->write_proc = wl_proc_write;
|
||||
+ wl->proc_entry->data = wl;
|
||||
+ }
|
||||
+ }
|
||||
+#else
|
||||
+ wl->proc_entry = proc_create_data(tmp, 0644, NULL, &wl_proc_fops, wl);
|
||||
+#endif
|
||||
@@ -241,16 +226,3 @@ index 9ee69e1..409bda7 100644
|
||||
- wl->proc_entry->data = wl;
|
||||
return 0;
|
||||
}
|
||||
diff --git a/x86-64/src/wl/sys/wl_linux.c.orig b/x86-64/src/wl/sys/wl_linux.c.orig
|
||||
index 38206ab..9ee69e1 100644
|
||||
--- a/x86-64/src/wl/sys/wl_linux.c.orig
|
||||
+++ b/x86-64/src/wl/sys/wl_linux.c.orig
|
||||
@@ -219,7 +219,7 @@ module_param(nompc, int, 0);
|
||||
#define quote_str(s) to_str(s)
|
||||
|
||||
#ifndef BRCM_WLAN_IFNAME
|
||||
-#define BRCM_WLAN_IFNAME eth%d
|
||||
+#define BRCM_WLAN_IFNAME wlan%d
|
||||
#endif
|
||||
|
||||
static char intf_name[IFNAMSIZ] = quote_str(BRCM_WLAN_IFNAME);
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
--- a/x86-32/src/wl/sys/wl_linux.c
|
||||
+++ b/x86-32/src/wl/sys/wl_linux.c
|
||||
@@ -1773,8 +1773,8 @@
|
||||
void
|
||||
wl_dump_ver(wl_info_t *wl, struct bcmstrbuf *b)
|
||||
{
|
||||
- bcm_bprintf(b, "wl%d: %s %s version %s\n", wl->pub->unit,
|
||||
- __DATE__, __TIME__, EPI_VERSION_STR);
|
||||
+ bcm_bprintf(b, "wl%d: version %s\n", wl->pub->unit,
|
||||
+ EPI_VERSION_STR);
|
||||
}
|
||||
|
||||
#if defined(BCMDBG)
|
||||
|
||||
--- a/x86-64/src/wl/sys/wl_linux.c
|
||||
+++b/x86-64/src/wl/sys/wl_linux.c
|
||||
@@ -1773,8 +1773,8 @@
|
||||
void
|
||||
wl_dump_ver(wl_info_t *wl, struct bcmstrbuf *b)
|
||||
{
|
||||
- bcm_bprintf(b, "wl%d: %s %s version %s\n", wl->pub->unit,
|
||||
- __DATE__, __TIME__, EPI_VERSION_STR);
|
||||
+ bcm_bprintf(b, "wl%d: version %s\n", wl->pub->unit,
|
||||
+ EPI_VERSION_STR);
|
||||
}
|
||||
|
||||
#if defined(BCMDBG)
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="dvb-firmware"
|
||||
PKG_VERSION="0.0.38"
|
||||
PKG_VERSION="0.0.41"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="Free-to-use"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="wlan-firmware"
|
||||
PKG_VERSION="0.0.18"
|
||||
PKG_VERSION="0.0.21"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="Free-to-use"
|
||||
|
||||
BIN
packages/linux/firmware/radeon/BONAIRE_vce.bin
Normal file
BIN
packages/linux/firmware/radeon/BONAIRE_vce.bin
Normal file
Binary file not shown.
@@ -19,15 +19,11 @@
|
||||
PKG_NAME="linux"
|
||||
case "$LINUX" in
|
||||
imx6)
|
||||
PKG_VERSION="imx_3.0.35_4.1.0-5c73417"
|
||||
PKG_VERSION="cuboxi-592b2d9"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
;;
|
||||
3.13)
|
||||
PKG_VERSION="3.13.7"
|
||||
PKG_URL="http://www.kernel.org/pub/linux/kernel/v3.x/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
;;
|
||||
*)
|
||||
PKG_VERSION="3.14"
|
||||
PKG_VERSION="3.14.4"
|
||||
PKG_URL="http://www.kernel.org/pub/linux/kernel/v3.x/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
;;
|
||||
esac
|
||||
@@ -175,9 +171,9 @@ make_target() {
|
||||
|
||||
makeinstall_target() {
|
||||
if [ "$BOOTLOADER" = "u-boot" ]; then
|
||||
mkdir -p $INSTALL/usr/share/u-boot
|
||||
mkdir -p $INSTALL/usr/share/bootloader
|
||||
for dtb in arch/arm/boot/dts/*.dtb; do
|
||||
cp $dtb $INSTALL/usr/share/u-boot
|
||||
cp $dtb $INSTALL/usr/share/bootloader
|
||||
done
|
||||
fi
|
||||
|
||||
|
||||
26369
packages/linux/patches/3.13.7/linux-221-ngene-octopus.patch
vendored
26369
packages/linux/patches/3.13.7/linux-221-ngene-octopus.patch
vendored
File diff suppressed because it is too large
Load Diff
@@ -1,115 +0,0 @@
|
||||
From e28f3bbe9ce8cb3c81f289487a8724a7b4a6ddb2 Mon Sep 17 00:00:00 2001
|
||||
From: popcornmix <popcornmix@gmail.com>
|
||||
Date: Wed, 27 Nov 2013 22:52:53 +0000
|
||||
Subject: [PATCH 061/114] dvb: Add support for CableStar Device
|
||||
|
||||
---
|
||||
drivers/media/dvb-core/dvb-usb-ids.h | 1 +
|
||||
drivers/media/usb/dvb-usb-v2/az6007.c | 59 +++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 60 insertions(+)
|
||||
|
||||
diff --git a/drivers/media/dvb-core/dvb-usb-ids.h b/drivers/media/dvb-core/dvb-usb-ids.h
|
||||
index 7e0f619..8407178 100644
|
||||
--- a/drivers/media/dvb-core/dvb-usb-ids.h
|
||||
+++ b/drivers/media/dvb-core/dvb-usb-ids.h
|
||||
@@ -366,6 +366,7 @@
|
||||
#define USB_PID_TERRATEC_DVBS2CI_V2 0x10ac
|
||||
#define USB_PID_TECHNISAT_USB2_HDCI_V1 0x0001
|
||||
#define USB_PID_TECHNISAT_USB2_HDCI_V2 0x0002
|
||||
+#define USB_PID_TECHNISAT_USB2_CABLESTAR_HDCI 0x0003
|
||||
#define USB_PID_TECHNISAT_AIRSTAR_TELESTICK_2 0x0004
|
||||
#define USB_PID_TECHNISAT_USB2_DVB_S2 0x0500
|
||||
#define USB_PID_CPYTO_REDI_PC50A 0xa803
|
||||
diff --git a/drivers/media/usb/dvb-usb-v2/az6007.c b/drivers/media/usb/dvb-usb-v2/az6007.c
|
||||
index 44c64ef3..c1051c3 100644
|
||||
--- a/drivers/media/usb/dvb-usb-v2/az6007.c
|
||||
+++ b/drivers/media/usb/dvb-usb-v2/az6007.c
|
||||
@@ -68,6 +68,19 @@ struct az6007_device_state {
|
||||
.microcode_name = "dvb-usb-terratec-h7-drxk.fw",
|
||||
};
|
||||
|
||||
+static struct drxk_config cablestar_hdci_drxk = {
|
||||
+ .adr = 0x29,
|
||||
+ .parallel_ts = true,
|
||||
+ .dynamic_clk = true,
|
||||
+ .single_master = true,
|
||||
+ .enable_merr_cfg = true,
|
||||
+ .no_i2c_bridge = false,
|
||||
+ .chunk_size = 64,
|
||||
+ .mpeg_out_clk_strength = 0x02,
|
||||
+ .qam_demod_parameter_count = 2,
|
||||
+ .microcode_name = "dvb-usb-technisat-cablestar-hdci-drxk.fw",
|
||||
+};
|
||||
+
|
||||
static int drxk_gate_ctrl(struct dvb_frontend *fe, int enable)
|
||||
{
|
||||
struct az6007_device_state *st = fe_to_priv(fe);
|
||||
@@ -630,6 +643,27 @@ static int az6007_frontend_attach(struct dvb_usb_adapter *adap)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+static int az6007_cablestar_hdci_frontend_attach(struct dvb_usb_adapter *adap)
|
||||
+{
|
||||
+ struct az6007_device_state *st = adap_to_priv(adap);
|
||||
+ struct dvb_usb_device *d = adap_to_d(adap);
|
||||
+
|
||||
+ pr_debug("attaching demod drxk\n");
|
||||
+
|
||||
+ adap->fe[0] = dvb_attach(drxk_attach, &cablestar_hdci_drxk,
|
||||
+ &d->i2c_adap);
|
||||
+ if (!adap->fe[0])
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ adap->fe[0]->sec_priv = adap;
|
||||
+ st->gate_ctrl = adap->fe[0]->ops.i2c_gate_ctrl;
|
||||
+ adap->fe[0]->ops.i2c_gate_ctrl = drxk_gate_ctrl;
|
||||
+
|
||||
+ az6007_ci_init(adap);
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
static int az6007_tuner_attach(struct dvb_usb_adapter *adap)
|
||||
{
|
||||
struct dvb_usb_device *d = adap_to_d(adap);
|
||||
@@ -868,6 +902,29 @@ static int az6007_download_firmware(struct dvb_usb_device *d,
|
||||
}
|
||||
};
|
||||
|
||||
+static struct dvb_usb_device_properties az6007_cablestar_hdci_props = {
|
||||
+ .driver_name = KBUILD_MODNAME,
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .firmware = AZ6007_FIRMWARE,
|
||||
+
|
||||
+ .adapter_nr = adapter_nr,
|
||||
+ .size_of_priv = sizeof(struct az6007_device_state),
|
||||
+ .i2c_algo = &az6007_i2c_algo,
|
||||
+ .tuner_attach = az6007_tuner_attach,
|
||||
+ .frontend_attach = az6007_cablestar_hdci_frontend_attach,
|
||||
+ .streaming_ctrl = az6007_streaming_ctrl,
|
||||
+/* ditch get_rc_config as it can't work (TS35 remote, I believe it's rc5) */
|
||||
+ .get_rc_config = NULL,
|
||||
+ .read_mac_address = az6007_read_mac_addr,
|
||||
+ .download_firmware = az6007_download_firmware,
|
||||
+ .identify_state = az6007_identify_state,
|
||||
+ .power_ctrl = az6007_power_ctrl,
|
||||
+ .num_adapters = 1,
|
||||
+ .adapter = {
|
||||
+ { .stream = DVB_USB_STREAM_BULK(0x02, 10, 4096), }
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
static struct usb_device_id az6007_usb_table[] = {
|
||||
{DVB_USB_DEVICE(USB_VID_AZUREWAVE, USB_PID_AZUREWAVE_6007,
|
||||
&az6007_props, "Azurewave 6007", RC_MAP_EMPTY)},
|
||||
@@ -875,6 +932,8 @@ static int az6007_download_firmware(struct dvb_usb_device *d,
|
||||
&az6007_props, "Terratec H7", RC_MAP_NEC_TERRATEC_CINERGY_XS)},
|
||||
{DVB_USB_DEVICE(USB_VID_TERRATEC, USB_PID_TERRATEC_H7_2,
|
||||
&az6007_props, "Terratec H7", RC_MAP_NEC_TERRATEC_CINERGY_XS)},
|
||||
+ {DVB_USB_DEVICE(USB_VID_TECHNISAT, USB_PID_TECHNISAT_USB2_CABLESTAR_HDCI,
|
||||
+ &az6007_cablestar_hdci_props, "Technisat CableStar Combo HD CI", RC_MAP_EMPTY)},
|
||||
{0},
|
||||
};
|
||||
|
||||
--
|
||||
1.8.5.5
|
||||
17
packages/linux/patches/3.14.4/linux-061-nuvoton-cir-Activate-PNP-device-when-probing.patch
vendored
Normal file
17
packages/linux/patches/3.14.4/linux-061-nuvoton-cir-Activate-PNP-device-when-probing.patch
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
diff --git a/drivers/media/rc/nuvoton-cir.c b/drivers/media/rc/nuvoton-cir.c
|
||||
index b41e52e..b81325d 100644
|
||||
--- a/drivers/media/rc/nuvoton-cir.c
|
||||
+++ b/drivers/media/rc/nuvoton-cir.c
|
||||
@@ -985,6 +985,12 @@ static int nvt_probe(struct pnp_dev *pdev, const struct pnp_device_id *dev_id)
|
||||
goto exit_free_dev_rdev;
|
||||
|
||||
ret = -ENODEV;
|
||||
+ /* activate pnp device */
|
||||
+ if (pnp_activate_dev(pdev) < 0) {
|
||||
+ dev_err(&pdev->dev, "Could not activate PNP device!\n");
|
||||
+ goto exit_free_dev_rdev;
|
||||
+ }
|
||||
+
|
||||
/* validate pnp resources */
|
||||
if (!pnp_port_valid(pdev, 0) ||
|
||||
pnp_port_len(pdev, 0) < CIR_IOREG_LENGTH) {
|
||||
@@ -0,0 +1,138 @@
|
||||
From cb171f7abb9a1a250fb41d088b81799f75bd1357 Mon Sep 17 00:00:00 2001
|
||||
From: Bjorn Helgaas <bhelgaas@google.com>
|
||||
Date: Wed, 23 Apr 2014 10:21:06 -0600
|
||||
Subject: PNP: Work around BIOS defects in Intel MCH area reporting
|
||||
|
||||
Work around BIOSes that don't report the entire Intel MCH area.
|
||||
|
||||
MCHBAR is not an architected PCI BAR, so MCH space is usually reported as a
|
||||
PNP0C02 resource. The MCH space was once 16KB, but is 32KB in newer parts.
|
||||
Some BIOSes still report a PNP0C02 resource that is only 16KB, which means
|
||||
the rest of the MCH space is consumed but unreported.
|
||||
|
||||
This can cause resource map sanity check warnings or (theoretically) a
|
||||
device conflict if we assigned the unreported space to another device.
|
||||
|
||||
The Intel perf event uncore driver tripped over this when it claimed the
|
||||
MCH region:
|
||||
|
||||
resource map sanity check conflict: 0xfed10000 0xfed15fff 0xfed10000 0xfed13fff pnp 00:01
|
||||
Info: mapping multiple BARs. Your kernel is fine.
|
||||
|
||||
To prevent this, if we find a PNP0C02 resource that covers part of the MCH
|
||||
space, extend it to cover the entire space.
|
||||
|
||||
References: http://lkml.kernel.org/r/20140224162400.GE16457@pd.tnic
|
||||
Reported-and-tested-by: Borislav Petkov <bp@alien8.de>
|
||||
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
|
||||
Acked-by: Borislav Petkov <bp@suse.de>
|
||||
Acked-by: Stephane Eranian <eranian@google.com>
|
||||
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
|
||||
|
||||
diff --git a/drivers/pnp/quirks.c b/drivers/pnp/quirks.c
|
||||
index 258fef2..3736bc4 100644
|
||||
--- a/drivers/pnp/quirks.c
|
||||
+++ b/drivers/pnp/quirks.c
|
||||
@@ -15,6 +15,7 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/kernel.h>
|
||||
+#include <linux/pci.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/pnp.h>
|
||||
@@ -334,6 +335,81 @@ static void quirk_amd_mmconfig_area(struct pnp_dev *dev)
|
||||
}
|
||||
#endif
|
||||
|
||||
+#ifdef CONFIG_X86
|
||||
+/* Device IDs of parts that have 32KB MCH space */
|
||||
+static const unsigned int mch_quirk_devices[] = {
|
||||
+ 0x0154, /* Ivy Bridge */
|
||||
+ 0x0c00, /* Haswell */
|
||||
+};
|
||||
+
|
||||
+static struct pci_dev *get_intel_host(void)
|
||||
+{
|
||||
+ int i;
|
||||
+ struct pci_dev *host;
|
||||
+
|
||||
+ for (i = 0; i < ARRAY_SIZE(mch_quirk_devices); i++) {
|
||||
+ host = pci_get_device(PCI_VENDOR_ID_INTEL, mch_quirk_devices[i],
|
||||
+ NULL);
|
||||
+ if (host)
|
||||
+ return host;
|
||||
+ }
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
+static void quirk_intel_mch(struct pnp_dev *dev)
|
||||
+{
|
||||
+ struct pci_dev *host;
|
||||
+ u32 addr_lo, addr_hi;
|
||||
+ struct pci_bus_region region;
|
||||
+ struct resource mch;
|
||||
+ struct pnp_resource *pnp_res;
|
||||
+ struct resource *res;
|
||||
+
|
||||
+ host = get_intel_host();
|
||||
+ if (!host)
|
||||
+ return;
|
||||
+
|
||||
+ /*
|
||||
+ * MCHBAR is not an architected PCI BAR, so MCH space is usually
|
||||
+ * reported as a PNP0C02 resource. The MCH space was originally
|
||||
+ * 16KB, but is 32KB in newer parts. Some BIOSes still report a
|
||||
+ * PNP0C02 resource that is only 16KB, which means the rest of the
|
||||
+ * MCH space is consumed but unreported.
|
||||
+ */
|
||||
+
|
||||
+ /*
|
||||
+ * Read MCHBAR for Host Member Mapped Register Range Base
|
||||
+ * https://www-ssl.intel.com/content/www/us/en/processors/core/4th-gen-core-family-desktop-vol-2-datasheet
|
||||
+ * Sec 3.1.12.
|
||||
+ */
|
||||
+ pci_read_config_dword(host, 0x48, &addr_lo);
|
||||
+ region.start = addr_lo & ~0x7fff;
|
||||
+ pci_read_config_dword(host, 0x4c, &addr_hi);
|
||||
+ region.start |= (u64) addr_hi << 32;
|
||||
+ region.end = region.start + 32*1024 - 1;
|
||||
+
|
||||
+ memset(&mch, 0, sizeof(mch));
|
||||
+ mch.flags = IORESOURCE_MEM;
|
||||
+ pcibios_bus_to_resource(host->bus, &mch, ®ion);
|
||||
+
|
||||
+ list_for_each_entry(pnp_res, &dev->resources, list) {
|
||||
+ res = &pnp_res->res;
|
||||
+ if (res->end < mch.start || res->start > mch.end)
|
||||
+ continue; /* no overlap */
|
||||
+ if (res->start == mch.start && res->end == mch.end)
|
||||
+ continue; /* exact match */
|
||||
+
|
||||
+ dev_info(&dev->dev, FW_BUG "PNP resource %pR covers only part of %s Intel MCH; extending to %pR\n",
|
||||
+ res, pci_name(host), &mch);
|
||||
+ res->start = mch.start;
|
||||
+ res->end = mch.end;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ pci_dev_put(host);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
* PnP Quirks
|
||||
* Cards or devices that need some tweaking due to incomplete resource info
|
||||
@@ -364,6 +440,9 @@ static struct pnp_fixup pnp_fixups[] = {
|
||||
#ifdef CONFIG_AMD_NB
|
||||
{"PNP0c01", quirk_amd_mmconfig_area},
|
||||
#endif
|
||||
+#ifdef CONFIG_X86
|
||||
+ {"PNP0c02", quirk_intel_mch},
|
||||
+#endif
|
||||
{""}
|
||||
};
|
||||
|
||||
--
|
||||
cgit v0.10.1
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/drivers/media/dvb-frontends/Kconfig b/drivers/media/dvb-frontends/Kconfig
|
||||
index fb77062..f6f1afa 100644
|
||||
index 49db718..6ddcfc9 100644
|
||||
--- a/drivers/media/dvb-frontends/Kconfig
|
||||
+++ b/drivers/media/dvb-frontends/Kconfig
|
||||
@@ -214,6 +214,20 @@ config DVB_CX24117
|
||||
@@ -248,6 +248,20 @@ config DVB_CX24117
|
||||
help
|
||||
A Dual DVB-S/S2 tuner module. Say Y when you want to support this frontend.
|
||||
|
||||
@@ -24,10 +24,10 @@ index fb77062..f6f1afa 100644
|
||||
tristate "Silicon Labs SI21XX based"
|
||||
depends on DVB_CORE && I2C
|
||||
diff --git a/drivers/media/dvb-frontends/Makefile b/drivers/media/dvb-frontends/Makefile
|
||||
index c08b7f0..e8de9b6 100644
|
||||
index 9b21488..edaae0d 100644
|
||||
--- a/drivers/media/dvb-frontends/Makefile
|
||||
+++ b/drivers/media/dvb-frontends/Makefile
|
||||
@@ -108,4 +108,5 @@ obj-$(CONFIG_DVB_RTL2830) += rtl2830.o
|
||||
@@ -112,4 +112,5 @@ obj-$(CONFIG_DVB_RTL2830) += rtl2830.o
|
||||
obj-$(CONFIG_DVB_RTL2832) += rtl2832.o
|
||||
obj-$(CONFIG_DVB_M88RS2000) += m88rs2000.o
|
||||
obj-$(CONFIG_DVB_AF9033) += af9033.o
|
||||
@@ -36,7 +36,7 @@ index c08b7f0..e8de9b6 100644
|
||||
+obj-$(CONFIG_DVB_DVBSKY_M88DC2800) += dvbsky_m88dc2800.o
|
||||
diff --git a/drivers/media/dvb-frontends/dvbsky_m88dc2800.c b/drivers/media/dvb-frontends/dvbsky_m88dc2800.c
|
||||
new file mode 100644
|
||||
index 0000000..f876a11
|
||||
index 0000000..3c933b4
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/dvb-frontends/dvbsky_m88dc2800.c
|
||||
@@ -0,0 +1,2124 @@
|
||||
@@ -2166,7 +2166,7 @@ index 0000000..f876a11
|
||||
+MODULE_VERSION("1.00");
|
||||
diff --git a/drivers/media/dvb-frontends/dvbsky_m88dc2800.h b/drivers/media/dvb-frontends/dvbsky_m88dc2800.h
|
||||
new file mode 100644
|
||||
index 0000000..2184322
|
||||
index 0000000..0844a66
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/dvb-frontends/dvbsky_m88dc2800.h
|
||||
@@ -0,0 +1,44 @@
|
||||
@@ -2216,7 +2216,7 @@ index 0000000..2184322
|
||||
+#endif /* dvbsky_m88dc2800_H */
|
||||
diff --git a/drivers/media/dvb-frontends/dvbsky_m88ds3103.c b/drivers/media/dvb-frontends/dvbsky_m88ds3103.c
|
||||
new file mode 100644
|
||||
index 0000000..9d525da
|
||||
index 0000000..99985a7
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/dvb-frontends/dvbsky_m88ds3103.c
|
||||
@@ -0,0 +1,1707 @@
|
||||
@@ -3929,7 +3929,7 @@ index 0000000..9d525da
|
||||
+MODULE_LICENSE("GPL");
|
||||
diff --git a/drivers/media/dvb-frontends/dvbsky_m88ds3103.h b/drivers/media/dvb-frontends/dvbsky_m88ds3103.h
|
||||
new file mode 100644
|
||||
index 0000000..e3b96b2
|
||||
index 0000000..df95253
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/dvb-frontends/dvbsky_m88ds3103.h
|
||||
@@ -0,0 +1,53 @@
|
||||
@@ -3988,7 +3988,7 @@ index 0000000..e3b96b2
|
||||
+#endif /* dvbsky_m88ds3103_H */
|
||||
diff --git a/drivers/media/dvb-frontends/dvbsky_m88ds3103_priv.h b/drivers/media/dvb-frontends/dvbsky_m88ds3103_priv.h
|
||||
new file mode 100644
|
||||
index 0000000..2838514
|
||||
index 0000000..dfb3f8b
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/dvb-frontends/dvbsky_m88ds3103_priv.h
|
||||
@@ -0,0 +1,403 @@
|
||||
@@ -4396,7 +4396,7 @@ index 0000000..2838514
|
||||
+
|
||||
+#endif /* dvbsky_m88ds3103_PRIV_H */
|
||||
diff --git a/drivers/media/pci/cx23885/Kconfig b/drivers/media/pci/cx23885/Kconfig
|
||||
index d1dcb1d..478f3dc 100644
|
||||
index d1dcb1d..a5fbc89 100644
|
||||
--- a/drivers/media/pci/cx23885/Kconfig
|
||||
+++ b/drivers/media/pci/cx23885/Kconfig
|
||||
@@ -23,6 +23,8 @@ config VIDEO_CX23885
|
||||
@@ -4745,7 +4745,7 @@ index edcd79d..4b57eef 100644
|
||||
break;
|
||||
}
|
||||
diff --git a/drivers/media/pci/cx23885/cx23885-dvb.c b/drivers/media/pci/cx23885/cx23885-dvb.c
|
||||
index 0549205..86c0cf2 100644
|
||||
index 0549205..201523a 100644
|
||||
--- a/drivers/media/pci/cx23885/cx23885-dvb.c
|
||||
+++ b/drivers/media/pci/cx23885/cx23885-dvb.c
|
||||
@@ -52,6 +52,8 @@
|
||||
@@ -5019,7 +5019,7 @@ index 8a49e7c..a5e4639 100644
|
||||
/* Integrated CX23885 IR controller */
|
||||
driver_type = RC_DRIVER_IR_RAW;
|
||||
diff --git a/drivers/media/pci/cx23885/cx23885.h b/drivers/media/pci/cx23885/cx23885.h
|
||||
index 0fa4048..bd33b00 100644
|
||||
index 0fa4048..7084a4e 100644
|
||||
--- a/drivers/media/pci/cx23885/cx23885.h
|
||||
+++ b/drivers/media/pci/cx23885/cx23885.h
|
||||
@@ -97,6 +97,14 @@
|
||||
@@ -5047,7 +5047,7 @@ index 0fa4048..bd33b00 100644
|
||||
u32 force_bff;
|
||||
};
|
||||
diff --git a/drivers/media/pci/cx88/Kconfig b/drivers/media/pci/cx88/Kconfig
|
||||
index a63a9ad..ccf0e6a 100644
|
||||
index a63a9ad..7deb300 100644
|
||||
--- a/drivers/media/pci/cx88/Kconfig
|
||||
+++ b/drivers/media/pci/cx88/Kconfig
|
||||
@@ -57,6 +57,7 @@ config VIDEO_CX88_DVB
|
||||
@@ -5106,7 +5106,7 @@ index e18a7ac..317511d 100644
|
||||
|
||||
|
||||
diff --git a/drivers/media/pci/cx88/cx88-dvb.c b/drivers/media/pci/cx88/cx88-dvb.c
|
||||
index 053ed1b..b4269a8 100644
|
||||
index 053ed1b..955b916 100644
|
||||
--- a/drivers/media/pci/cx88/cx88-dvb.c
|
||||
+++ b/drivers/media/pci/cx88/cx88-dvb.c
|
||||
@@ -54,6 +54,7 @@
|
||||
@@ -5250,7 +5250,7 @@ index 28893a6..5fa5f48 100644
|
||||
enum cx88_itype {
|
||||
CX88_VMUX_COMPOSITE1 = 1,
|
||||
diff --git a/drivers/media/rc/keymaps/Makefile b/drivers/media/rc/keymaps/Makefile
|
||||
index b1cde8c..563a109 100644
|
||||
index 0b8c549..abf6079 100644
|
||||
--- a/drivers/media/rc/keymaps/Makefile
|
||||
+++ b/drivers/media/rc/keymaps/Makefile
|
||||
@@ -28,6 +28,7 @@ obj-$(CONFIG_RC_MAP) += rc-adstech-dvb-t-pci.o \
|
||||
@@ -5346,7 +5346,7 @@ index 0000000..bfc41fb
|
||||
+MODULE_LICENSE("GPL");
|
||||
+MODULE_AUTHOR("Nibble Max <nibble.max@gmail.com>");
|
||||
diff --git a/drivers/media/usb/dvb-usb-v2/Kconfig b/drivers/media/usb/dvb-usb-v2/Kconfig
|
||||
index 2059d0c..1dc0600 100644
|
||||
index 2059d0c..24a4ec2 100644
|
||||
--- a/drivers/media/usb/dvb-usb-v2/Kconfig
|
||||
+++ b/drivers/media/usb/dvb-usb-v2/Kconfig
|
||||
@@ -147,3 +147,9 @@ config DVB_USB_RTL28XXU
|
||||
@@ -5360,7 +5360,7 @@ index 2059d0c..1dc0600 100644
|
||||
+ help
|
||||
+ Say Y here to support the USB receivers from DVBSky.
|
||||
diff --git a/drivers/media/usb/dvb-usb-v2/Makefile b/drivers/media/usb/dvb-usb-v2/Makefile
|
||||
index 2c06714..e002b57 100644
|
||||
index 2c06714..926f12d 100644
|
||||
--- a/drivers/media/usb/dvb-usb-v2/Makefile
|
||||
+++ b/drivers/media/usb/dvb-usb-v2/Makefile
|
||||
@@ -40,6 +40,9 @@ obj-$(CONFIG_DVB_USB_MXL111SF) += mxl111sf-tuner.o
|
||||
@@ -5375,10 +5375,10 @@ index 2c06714..e002b57 100644
|
||||
ccflags-y += -I$(srctree)/drivers/media/tuners
|
||||
diff --git a/drivers/media/usb/dvb-usb-v2/dvbsky.c b/drivers/media/usb/dvb-usb-v2/dvbsky.c
|
||||
new file mode 100644
|
||||
index 0000000..45bedfc
|
||||
index 0000000..9033d92
|
||||
--- /dev/null
|
||||
+++ b/drivers/media/usb/dvb-usb-v2/dvbsky.c
|
||||
@@ -0,0 +1,741 @@
|
||||
@@ -0,0 +1,739 @@
|
||||
+/*
|
||||
+ * Driver for DVBSky USB2.0 receiver
|
||||
+ *
|
||||
@@ -5984,8 +5984,6 @@ index 0000000..45bedfc
|
||||
+ struct dvb_usb_device *d = adap_to_d(adap);
|
||||
+ int ret = 0;
|
||||
+
|
||||
+ dprintk("%s, build on %s %s()\n", __func__, __DATE__,__TIME__);
|
||||
+
|
||||
+ dvbsky_gpio_ctrl(d, 0x04, 1);
|
||||
+
|
||||
+ dvbsky_gpio_ctrl(d, 0x83, 0);
|
||||
@@ -6121,7 +6119,7 @@ index 0000000..45bedfc
|
||||
+MODULE_DESCRIPTION("Driver for DVBSky USB2.0");
|
||||
+MODULE_LICENSE("GPL");
|
||||
diff --git a/include/media/rc-map.h b/include/media/rc-map.h
|
||||
index 6628f5d..64646e3 100644
|
||||
index a20ed97..73f8c92 100644
|
||||
--- a/include/media/rc-map.h
|
||||
+++ b/include/media/rc-map.h
|
||||
@@ -119,6 +119,7 @@ void rc_map_init(void);
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user