Compare commits

..

26 Commits

Author SHA1 Message Date
Peter Korsgaard
4ebaaf41cf CHANGES: update for 2009.08-rc2
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-08-06 10:39:54 +02:00
Nigel Kukard
9f96221e5e Build neon with SSL support if available 2009-08-05 12:11:08 +00:00
Peter Korsgaard
fe370d6695 Merge branch 'popt-versoin-update' of git://git.busybox.net/~nkukard/git/buildroot 2009-08-05 13:48:52 +02:00
Peter Korsgaard
ccc42efe22 libuuid: add -source and -clean targets
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-08-05 13:46:05 +02:00
Daniel Mack
b6718de1ec e2fsprogs: factor out libuuid support
Add a new target for libuuid so it can be built without e2fsprogs.

Signed-off-by: Daniel Mack <daniel@caiaq.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-08-05 13:35:25 +02:00
Peter Korsgaard
0ed2f023d0 toolchain/gcc: add 4.3.4
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-08-05 10:34:34 +02:00
Peter Korsgaard
3f9261d05d toolchain/gcc: remove deprecated 4.3.1 version
People should use the most recent 4.3.x version to get all the bugfixes.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-08-05 09:43:02 +02:00
Peter Korsgaard
15dab042b4 CHANGES: gzip fix is post-rc1
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-08-05 09:23:29 +02:00
Peter Korsgaard
4838289a13 Merge branch 'gzip-fix' of git://git.busybox.net/~tpetazzoni/git/buildroot 2009-08-05 09:22:45 +02:00
Thomas Petazzoni
27c667c782 gzip: add patch to fix glibc build
Recent glibc versions introduced a futimens() function, that gzip
already implemented. So waiting for a proper usage of this function in
gzip, we rename the gzip internal function to gz_futimens().

Patch inspired by
http://lists.pld-linux.org/mailman/pipermail/pld-cvs-commit/Week-of-Mon-20070514/155476.html

Fixes bug #537

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-08-04 23:55:28 +02:00
Peter Korsgaard
0468b5c132 CHANGES: add post-rc1 issues resolved
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-08-04 22:58:54 +02:00
Peter Korsgaard
3fb0bbdf40 Merge branch 'sed-fix' of git://git.busybox.net/~tpetazzoni/git/buildroot 2009-08-04 22:57:55 +02:00
Nigel Kukard
87002cc704 Update popt to version 1.15 2009-08-04 19:47:09 +00:00
Thomas Petazzoni
6ce736a58c sed: fix compilation with external toolchains
Since CC is already passed in TARGET_CONFIGURE_OPTS at ./configure
time, there's no point in overriding it with a wrong value at
compilation time. This breaks external toolchain builds since
CC=$(TARGET_CC) is wrong because it excludes the mandatory --sysroot
option.

Fixes bug #525

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-08-04 21:45:04 +02:00
Peter Korsgaard
bd7b104e40 Merge branch 'config-choice-fixes' of git://git.busybox.net/~tpetazzoni/git/buildroot 2009-08-04 21:17:40 +02:00
Thomas Petazzoni
070424f0c8 ipsec-tools: only show the security context choice when ipsec enabled
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-08-04 17:16:03 +02:00
Thomas Petazzoni
83cc37a0b2 webkit: only show the rendering backend choice when webkit is enabled
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-08-04 17:14:50 +02:00
Peter Korsgaard
07fcc6ce70 Merge branch 'microperl-fix' of git://git.busybox.net/~tpetazzoni/git/buildroot 2009-08-04 17:05:48 +02:00
Thomas Petazzoni
6cd57ce392 microperl: fix build
Fix the little build systems hacks that no longer applied to the
version of Perl being used. With these fixes in place, microperl
builds and runs properly simple Perl commands on the target.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-08-04 15:48:40 +02:00
Peter Korsgaard
1c559c3154 busybox: bump 1.14.x version
Fixes various problems.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-08-04 07:18:50 +02:00
Peter Korsgaard
b1abe04105 docs/copyright.txt: ask people to contact the devs, not Erik
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-08-03 22:55:25 +02:00
Peter Korsgaard
bdca3189a8 libusb: fix host libtool dependency
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-08-03 21:27:05 +02:00
Peter Korsgaard
5b72dda69f buildroot: fix fallout after qtopia4 -> qt rename
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-08-03 11:43:07 +02:00
Peter Korsgaard
5e93ac8948 Merge branch 'oldconfig-fix' of git://git.busybox.net/~tpetazzoni/git/buildroot 2009-08-03 10:22:52 +02:00
Thomas Petazzoni
c0727fd319 kconfig: fix oldconfig to generate .config.cmd
Since the recent update of Kconfig to the Kconfig infrastructure found
in 2.6.30 kernels, make oldconfig was broken because it didn't
generate the .config.cmd file. This is done by a call to the
conf_write_autoconf() function.

Moreover, this process was also broken because the
conf_get_autoconfig_name() function was reading the environment
variable BUILDROOT_AUTOCONF while the main Makefile is passing it as
KCONFIG_AUTOCONFIG. We also remove the fallback on
"$(BR2_DEPENDS_DIR)/config/auto.conf" since we are not able to expand
BR2_DEPENDS_DIR at this point. Therefore, the KCONFIG_AUTOCONFIG
envionment variable *must* be set.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-08-03 10:07:54 +02:00
Peter Korsgaard
efc3aed181 docs/: announce 2009.08-rc1
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-08-03 07:14:05 +02:00
67 changed files with 544 additions and 761 deletions

16
CHANGES
View File

@@ -1,3 +1,19 @@
2009.08-rc2, Released August 6th, 2009:
Additional fixes and new features.
New packages: libuuid, gcc 4.3.4.
Updated/fixed packages: busybox, classpath, gzip, ipsec-tools,
jamvm, libusb, microperl, neon, popt, sed, webkit.
Fixed issue with 'make oldconfig'
Issues resolved (http://bugs.uclibc.org):
#525: sed broken with external toolchain
#537: Fix gzip build with recent glibc
2009.08-rc1, Released August 2nd, 2009:
Fixes all over the tree and new features.

View File

@@ -8,7 +8,7 @@ config BR2_HAVE_DOT_CONFIG
config BR2_VERSION
string
default "2009.08-git"
default "2009.08-rc2"
source "target/Config.in.arch"
source "target/device/Config.in"

View File

@@ -25,6 +25,6 @@ HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
You have been warned.
You can contact the webmaster at <andersen@codepoet.org> if you have some sort
You can contact the webmaster at <buildroot@uclibc.org> if you have some sort
of problem with this.

View File

@@ -14,6 +14,14 @@ or
<a href="/downloads/buildroot-2009.05.tar.bz2">buildroot-2009.05.tar.bz2</a>.
<p>
The latest release candidate is <b>2009.08-rc1</b>, which can be
downloaded here:<p>
<a href="/downloads/buildroot-2009.08-rc1.tar.gz">buildroot-2009.08-rc1.tar.gz</a>
or
<a href="/downloads/buildroot-2009.08-rc1.tar.bz2">buildroot-2009.08-rc1.tar.bz2</a>.
<p>
This and earlier releases can always be dowloaded from
<a href="/downloads/">http://buildroot.net/downloads/</a>.

View File

@@ -5,6 +5,19 @@
<p>
<ul>
<li><b>2 August 2009 -- 2009.08-rc1 released</b>
<p>We have a new release candidate! Lots of changes all over the
tree, see the <a
href="http://git.buildroot.net/buildroot/plain/CHANGES?id=2009.08_rc1">CHANGES</a>
file for details.
<p>Head to the <a href="/downloads/">downloads page</a> to pick up the
<a href="/downloads/buildroot-2009.08-rc1.tar.bz2">2009.08-rc1
release candidate</a>, and report any problems found to the <a
href="lists.html">mailing list</a> or <a
href="https://bugs.uclibc.org">bug tracker</a>.</p>
<li><b>1 June 2009 -- 2009.05 released</b>
<p>The stable 2009.05 release is out - Thanks to everyone

View File

@@ -36,7 +36,7 @@ config BR2_BUSYBOX_VERSION
string
default "1.12.4" if BR2_BUSYBOX_VERSION_1_12_X
default "1.13.4" if BR2_BUSYBOX_VERSION_1_13_X
default "1.14.2" if BR2_BUSYBOX_VERSION_1_14_X
default "1.14.3" if BR2_BUSYBOX_VERSION_1_14_X
config BR2_PACKAGE_BUSYBOX_FULLINSTALL
bool "Run BusyBox's own full installation"

View File

@@ -1,134 +0,0 @@
--- busybox-1.14.2/coreutils/df.c Sun Jul 5 22:59:28 2009
+++ busybox-1.14.2-df/coreutils/df.c Sun Jul 5 23:00:09 2009
@@ -44,7 +44,6 @@
FILE *mount_table;
struct mntent *mount_entry;
struct statfs s;
- static const char ignored_mounts[] ALIGN1 = "rootfs\0";
enum {
OPT_KILO = (1 << 0),
@@ -120,7 +119,7 @@
mount_point = *argv++;
if (!mount_point)
break;
- mount_entry = find_mount_point(mount_point, bb_path_mtab_file);
+ mount_entry = find_mount_point(mount_point);
if (!mount_entry) {
bb_error_msg("%s: can't find mount point", mount_point);
set_error:
@@ -154,8 +153,8 @@
) / (blocks_used + s.f_bavail);
}
- /* GNU coreutils 6.10 skip certain mounts, try to be compatible. */
- if (index_in_strings(device, ignored_mounts) != -1)
+ /* GNU coreutils 6.10 skips certain mounts, try to be compatible. */
+ if (strcmp(device, "rootfs") == 0)
continue;
#ifdef WHY_WE_DO_IT_FOR_DEV_ROOT_ONLY
--- busybox-1.14.2/include/libbb.h Sun Jul 5 22:59:31 2009
+++ busybox-1.14.2-df/include/libbb.h Sun Jul 5 23:00:09 2009
@@ -1025,7 +1025,7 @@
#ifdef HAVE_MNTENT_H
extern int match_fstype(const struct mntent *mt, const char *fstypes) FAST_FUNC;
-extern struct mntent *find_mount_point(const char *name, const char *table) FAST_FUNC;
+extern struct mntent *find_mount_point(const char *name) FAST_FUNC;
#endif
extern void erase_mtab(const char * name) FAST_FUNC;
extern unsigned int tty_baud_to_value(speed_t speed) FAST_FUNC;
--- busybox-1.14.2/libbb/find_mount_point.c Sun Jul 5 22:59:24 2009
+++ busybox-1.14.2-df/libbb/find_mount_point.c Sun Jul 5 23:00:09 2009
@@ -17,7 +17,7 @@
* Given any other file (or directory), find the mount table entry for its
* filesystem.
*/
-struct mntent* FAST_FUNC find_mount_point(const char *name, const char *table)
+struct mntent* FAST_FUNC find_mount_point(const char *name)
{
struct stat s;
dev_t mountDevice;
@@ -25,27 +25,35 @@
struct mntent *mountEntry;
if (stat(name, &s) != 0)
- return 0;
+ return NULL;
- if ((s.st_mode & S_IFMT) == S_IFBLK)
+ if (S_ISBLK(s.st_mode))
mountDevice = s.st_rdev;
else
mountDevice = s.st_dev;
- mountTable = setmntent(table ? table : bb_path_mtab_file, "r");
+ mountTable = setmntent(bb_path_mtab_file, "r");
if (!mountTable)
return 0;
- while ((mountEntry = getmntent(mountTable)) != 0) {
+ while ((mountEntry = getmntent(mountTable)) != NULL) {
+ /* rootfs mount in Linux 2.6 exists always,
+ * and it makes sense to always ignore it.
+ * Otherwise people can't reference their "real" root! */
+ if (strcmp(mountEntry->mnt_fsname, "rootfs") == 0)
+ continue;
+
if (strcmp(name, mountEntry->mnt_dir) == 0
|| strcmp(name, mountEntry->mnt_fsname) == 0
) { /* String match. */
break;
}
- if (stat(mountEntry->mnt_fsname, &s) == 0 && s.st_rdev == mountDevice) /* Match the device. */
+ /* Match the device. */
+ if (stat(mountEntry->mnt_fsname, &s) == 0 && s.st_rdev == mountDevice)
break;
- if (stat(mountEntry->mnt_dir, &s) == 0 && s.st_dev == mountDevice) /* Match the directory's mount point. */
+ /* Match the directory's mount point. */
+ if (stat(mountEntry->mnt_dir, &s) == 0 && s.st_dev == mountDevice)
break;
}
endmntent(mountTable);
--- busybox-1.14.2/util-linux/mkfs_minix.c Sun Jul 5 22:59:30 2009
+++ busybox-1.14.2-df/util-linux/mkfs_minix.c Sun Jul 5 23:00:09 2009
@@ -624,7 +624,6 @@
int mkfs_minix_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
int mkfs_minix_main(int argc UNUSED_PARAM, char **argv)
{
- struct mntent *mp;
unsigned opt;
char *tmp;
struct stat statbuf;
@@ -683,11 +682,8 @@
G.total_blocks = 65535;
/* Check if it is mounted */
- mp = find_mount_point(G.device_name, NULL);
- if (mp && strcmp(G.device_name, mp->mnt_fsname) == 0)
- bb_error_msg_and_die("%s is mounted on %s; "
- "refusing to make a filesystem",
- G.device_name, mp->mnt_dir);
+ if (find_mount_point(G.device_name))
+ bb_error_msg_and_die("can't format mounted filesystem");
xmove_fd(xopen(G.device_name, O_RDWR), dev_fd);
if (fstat(dev_fd, &statbuf) < 0)
--- busybox-1.14.2/util-linux/mkfs_vfat.c Sun Jul 5 22:59:30 2009
+++ busybox-1.14.2-df/util-linux/mkfs_vfat.c Sun Jul 5 23:00:35 2009
@@ -273,10 +273,10 @@
device_num == 0x0d00 || // xd
device_num == 0x1600 ) // hdc, hdd
)
- bb_error_msg_and_die("Will not try to make filesystem on full-disk device (use -I if wanted)");
+ bb_error_msg_and_die("will not try to make filesystem on full-disk device (use -I if wanted)");
// can't work on mounted filesystems
- if (find_mount_point(device_name, NULL))
- bb_error_msg_and_die("Can't format mounted filesystem");
+ if (find_mount_point(device_name))
+ bb_error_msg_and_die("can't format mounted filesystem");
#endif
// get true sector size
// (parameter must be int*, not long* or size_t*)

View File

@@ -1,152 +0,0 @@
diff -urpN busybox-1.14.2/coreutils/ls.c busybox-1.14.2-ls/coreutils/ls.c
--- busybox-1.14.2/coreutils/ls.c 2009-06-22 00:40:29.000000000 +0200
+++ busybox-1.14.2-ls/coreutils/ls.c 2009-07-03 12:46:16.000000000 +0200
@@ -144,8 +144,7 @@ static const char ls_options[] ALIGN1 =
USE_FEATURE_LS_FOLLOWLINKS("L") /* 1, 24 */
USE_FEATURE_LS_RECURSIVE("R") /* 1, 25 */
USE_FEATURE_HUMAN_READABLE("h") /* 1, 26 */
- USE_SELINUX("K") /* 1, 27 */
- USE_SELINUX("Z") /* 1, 28 */
+ USE_SELINUX("KZ") /* 2, 28 */
USE_FEATURE_AUTOWIDTH("T:w:") /* 2, 30 */
;
enum {
@@ -162,6 +161,16 @@ enum {
OPT_Q = (1 << 10),
//OPT_A = (1 << 11),
//OPT_k = (1 << 12),
+ OPTBIT_color = 13
+ + 4 * ENABLE_FEATURE_LS_TIMESTAMPS
+ + 4 * ENABLE_FEATURE_LS_SORTFILES
+ + 2 * ENABLE_FEATURE_LS_FILETYPES
+ + 1 * ENABLE_FEATURE_LS_FOLLOWLINKS
+ + 1 * ENABLE_FEATURE_LS_RECURSIVE
+ + 1 * ENABLE_FEATURE_HUMAN_READABLE
+ + 2 * ENABLE_SELINUX
+ + 2 * ENABLE_FEATURE_AUTOWIDTH,
+ OPT_color = 1 << OPTBIT_color,
};
enum {
@@ -889,16 +898,6 @@ static int list_single(const struct dnod
}
-/* colored LS support by JaWi, janwillem.janssen@lxtreme.nl */
-#if ENABLE_FEATURE_LS_COLOR
-/* long option entry used only for --color, which has no short option
- * equivalent */
-static const char ls_color_opt[] ALIGN1 =
- "color\0" Optional_argument "\xff" /* no short equivalent */
- ;
-#endif
-
-
int ls_main(int argc UNUSED_PARAM, char **argv)
{
struct dnode **dnd;
@@ -911,8 +910,25 @@ int ls_main(int argc UNUSED_PARAM, char
int dnfiles;
int dndirs;
int i;
+#if ENABLE_FEATURE_LS_COLOR
+ /* colored LS support by JaWi, janwillem.janssen@lxtreme.nl */
+ /* coreutils 6.10:
+ * # ls --color=BOGUS
+ * ls: invalid argument 'BOGUS' for '--color'
+ * Valid arguments are:
+ * 'always', 'yes', 'force'
+ * 'never', 'no', 'none'
+ * 'auto', 'tty', 'if-tty'
+ * (and substrings: "--color=alwa" work too)
+ */
+ static const char ls_longopts[] ALIGN1 =
+ "color\0" Optional_argument "\xff"; /* no short equivalent */
+ static const char color_str[] ALIGN1 =
+ "always\0""yes\0""force\0"
+ "auto\0""tty\0""if-tty\0";
/* need to initialize since --color has _an optional_ argument */
- USE_FEATURE_LS_COLOR(const char *color_opt = "always";)
+ const char *color_opt = color_str; /* "always" */
+#endif
INIT_G();
@@ -927,7 +943,7 @@ int ls_main(int argc UNUSED_PARAM, char
#endif
/* process options */
- USE_FEATURE_LS_COLOR(applet_long_options = ls_color_opt;)
+ USE_FEATURE_LS_COLOR(applet_long_options = ls_longopts;)
#if ENABLE_FEATURE_AUTOWIDTH
opt_complementary = "T+:w+"; /* -T N, -w N */
opt = getopt32(argv, ls_options, &tabstops, &terminal_width
@@ -966,13 +982,20 @@ int ls_main(int argc UNUSED_PARAM, char
if (!p || (p[0] && strcmp(p, "none") != 0))
show_color = 1;
}
- if (opt & (1 << i)) { /* next flag after short options */
- if (strcmp("always", color_opt) == 0)
- show_color = 1;
- else if (strcmp("never", color_opt) == 0)
+ if (opt & OPT_color) {
+ if (color_opt[0] == 'n')
show_color = 0;
- else if (strcmp("auto", color_opt) == 0 && isatty(STDOUT_FILENO))
- show_color = 1;
+ else switch (index_in_substrings(color_str, color_opt)) {
+ case 3:
+ case 4:
+ case 5:
+ if (isatty(STDOUT_FILENO)) {
+ case 0:
+ case 1:
+ case 2:
+ show_color = 1;
+ }
+ }
}
#endif
diff -urpN busybox-1.14.2/testsuite/ls/ls-1-works busybox-1.14.2-ls/testsuite/ls/ls-1-works
--- busybox-1.14.2/testsuite/ls/ls-1-works 2009-06-22 00:32:00.000000000 +0200
+++ busybox-1.14.2-ls/testsuite/ls/ls-1-works 2009-07-02 14:28:45.000000000 +0200
@@ -1,4 +1,4 @@
[ -n "$d" ] || d=..
-ls -1 "$d" > logfile.gnu
-busybox ls -1 "$d" > logfile.bb
-cmp logfile.gnu logfile.bb
+LC_ALL=C ls -1 "$d" > logfile.gnu
+LC_ALL=C busybox ls -1 "$d" > logfile.bb
+diff -ubw logfile.gnu logfile.bb
diff -urpN busybox-1.14.2/testsuite/ls/ls-h-works busybox-1.14.2-ls/testsuite/ls/ls-h-works
--- busybox-1.14.2/testsuite/ls/ls-h-works 2009-06-22 00:32:00.000000000 +0200
+++ busybox-1.14.2-ls/testsuite/ls/ls-h-works 2009-07-02 14:28:45.000000000 +0200
@@ -1,4 +1,4 @@
[ -n "$d" ] || d=..
-ls -h "$d" > logfile.gnu
-busybox ls -h "$d" > logfile.bb
-cmp logfile.gnu logfile.bb
+LC_ALL=C ls -h "$d" > logfile.gnu
+LC_ALL=C busybox ls -h "$d" > logfile.bb
+diff -ubw logfile.gnu logfile.bb
diff -urpN busybox-1.14.2/testsuite/ls/ls-l-works busybox-1.14.2-ls/testsuite/ls/ls-l-works
--- busybox-1.14.2/testsuite/ls/ls-l-works 2009-06-22 00:32:00.000000000 +0200
+++ busybox-1.14.2-ls/testsuite/ls/ls-l-works 2009-07-02 14:28:45.000000000 +0200
@@ -1,4 +1,4 @@
[ -n "$d" ] || d=..
LC_ALL=C ls -l "$d" > logfile.gnu
-busybox ls -l "$d" > logfile.bb
-diff -w logfile.gnu logfile.bb
+LC_ALL=C busybox ls -l "$d" > logfile.bb
+diff -ubw logfile.gnu logfile.bb
diff -urpN busybox-1.14.2/testsuite/ls/ls-s-works busybox-1.14.2-ls/testsuite/ls/ls-s-works
--- busybox-1.14.2/testsuite/ls/ls-s-works 2009-06-22 00:32:00.000000000 +0200
+++ busybox-1.14.2-ls/testsuite/ls/ls-s-works 2009-07-02 14:28:45.000000000 +0200
@@ -1,4 +1,4 @@
[ -n "$d" ] || d=..
LC_ALL=C ls -1s "$d" > logfile.gnu
-busybox ls -1s "$d" > logfile.bb
-cmp logfile.gnu logfile.bb
+LC_ALL=C busybox ls -1s "$d" > logfile.bb
+diff -ubw logfile.gnu logfile.bb

View File

@@ -1,64 +0,0 @@
diff -urpN busybox-1.14.2/coreutils/test.c busybox-1.14.2-test/coreutils/test.c
--- busybox-1.14.2/coreutils/test.c 2009-07-05 22:59:28.000000000 +0200
+++ busybox-1.14.2-test/coreutils/test.c 2009-07-17 01:46:28.000000000 +0200
@@ -571,7 +571,14 @@ static number_t nexpr(enum token n)
nest_msg(">nexpr(%s)\n", TOKSTR[n]);
if (n == UNOT) {
- res = !nexpr(check_operator(*++args));
+ n = check_operator(*++args);
+ if (n == EOI) {
+ /* special case: [ ! ], [ a -a ! ] are valid */
+ /* IOW, "! ARG" may miss ARG */
+ unnest_msg("<nexpr:1 (!EOI)\n");
+ return 1;
+ }
+ res = !nexpr(n);
unnest_msg("<nexpr:%lld\n", res);
return res;
}
@@ -742,7 +749,7 @@ int test_main(int argc, char **argv)
check_operator(argv[1]);
if (last_operator->op_type == BINOP) {
/* "test [!] arg1 <binary_op> arg2" */
- args = &argv[0];
+ args = argv;
res = (binop() == 0);
goto ret;
}
@@ -755,7 +762,7 @@ int test_main(int argc, char **argv)
argv--;
}
#endif
- args = &argv[0];
+ args = argv;
res = !oexpr(check_operator(*args));
if (*args != NULL && *++args != NULL) {
diff -urpN busybox-1.14.2/testsuite/test.tests busybox-1.14.2-test/testsuite/test.tests
--- busybox-1.14.2/testsuite/test.tests 2009-07-05 22:59:22.000000000 +0200
+++ busybox-1.14.2-test/testsuite/test.tests 2009-07-17 01:46:28.000000000 +0200
@@ -21,6 +21,11 @@ testing "test '': should be false (1)" \
"1\n" \
"" ""
+testing "test !: should be true (0)" \
+ "busybox test !; echo \$?" \
+ "0\n" \
+ "" ""
+
testing "test a: should be true (0)" \
"busybox test a; echo \$?" \
"0\n" \
@@ -51,6 +56,11 @@ testing "test -lt = -gt: should be false
"1\n" \
"" ""
+testing "test a -a !: should be true (0)" \
+ "busybox test a -a !; echo \$?" \
+ "0\n" \
+ "" ""
+
testing "test -f = a -o b: should be true (0)" \
"busybox test -f = a -o b; echo \$?" \
"0\n" \

View File

@@ -1,12 +0,0 @@
diff -urpN busybox-1.14.2/networking/udhcp/files.c busybox-1.14.2-udhcpd/networking/udhcp/files.c
--- busybox-1.14.2/networking/udhcp/files.c 2009-06-22 00:40:29.000000000 +0200
+++ busybox-1.14.2-udhcpd/networking/udhcp/files.c 2009-07-07 14:58:39.000000000 +0200
@@ -420,7 +420,7 @@ void FAST_FUNC read_leases(const char *f
continue;
/* NB: add_lease takes "relative time", IOW,
* lease duration, not lease deadline. */
- if (!(add_lease(lease.chaddr, lease.yiaddr, expires, lease.hostname))) {
+ if (!(add_lease(lease.chaddr, lease.yiaddr, expires, NULL /* was lease.hostname. bug in add_lease, disabled */ ))) {
bb_error_msg("too many leases while loading %s", file);
break;
}

View File

@@ -611,6 +611,10 @@ int main(int ac, char **av)
fprintf(stderr, _("\n*** Error during writing of the Buildroot configuration.\n\n"));
exit(1);
}
if (conf_write_autoconf()) {
fprintf(stderr, _("\n*** Error during update of the Buildroot configuration.\n\n"));
return 1;
}
}
return 0;
}

View File

@@ -44,9 +44,7 @@ const char *conf_get_configname(void)
const char *conf_get_autoconfig_name(void)
{
char *name = getenv("BUILDROOT_AUTOCONFIG");
return name ? name : "$(BR2_DEPENDS_DIR)/config/auto.conf";
return getenv("KCONFIG_AUTOCONFIG");
}
static char *conf_expand_value(const char *in)

View File

@@ -1,7 +1,7 @@
---
Makefile | 7 +++
README.buildroot2 | 22 ++++++++++
conf.c | 13 ++----
conf.c | 17 ++++----
confdata.c | 101 ++++++++++++++++++++++++++------------------------
expr.c | 42 ++++++++++----------
gconf.c | 4 -
@@ -11,7 +11,7 @@
util.c | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++-
zconf.tab.c_shipped | 2
zconf.y | 2
12 files changed, 241 insertions(+), 103 deletions(-)
12 files changed, 244 insertions(+), 104 deletions(-)
Index: config/Makefile
===================================================================
@@ -91,7 +91,7 @@ Index: config/conf.c
return 1;
}
}
@@ -600,16 +599,16 @@
@@ -600,18 +599,22 @@
* All other commands are only used to generate a config.
*/
if (conf_get_changed() && conf_write(NULL)) {
@@ -110,7 +110,13 @@ Index: config/conf.c
+ fprintf(stderr, _("\n*** Error during writing of the Buildroot configuration.\n\n"));
exit(1);
}
+ if (conf_write_autoconf()) {
+ fprintf(stderr, _("\n*** Error during update of the Buildroot configuration.\n\n"));
+ return 1;
+ }
}
return 0;
}
Index: config/confdata.c
===================================================================
--- config.orig/confdata.c
@@ -132,7 +138,7 @@ Index: config/confdata.c
static void conf_warning(const char *fmt, ...)
{
@@ -36,16 +37,16 @@
@@ -36,16 +37,14 @@
const char *conf_get_configname(void)
{
@@ -145,14 +151,13 @@ Index: config/confdata.c
const char *conf_get_autoconfig_name(void)
{
- char *name = getenv("KCONFIG_AUTOCONFIG");
+ char *name = getenv("BUILDROOT_AUTOCONFIG");
-
- return name ? name : "include/config/auto.conf";
+ return name ? name : "$(BR2_DEPENDS_DIR)/config/auto.conf";
+ return getenv("KCONFIG_AUTOCONFIG");
}
static char *conf_expand_value(const char *in)
@@ -219,22 +220,22 @@
@@ -219,22 +218,22 @@
sym = NULL;
switch (line[0]) {
case '#':
@@ -179,7 +184,7 @@ Index: config/confdata.c
if (sym->type == S_UNKNOWN)
sym->type = S_BOOLEAN;
}
@@ -251,12 +252,8 @@
@@ -251,12 +250,8 @@
;
}
break;
@@ -194,7 +199,7 @@ Index: config/confdata.c
if (!p)
continue;
*p++ = 0;
@@ -267,13 +264,13 @@
@@ -267,13 +262,13 @@
*p2 = 0;
}
if (def == S_DEF_USER) {
@@ -210,7 +215,7 @@ Index: config/confdata.c
if (sym->type == S_UNKNOWN)
sym->type = S_OTHER;
}
@@ -443,7 +440,7 @@
@@ -443,7 +438,7 @@
if (!out)
return 1;
@@ -219,7 +224,7 @@ Index: config/confdata.c
sym_calc_value(sym);
time(&now);
env = getenv("KCONFIG_NOTIMESTAMP");
@@ -452,10 +449,8 @@
@@ -452,10 +447,8 @@
fprintf(out, _("#\n"
"# Automatically generated make config: don't edit\n"
@@ -230,7 +235,7 @@ Index: config/confdata.c
use_timestamp ? "# " : "",
use_timestamp ? ctime(&now) : "");
@@ -489,19 +484,19 @@
@@ -489,19 +482,19 @@
case S_TRISTATE:
switch (sym_get_tristate_value(sym)) {
case no:
@@ -254,7 +259,7 @@ Index: config/confdata.c
while (1) {
l = strcspn(str, "\"\\");
if (l) {
@@ -517,12 +512,12 @@
@@ -517,12 +510,12 @@
case S_HEX:
str = sym_get_string_value(sym);
if (str[0] != '0' || (str[1] != 'x' && str[1] != 'X')) {
@@ -269,7 +274,7 @@ Index: config/confdata.c
break;
}
}
@@ -564,6 +559,7 @@
@@ -564,6 +557,7 @@
{
const char *name;
char path[128];
@@ -277,7 +282,7 @@ Index: config/confdata.c
char *s, *d, c;
struct symbol *sym;
struct stat sb;
@@ -572,8 +568,20 @@
@@ -572,8 +566,20 @@
name = conf_get_autoconfig_name();
conf_read_simple(name, S_DEF_AUTO);
@@ -299,7 +304,7 @@ Index: config/confdata.c
res = 0;
for_all_symbols(i, sym) {
@@ -666,9 +674,11 @@
@@ -666,9 +672,11 @@
close(fd);
}
out:
@@ -314,7 +319,7 @@ Index: config/confdata.c
return res;
}
@@ -683,7 +693,7 @@
@@ -683,7 +691,7 @@
sym_clear_all_valid();
@@ -323,7 +328,7 @@ Index: config/confdata.c
if (conf_split_config())
return 1;
@@ -698,22 +708,19 @@
@@ -698,22 +706,19 @@
return 1;
}
@@ -350,7 +355,7 @@ Index: config/confdata.c
for_all_symbols(i, sym) {
sym_calc_value(sym);
@@ -726,19 +733,19 @@
@@ -726,19 +731,19 @@
case no:
break;
case mod:
@@ -376,7 +381,7 @@ Index: config/confdata.c
while (1) {
l = strcspn(str, "\"\\");
if (l) {
@@ -758,14 +765,14 @@
@@ -758,14 +763,14 @@
case S_HEX:
str = sym_get_string_value(sym);
if (str[0] != '0' || (str[1] != 'x' && str[1] != 'X')) {

View File

@@ -1,6 +1,12 @@
config BR2_PACKAGE_LIBUUID
bool "libuuid"
help
The uuid library from the e2fsprogs suite
config BR2_PACKAGE_E2FSPROGS
bool "e2fsprogs"
depends on BR2_LARGEFILE
select BR2_PACKAGE_LIBUUID
help
The EXT2 file system utilities and libraries

View File

@@ -10,6 +10,9 @@ E2FSPROGS_DIR=$(BUILD_DIR)/e2fsprogs-$(E2FSPROGS_VERSION)
E2FSPROGS_CAT:=$(ZCAT)
E2FSPROGS_BINARY:=misc/mke2fs
E2FSPROGS_TARGET_BINARY:=sbin/mke2fs
LIBUUID_DIR=$(E2FSPROGS_DIR)/lib/uuid/
LIBUUID_TARGET_DIR:=usr/lib/
LIBUUID_TARGET_BINARY:=libuuid.so
E2FSPROGS_MISC_STRIP:= \
badblocks blkid chattr dumpe2fs filefrag fsck logsave \
@@ -69,11 +72,17 @@ $(E2FSPROGS_DIR)/$(E2FSPROGS_BINARY): $(E2FSPROGS_DIR)/.configured
#$(STRIPCMD) $(E2FSPROGS_DIR)/lib/lib*.so.*.*
touch -c $@
$(E2FSPROGS_DIR)/lib/$(LIBUUID_TARGET_BINARY): $(E2FSPROGS_DIR)/.configured
$(MAKE1) -C $(E2FSPROGS_DIR)/lib/uuid
touch -c $@
$(STAGING_DIR)/$(E2FSPROGS_TARGET_BINARY): $(E2FSPROGS_DIR)/$(E2FSPROGS_BINARY)
$(MAKE1) PATH=$(TARGET_PATH) DESTDIR=$(STAGING_DIR) LDCONFIG=true \
-C $(E2FSPROGS_DIR) install
$(STAGING_DIR)/lib/$(LIBUUID_TARGET_BINARY): $(E2FSPROGS_DIR)/lib/$(LIBUUID_TARGET_BINARY)
$(MAKE1) PATH=$(TARGET_PATH) DESTDIR=$(STAGING_DIR) LDCONFIG=true \
-C $(E2FSPROGS_DIR)/lib/uuid install
-C $(LIBUUID_DIR) install
E2FSPROGS_RM$(BR2_PACKAGE_E2FSPROGS_BADBLOCKS) += ${TARGET_DIR}/sbin/badblocks
E2FSPROGS_RM$(BR2_PACKAGE_E2FSPROGS_BLKID) += ${TARGET_DIR}/sbin/blkid
@@ -125,7 +134,15 @@ endif
rm -rf $(TARGET_DIR)/usr/share/doc
touch -c $@
e2fsprogs: uclibc $(TARGET_DIR)/$(E2FSPROGS_TARGET_BINARY)
$(TARGET_DIR)/$(LIBUUID_TARGET_DIR)/$(LIBUUID_TARGET_BINARY): $(STAGING_DIR)/lib/$(LIBUUID_TARGET_BINARY)
$(MAKE1) PATH=$(TARGET_PATH) DESTDIR=$(STAGING_DIR) LDCONFIG=true \
-C $(LIBUUID_DIR) install
cp -a $(STAGING_DIR)/$(LIBUUID_TARGET_DIR)/$(LIBUUID_TARGET_BINARY)* \
$(TARGET_DIR)/$(LIBUUID_TARGET_DIR)/
touch -c $@
libuuid: uclibc $(TARGET_DIR)/$(LIBUUID_TARGET_DIR)/$(LIBUUID_TARGET_BINARY)
e2fsprogs: uclibc libuuid $(TARGET_DIR)/$(E2FSPROGS_TARGET_BINARY)
e2fsprogs-clean:
$(MAKE1) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(E2FSPROGS_DIR) uninstall
@@ -134,6 +151,17 @@ e2fsprogs-clean:
e2fsprogs-dirclean:
rm -rf $(E2FSPROGS_DIR)
libuuid-clean:
-$(MAKE1) PATH=$(TARGET_PATH) DESTDIR=$(STAGING_DIR) LDCONFIG=true \
-C $(LIBUUID_DIR) uninstall
# make uninstall misses the includes
rm -rf $(STAGING_DIR)/usr/include/uuid
rm -f $(TARGET_DIR)/$(LIBUUID_TARGET_DIR)/$(LIBUUID_TARGET_BINARY)*
-$(MAKE1) -C $(LIBUUID_DIR) clean
libuuid-source: e2fsprogs-source
libuuid-dirclean: e2fsprogs-dirclean
#############################################################
#
# Toplevel Makefile options
@@ -142,3 +170,7 @@ e2fsprogs-dirclean:
ifeq ($(BR2_PACKAGE_E2FSPROGS),y)
TARGETS+=e2fsprogs
endif
ifeq ($(BR2_PACKAGE_LIBUUID),y)
TARGETS+=libuuid
endif

View File

@@ -0,0 +1,48 @@
---
gzip.c | 2 +-
lib/utimens.c | 4 ++--
lib/utimens.h | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
Index: gzip-1.3.12/gzip.c
===================================================================
--- gzip-1.3.12.orig/gzip.c
+++ gzip-1.3.12/gzip.c
@@ -1637,7 +1637,7 @@
}
}
- if (futimens (ofd, ofname, timespec) != 0)
+ if (gz_futimens (ofd, ofname, timespec) != 0)
{
int e = errno;
WARN ((stderr, "%s: ", program_name));
Index: gzip-1.3.12/lib/utimens.c
===================================================================
--- gzip-1.3.12.orig/lib/utimens.c
+++ gzip-1.3.12/lib/utimens.c
@@ -75,7 +75,7 @@
Return 0 on success, -1 (setting errno) on failure. */
int
-futimens (int fd ATTRIBUTE_UNUSED,
+gz_futimens (int fd ATTRIBUTE_UNUSED,
char const *file, struct timespec const timespec[2])
{
/* Some Linux-based NFS clients are buggy, and mishandle time stamps
@@ -185,5 +185,5 @@
int
utimens (char const *file, struct timespec const timespec[2])
{
- return futimens (-1, file, timespec);
+ return gz_futimens (-1, file, timespec);
}
Index: gzip-1.3.12/lib/utimens.h
===================================================================
--- gzip-1.3.12.orig/lib/utimens.h
+++ gzip-1.3.12/lib/utimens.h
@@ -1,3 +1,3 @@
#include <time.h>
-int futimens (int, char const *, struct timespec const [2]);
+int gz_futimens (int, char const *, struct timespec const [2]);
int utimens (char const *, struct timespec const [2]);

View File

@@ -18,6 +18,7 @@ gzip-source: $(DL_DIR)/$(GZIP_SOURCE)
$(GZIP_DIR)/.unpacked: $(DL_DIR)/$(GZIP_SOURCE)
$(GZIP_CAT) $(DL_DIR)/$(GZIP_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
toolchain/patch-kernel.sh $(GZIP_DIR) package/gzip gzip\*.patch
touch $(GZIP_DIR)/.unpacked
$(GZIP_DIR)/.configured: $(GZIP_DIR)/.unpacked

View File

@@ -61,6 +61,8 @@ config BR2_PACKAGE_IPSEC_TOOLS_LIBS
Install libipsec.a and libracoon.a under staging_dir/lib for further
development on a host machine.
if BR2_PACKAGE_IPSEC_TOOLS
choice
prompt "Security context"
default BR2_PACKAGE_IPSEC_SECCTX_DISABLE
@@ -77,3 +79,5 @@ config BR2_PACKAGE_IPSEC_SECCTX_KERNEL
bool "Enable kernel security context"
endchoice
endif

View File

@@ -63,8 +63,8 @@ else
CLASSPATH_CONF_OPT+= --disable-alsa
endif
ifeq ($(BR2_PACKAGE_QTOPIA4),y)
CLASSPATH_DEPENDENCIES+= qtopia4
ifeq ($(BR2_PACKAGE_QT),y)
CLASSPATH_DEPENDENCIES+= qt
CLASSPATH_CONF_OPT+= --enable-qt-peer
else
CLASSPATH_CONF_OPT+= --disable-qt-peer

View File

@@ -79,8 +79,8 @@ else
endif
#Enable or disable qt backend
ifeq ($(BR2_PACKAGE_QTOPIA4),y)
JAMVM_DEPENDENCIES+= qtopia4
ifeq ($(BR2_PACKAGE_QT),y)
JAMVM_DEPENDENCIES+= qt
JAMVM_CONF_OPT+= --enable-qt-peer
else
JAMVM_CONF_OPT+= --disable-qt-peer

View File

@@ -23,7 +23,7 @@ $(DL_DIR)/$(LIBUSB_SOURCE): $(LIBUSB_PATCH)
libusb-source: $(DL_DIR)/$(LIBUSB_SOURCE) $(LIBUSB_PATCH)
libusb-unpacked: $(LIBUSB_DIR)/.unpacked
$(LIBUSB_DIR)/.unpacked: $(STAMP_DIR)/host_autoconf_installed $(STAMP_DIR)/host_automake_installed $(LIBTOOL) $(DL_DIR)/$(LIBUSB_SOURCE)
$(LIBUSB_DIR)/.unpacked: $(STAMP_DIR)/host_autoconf_installed $(STAMP_DIR)/host_automake_installed $(STAMP_DIR)/host_libtool_installed $(DL_DIR)/$(LIBUSB_SOURCE)
$(LIBUSB_CAT) $(DL_DIR)/$(LIBUSB_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
ifneq ($(LIBUSB_PATCH_FILE),)
(cd $(LIBUSB_DIR) && $(LIBUSB_CAT) $(LIBUSB_PATCH) | patch -p1)

View File

@@ -33,8 +33,8 @@ $(MICROPERL_DIR)/.host_configured: $(MICROPERL_DIR)/.source
$(MICROPERL_DIR)/.host_configured_and_fixed: $(MICROPERL_DIR)/.host_configured
$(SED) 's/^.*<command-line>.*//g' $(MICROPERL_DIR)/makefile
$(SED) 's/^.*<command-line>.*//g' $(MICROPERL_DIR)/x2p/makefile
$(SED) 's/^.*<command-line>.*//g' $(MICROPERL_DIR)/Makefile
$(SED) 's/^.*<command-line>.*//g' $(MICROPERL_DIR)/x2p/Makefile
touch $@
$(MICROPERL_DIR)/.host_make: $(MICROPERL_DIR)/.host_configured_and_fixed
@@ -42,7 +42,6 @@ $(MICROPERL_DIR)/.host_make: $(MICROPERL_DIR)/.host_configured_and_fixed
touch $@
$(MICROPERL_DIR)/.host_make_fixed: $(MICROPERL_DIR)/.host_make
$(SED) 's#^.*<asm/page.h>.*##g' $(MICROPERL_DIR)/ext/IPC/SysV/SysV.c
$(MAKE) -C $(MICROPERL_DIR) test || echo "An error is expected on make test"
touch $@

View File

@@ -32,6 +32,13 @@ ifeq ($(BR2_PACKAGE_NEON_NOXML),y)
NEON_CONF_OPT+=--disable-webdav
endif
ifeq ($(BR2_PACKAGE_OPENSSL),y)
NEON_CONF_OPT+=--with-ssl
NEON_DEPENDENCIES+=openssl
else
NEON_CONF_OPT+=--without-ssl
endif
$(eval $(call AUTOTARGETS,package,neon))
ifeq ($(BR2_ENABLE_DEBUG),)

View File

@@ -3,11 +3,13 @@
# popt
#
#############################################################
POPT_VERSION:=1.14
POPT_VERSION:=1.15
POPT_SITE:=http://rpm5.org/files/popt
POPT_INSTALL_STAGING = YES
POPT_INSTALL_TARGET = YES
POPT_LIBTOOL_PATCH = NO
POPT_CONF_ENV = ac_cv_va_copy=yes
ifeq ($(BR2_PACKAGE_LIBICONV),y)

View File

@@ -135,7 +135,7 @@ $(SED_DIR2)/.configured: $(SED_DIR2)/.unpacked
touch $@
$(SED_DIR2)/$(SED_BINARY): $(SED_DIR2)/.configured
$(MAKE) CC=$(TARGET_CC) -C $(SED_DIR2)
$(MAKE) -C $(SED_DIR2)
# This stuff is needed to work around GNU make deficiencies
sed-target_binary: $(SED_DIR2)/$(SED_BINARY)

View File

@@ -18,6 +18,8 @@ config BR2_PACKAGE_WEBKIT
comment "webkit requires a toolchain with C++ support and WCHAR enabled"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR
if BR2_PACKAGE_WEBKIT
choice
prompt "Rendering target"
default BR2_PACKAGE_WEBKIT_X
@@ -32,3 +34,5 @@ config BR2_PACKAGE_WEBKIT_DIRECTFB
select BR2_PACKAGE_DIRECTFB
endchoice
endif

View File

@@ -550,7 +550,7 @@ config BR2_TARGET_TEST_PACKAGES
select BR2_PACKAGE_TIFF
select BR2_PACKAGE_FBV
select BR2_PACKAGE_FBSET
# BR2_PACKAGE_QTOPIA4 is not set
# BR2_PACKAGE_QT is not set
select BR2_PACKAGE_XSERVER_none
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set

View File

@@ -561,7 +561,7 @@ BR2_PACKAGE_NCURSES=y
#
# other GUIs
#
# BR2_PACKAGE_QTOPIA4 is not set
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_XSERVER_none=y
# BR2_PACKAGE_XSERVER_xorg is not set

View File

@@ -737,7 +737,7 @@ BR2_PACKAGE_NCURSES=y
#
# other GUIs
#
# BR2_PACKAGE_QTOPIA4 is not set
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_XSERVER_none=y
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set

View File

@@ -548,7 +548,7 @@ BR2_TARGET_OPTIMIZATION="-Os -pipe"
#
# other GUIs
#
# BR2_PACKAGE_QTOPIA4 is not set
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_XSERVER_none=y
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set

View File

@@ -662,7 +662,7 @@ BR2_PACKAGE_NCURSES=y
#
# other GUIs
#
# BR2_PACKAGE_QTOPIA4 is not set
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_XSERVER_none=y
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set

View File

@@ -628,7 +628,7 @@ BR2_CROSS_TOOLCHAIN_TARGET_UTILS=y
#
# other GUIs
#
# BR2_PACKAGE_QTOPIA4 is not set
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_XSERVER_none=y
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set

View File

@@ -751,7 +751,7 @@ BR2_PACKAGE_NCURSES=y
#
# other GUIs
#
# BR2_PACKAGE_QTOPIA4 is not set
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_XSERVER_none=y
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set

View File

@@ -548,7 +548,7 @@ BR2_TOOLCHAIN_EXTERNAL_PREFIX="$(ARCH)-linux"
#
# other GUIs
#
# BR2_PACKAGE_QTOPIA4 is not set
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_XSERVER_none=y
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set

View File

@@ -670,7 +670,7 @@ BR2_PACKAGE_NCURSES=y
#
# other GUIs
#
# BR2_PACKAGE_QTOPIA4 is not set
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_XSERVER_none=y
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set

View File

@@ -499,7 +499,7 @@ BR2_PACKAGE_FBSET=y
# other GUIs
#
# BR2_PACKAGE_QTE is not set
# BR2_PACKAGE_QTOPIA4 is not set
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_XSERVER_none=y
# BR2_PACKAGE_XSERVER_x11r7 is not set
# BR2_PACKAGE_XSERVER_xorg is not set

View File

@@ -751,7 +751,7 @@ BR2_PACKAGE_FBSET=y
#
# other GUIs
#
# BR2_PACKAGE_QTOPIA4 is not set
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_XSERVER_none=y
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set

View File

@@ -551,7 +551,7 @@ BR2_TARGET_OPTIMIZATION="-Os -pipe"
#
# other GUIs
#
# BR2_PACKAGE_QTOPIA4 is not set
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_XSERVER_none=y
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set

View File

@@ -707,7 +707,7 @@ BR2_PACKAGE_FBSET=y
#
# other GUIs
#
# BR2_PACKAGE_QTOPIA4 is not set
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_XSERVER_none=y
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set

View File

@@ -748,7 +748,7 @@ BR2_PACKAGE_FBSET=y
#
# other GUIs
#
# BR2_PACKAGE_QTOPIA4 is not set
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_XSERVER_none=y
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set

View File

@@ -550,7 +550,7 @@ BR2_TARGET_OPTIMIZATION="-Os -pipe"
#
# other GUIs
#
# BR2_PACKAGE_QTOPIA4 is not set
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_XSERVER_none=y
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set

View File

@@ -669,7 +669,7 @@ BR2_PACKAGE_FBSET=y
#
# other GUIs
#
# BR2_PACKAGE_QTOPIA4 is not set
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_XSERVER_none=y
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set

View File

@@ -685,7 +685,7 @@ BR2_PACKAGE_NCURSES=y
#
# other GUIs
#
# BR2_PACKAGE_QTOPIA4 is not set
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_XSERVER_none=y
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set

View File

@@ -548,7 +548,7 @@ BR2_TARGET_OPTIMIZATION="-Os -pipe"
#
# other GUIs
#
# BR2_PACKAGE_QTOPIA4 is not set
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_XSERVER_none=y
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set

View File

@@ -670,7 +670,7 @@ BR2_PACKAGE_NCURSES=y
#
# other GUIs
#
# BR2_PACKAGE_QTOPIA4 is not set
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_XSERVER_none=y
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set

View File

@@ -611,7 +611,7 @@ BR2_PACKAGE_LINUX_FUSION=y
#
# other GUIs
#
# BR2_PACKAGE_QTOPIA4 is not set
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_XSERVER_none=y
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set

View File

@@ -656,7 +656,7 @@ BR2_PACKAGE_NCURSES=y
#
# other GUIs
#
# BR2_PACKAGE_QTOPIA4 is not set
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_XSERVER_none=y
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set

View File

@@ -686,14 +686,14 @@ BR2_PACKAGE_FBSET=y
#
# other GUIs
#
BR2_PACKAGE_QTOPIA4=y
# BR2_PACKAGE_QTOPIA4_DEBUG is not set
BR2_PACKAGE_QTOPIA4_SHARED=y
# BR2_PACKAGE_QTOPIA4_STATIC is not set
# BR2_PACKAGE_QTOPIA4_LICENSE_TYPE_COMMERCIAL is not set
# BR2_PACKAGE_QTOPIA4_LICENSE_APPROVED is not set
# BR2_PACKAGE_QTOPIA4_QT3SUPPORT is not set
BR2_PACKAGE_QTOPIA4_GUI_MODULE=y
BR2_PACKAGE_QT=y
# BR2_PACKAGE_QT_DEBUG is not set
BR2_PACKAGE_QT_SHARED=y
# BR2_PACKAGE_QT_STATIC is not set
# BR2_PACKAGE_QT_LICENSE_TYPE_COMMERCIAL is not set
# BR2_PACKAGE_QT_LICENSE_APPROVED is not set
# BR2_PACKAGE_QT_QT3SUPPORT is not set
BR2_PACKAGE_QT_GUI_MODULE=y
#
# Pixel depths
@@ -702,63 +702,63 @@ BR2_PACKAGE_QTOPIA4_GUI_MODULE=y
#
# Deselecting each option leads to Qt's default (8,16,32)
#
# BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_ALL is not set
# BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_1 is not set
# BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_4 is not set
BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_8=y
# BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_12 is not set
# BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_15 is not set
BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_16=y
# BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_18 is not set
# BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_24 is not set
BR2_PACKAGE_QTOPIA4_PIXEL_DEPTH_32=y
BR2_PACKAGE_QTOPIA4_GIF=y
BR2_PACKAGE_QTOPIA4_LIBMNG=y
BR2_PACKAGE_QTOPIA4_NOJPEG=y
# BR2_PACKAGE_QTOPIA4_SYSTEMJPEG is not set
# BR2_PACKAGE_QTOPIA4_QTJPEG is not set
BR2_PACKAGE_QTOPIA4_NOPNG=y
# BR2_PACKAGE_QTOPIA4_SYSTEMPNG is not set
# BR2_PACKAGE_QTOPIA4_QTPNG is not set
BR2_PACKAGE_QTOPIA4_NOTIFF=y
# BR2_PACKAGE_QTOPIA4_SYSTEMTIFF is not set
# BR2_PACKAGE_QTOPIA4_QTTIFF is not set
BR2_PACKAGE_QTOPIA4_QTZLIB=y
# BR2_PACKAGE_QTOPIA4_SYSTEMZLIB is not set
BR2_PACKAGE_QTOPIA4_NOFREETYPE=y
# BR2_PACKAGE_QTOPIA4_QTFREETYPE is not set
# BR2_PACKAGE_QTOPIA4_SYSTEMFREETYPE is not set
BR2_PACKAGE_QTOPIA4_EMB_PLATFORM="$(ARCH)"
# BR2_PACKAGE_QTOPIA4_SQL_MODULE is not set
# BR2_PACKAGE_QT_PIXEL_DEPTH_ALL is not set
# BR2_PACKAGE_QT_PIXEL_DEPTH_1 is not set
# BR2_PACKAGE_QT_PIXEL_DEPTH_4 is not set
BR2_PACKAGE_QT_PIXEL_DEPTH_8=y
# BR2_PACKAGE_QT_PIXEL_DEPTH_12 is not set
# BR2_PACKAGE_QT_PIXEL_DEPTH_15 is not set
BR2_PACKAGE_QT_PIXEL_DEPTH_16=y
# BR2_PACKAGE_QT_PIXEL_DEPTH_18 is not set
# BR2_PACKAGE_QT_PIXEL_DEPTH_24 is not set
BR2_PACKAGE_QT_PIXEL_DEPTH_32=y
BR2_PACKAGE_QT_GIF=y
BR2_PACKAGE_QT_LIBMNG=y
BR2_PACKAGE_QT_NOJPEG=y
# BR2_PACKAGE_QT_SYSTEMJPEG is not set
# BR2_PACKAGE_QT_QTJPEG is not set
BR2_PACKAGE_QT_NOPNG=y
# BR2_PACKAGE_QT_SYSTEMPNG is not set
# BR2_PACKAGE_QT_QTPNG is not set
BR2_PACKAGE_QT_NOTIFF=y
# BR2_PACKAGE_QT_SYSTEMTIFF is not set
# BR2_PACKAGE_QT_QTTIFF is not set
BR2_PACKAGE_QT_QTZLIB=y
# BR2_PACKAGE_QT_SYSTEMZLIB is not set
BR2_PACKAGE_QT_NOFREETYPE=y
# BR2_PACKAGE_QT_QTFREETYPE is not set
# BR2_PACKAGE_QT_SYSTEMFREETYPE is not set
BR2_PACKAGE_QT_EMB_PLATFORM="$(ARCH)"
# BR2_PACKAGE_QT_SQL_MODULE is not set
#
# Graphics drivers
#
BR2_PACKAGE_QTOPIA4_GFX_LINUXFB=y
# BR2_PACKAGE_QTOPIA4_GFX_TRANSFORMED is not set
# BR2_PACKAGE_QTOPIA4_GFX_QVFB is not set
# BR2_PACKAGE_QTOPIA4_GFX_VNC is not set
# BR2_PACKAGE_QTOPIA4_GFX_MULTISCREEN is not set
BR2_PACKAGE_QT_GFX_LINUXFB=y
# BR2_PACKAGE_QT_GFX_TRANSFORMED is not set
# BR2_PACKAGE_QT_GFX_QVFB is not set
# BR2_PACKAGE_QT_GFX_VNC is not set
# BR2_PACKAGE_QT_GFX_MULTISCREEN is not set
#
# Mouse drivers
#
# BR2_PACKAGE_QTOPIA4_MOUSE_PC is not set
# BR2_PACKAGE_QTOPIA4_MOUSE_BUS is not set
# BR2_PACKAGE_QTOPIA4_MOUSE_LINUXTP is not set
# BR2_PACKAGE_QTOPIA4_MOUSE_YOPY is not set
# BR2_PACKAGE_QTOPIA4_MOUSE_VR41XX is not set
# BR2_PACKAGE_QTOPIA4_MOUSE_TSLIB is not set
# BR2_PACKAGE_QTOPIA4_MOUSE_QVFB is not set
# BR2_PACKAGE_QTOPIA4_PHONON is not set
BR2_PACKAGE_QTOPIA4_XML=y
# BR2_PACKAGE_QTOPIA4_XMLPATTERNS is not set
# BR2_PACKAGE_QTOPIA4_SVG is not set
BR2_PACKAGE_QTOPIA4_NETWORK=y
# BR2_PACKAGE_QTOPIA4_WEBKIT is not set
# BR2_PACKAGE_QTOPIA4_OPENSSL is not set
BR2_PACKAGE_QTOPIA4_SCRIPT=y
# BR2_PACKAGE_QTOPIA4_SCRIPTTOOLS is not set
# BR2_PACKAGE_QT_MOUSE_PC is not set
# BR2_PACKAGE_QT_MOUSE_BUS is not set
# BR2_PACKAGE_QT_MOUSE_LINUXTP is not set
# BR2_PACKAGE_QT_MOUSE_YOPY is not set
# BR2_PACKAGE_QT_MOUSE_VR41XX is not set
# BR2_PACKAGE_QT_MOUSE_TSLIB is not set
# BR2_PACKAGE_QT_MOUSE_QVFB is not set
# BR2_PACKAGE_QT_PHONON is not set
BR2_PACKAGE_QT_XML=y
# BR2_PACKAGE_QT_XMLPATTERNS is not set
# BR2_PACKAGE_QT_SVG is not set
BR2_PACKAGE_QT_NETWORK=y
# BR2_PACKAGE_QT_WEBKIT is not set
# BR2_PACKAGE_QT_OPENSSL is not set
BR2_PACKAGE_QT_SCRIPT=y
# BR2_PACKAGE_QT_SCRIPTTOOLS is not set
BR2_PACKAGE_XSERVER_none=y
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set

View File

@@ -563,7 +563,7 @@ BR2_GRAPHIC_SUPPORT=y
# other GUIs
#
# BR2_PACKAGE_QTE is not set
# BR2_PACKAGE_QTOPIA4 is not set
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_XSERVER_none=y
# BR2_PACKAGE_XSERVER_x11r7 is not set
# BR2_PACKAGE_XSERVER_xorg is not set

View File

@@ -542,57 +542,57 @@ BR2_PACKAGE_NCURSES=y
#
# other GUIs
#
BR2_PACKAGE_QTOPIA4=y
# BR2_PACKAGE_QTOPIA4_DEBUG is not set
BR2_PACKAGE_QTOPIA4_SHARED=y
# BR2_PACKAGE_QTOPIA4_STATIC is not set
BR2_PACKAGE_QTOPIA4_LICENSE_TYPE_GPL=y
# BR2_PACKAGE_QTOPIA4_LICENSE_TYPE_COMMERCIAL is not set
BR2_PACKAGE_QTOPIA4_GPL_LICENSE_APPROVED=y
# BR2_PACKAGE_QTOPIA4_QT3SUPPORT is not set
BR2_PACKAGE_QTOPIA4_DEPTHS="-depths 24,16,8"
BR2_PACKAGE_QTOPIA4_GIF=y
# BR2_PACKAGE_QTOPIA4_LIBMNG is not set
# BR2_PACKAGE_QTOPIA4_NOJPEG is not set
# BR2_PACKAGE_QTOPIA4_SYSTEMJPEG is not set
BR2_PACKAGE_QTOPIA4_QTJPEG=y
# BR2_PACKAGE_QTOPIA4_NOPNG is not set
# BR2_PACKAGE_QTOPIA4_SYSTEMPNG is not set
BR2_PACKAGE_QTOPIA4_QTPNG=y
# BR2_PACKAGE_QTOPIA4_NOTIFF is not set
# BR2_PACKAGE_QTOPIA4_SYSTEMTIFF is not set
BR2_PACKAGE_QTOPIA4_QTTIFF=y
BR2_PACKAGE_QTOPIA4_QTZLIB=y
# BR2_PACKAGE_QTOPIA4_SYSTEMZLIB is not set
# BR2_PACKAGE_QTOPIA4_NOFREETYPE is not set
BR2_PACKAGE_QTOPIA4_QTFREETYPE=y
# BR2_PACKAGE_QTOPIA4_SYSTEMFREETYPE is not set
BR2_PACKAGE_QTOPIA4_EMB_PLATFORM="avr32"
# BR2_PACKAGE_QTOPIA4_SQL_MODULE is not set
BR2_PACKAGE_QT=y
# BR2_PACKAGE_QT_DEBUG is not set
BR2_PACKAGE_QT_SHARED=y
# BR2_PACKAGE_QT_STATIC is not set
BR2_PACKAGE_QT_LICENSE_TYPE_GPL=y
# BR2_PACKAGE_QT_LICENSE_TYPE_COMMERCIAL is not set
BR2_PACKAGE_QT_GPL_LICENSE_APPROVED=y
# BR2_PACKAGE_QT_QT3SUPPORT is not set
BR2_PACKAGE_QT_DEPTHS="-depths 24,16,8"
BR2_PACKAGE_QT_GIF=y
# BR2_PACKAGE_QT_LIBMNG is not set
# BR2_PACKAGE_QT_NOJPEG is not set
# BR2_PACKAGE_QT_SYSTEMJPEG is not set
BR2_PACKAGE_QT_QTJPEG=y
# BR2_PACKAGE_QT_NOPNG is not set
# BR2_PACKAGE_QT_SYSTEMPNG is not set
BR2_PACKAGE_QT_QTPNG=y
# BR2_PACKAGE_QT_NOTIFF is not set
# BR2_PACKAGE_QT_SYSTEMTIFF is not set
BR2_PACKAGE_QT_QTTIFF=y
BR2_PACKAGE_QT_QTZLIB=y
# BR2_PACKAGE_QT_SYSTEMZLIB is not set
# BR2_PACKAGE_QT_NOFREETYPE is not set
BR2_PACKAGE_QT_QTFREETYPE=y
# BR2_PACKAGE_QT_SYSTEMFREETYPE is not set
BR2_PACKAGE_QT_EMB_PLATFORM="avr32"
# BR2_PACKAGE_QT_SQL_MODULE is not set
#
# Graphics drivers
#
BR2_PACKAGE_QTOPIA4_GFX_LINUXFB=y
# BR2_PACKAGE_QTOPIA4_GFX_TRANSFORMED is not set
# BR2_PACKAGE_QTOPIA4_GFX_QVFB is not set
BR2_PACKAGE_QTOPIA4_GFX_VNC=y
BR2_PACKAGE_QTOPIA4_GFX_MULTISCREEN=y
BR2_PACKAGE_QT_GFX_LINUXFB=y
# BR2_PACKAGE_QT_GFX_TRANSFORMED is not set
# BR2_PACKAGE_QT_GFX_QVFB is not set
BR2_PACKAGE_QT_GFX_VNC=y
BR2_PACKAGE_QT_GFX_MULTISCREEN=y
#
# Mouse drivers
#
# BR2_PACKAGE_QTOPIA4_MOUSE_PC is not set
# BR2_PACKAGE_QTOPIA4_MOUSE_BUS is not set
# BR2_PACKAGE_QTOPIA4_MOUSE_LINUXTP is not set
# BR2_PACKAGE_QTOPIA4_MOUSE_YOPY is not set
# BR2_PACKAGE_QTOPIA4_MOUSE_VR41XX is not set
# BR2_PACKAGE_QTOPIA4_MOUSE_TSLIB is not set
# BR2_PACKAGE_QTOPIA4_MOUSE_QVFB is not set
# BR2_PACKAGE_QTOPIA4_XMLPATTERNS is not set
BR2_PACKAGE_QTOPIA4_SVG=y
BR2_PACKAGE_QTOPIA4_WEBKIT=y
BR2_PACKAGE_QTOPIA4_OPENSSL=y
# BR2_PACKAGE_QT_MOUSE_PC is not set
# BR2_PACKAGE_QT_MOUSE_BUS is not set
# BR2_PACKAGE_QT_MOUSE_LINUXTP is not set
# BR2_PACKAGE_QT_MOUSE_YOPY is not set
# BR2_PACKAGE_QT_MOUSE_VR41XX is not set
# BR2_PACKAGE_QT_MOUSE_TSLIB is not set
# BR2_PACKAGE_QT_MOUSE_QVFB is not set
# BR2_PACKAGE_QT_XMLPATTERNS is not set
BR2_PACKAGE_QT_SVG=y
BR2_PACKAGE_QT_WEBKIT=y
BR2_PACKAGE_QT_OPENSSL=y
#
# X Window System server

View File

@@ -588,7 +588,7 @@ BR2_PACKAGE_MTD_SUMTOOL=y
#
# other GUIs
#
# BR2_PACKAGE_QTOPIA4 is not set
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_XSERVER_none=y
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set

View File

@@ -588,7 +588,7 @@ BR2_PACKAGE_MTD_SUMTOOL=y
#
# other GUIs
#
# BR2_PACKAGE_QTOPIA4 is not set
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_XSERVER_none=y
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set

View File

@@ -1,188 +0,0 @@
Index: gcc-4.3.2/gcc/tree-scalar-evolution.c
===================================================================
--- gcc-4.3.2.orig/gcc/tree-scalar-evolution.c 2009-01-28 10:14:37.000000000 +0100
+++ gcc-4.3.2/gcc/tree-scalar-evolution.c 2009-01-28 10:17:50.000000000 +0100
@@ -2716,6 +2716,50 @@
scalar_evolution_info = NULL;
}
+/* Returns true if the expression EXPR is considered to be too expensive
+ for scev_const_prop. */
+
+bool
+expression_expensive_p (tree expr)
+{
+ enum tree_code code;
+
+ if (is_gimple_val (expr))
+ return false;
+
+ code = TREE_CODE (expr);
+ if (code == TRUNC_DIV_EXPR
+ || code == CEIL_DIV_EXPR
+ || code == FLOOR_DIV_EXPR
+ || code == ROUND_DIV_EXPR
+ || code == TRUNC_MOD_EXPR
+ || code == CEIL_MOD_EXPR
+ || code == FLOOR_MOD_EXPR
+ || code == ROUND_MOD_EXPR
+ || code == EXACT_DIV_EXPR)
+ {
+ /* Division by power of two is usually cheap, so we allow it.
+ Forbid anything else. */
+ if (!integer_pow2p (TREE_OPERAND (expr, 1)))
+ return true;
+ }
+
+ switch (TREE_CODE_CLASS (code))
+ {
+ case tcc_binary:
+ case tcc_comparison:
+ if (expression_expensive_p (TREE_OPERAND (expr, 1)))
+ return true;
+
+ /* Fallthru. */
+ case tcc_unary:
+ return expression_expensive_p (TREE_OPERAND (expr, 0));
+
+ default:
+ return true;
+ }
+}
+
/* Replace ssa names for that scev can prove they are constant by the
appropriate constants. Also perform final value replacement in loops,
in case the replacement expressions are cheap.
@@ -2802,12 +2846,6 @@
continue;
niter = number_of_latch_executions (loop);
- /* We used to check here whether the computation of NITER is expensive,
- and avoided final value elimination if that is the case. The problem
- is that it is hard to evaluate whether the expression is too
- expensive, as we do not know what optimization opportunities the
- the elimination of the final value may reveal. Therefore, we now
- eliminate the final values of induction variables unconditionally. */
if (niter == chrec_dont_know)
continue;
@@ -2838,7 +2876,15 @@
/* Moving the computation from the loop may prolong life range
of some ssa names, which may cause problems if they appear
on abnormal edges. */
- || contains_abnormal_ssa_name_p (def))
+ || contains_abnormal_ssa_name_p (def)
+ /* Do not emit expensive expressions. The rationale is that
+ when someone writes a code like
+
+ while (n > 45) n -= 45;
+
+ he probably knows that n is not large, and does not want it
+ to be turned into n %= 45. */
+ || expression_expensive_p (def))
continue;
/* Eliminate the PHI node and replace it by a computation outside
Index: gcc-4.3.2/gcc/tree-scalar-evolution.h
===================================================================
--- gcc-4.3.2.orig/gcc/tree-scalar-evolution.h 2009-01-28 10:22:47.000000000 +0100
+++ gcc-4.3.2/gcc/tree-scalar-evolution.h 2009-01-28 10:23:10.000000000 +0100
@@ -35,6 +35,7 @@
extern void scev_analysis (void);
unsigned int scev_const_prop (void);
+bool expression_expensive_p (tree);
extern bool simple_iv (struct loop *, tree, tree, affine_iv *, bool);
/* Returns the loop of the polynomial chrec CHREC. */
Index: gcc-4.3.2/gcc/testsuite/gcc.dg/pr34027-1.c
===================================================================
--- gcc-4.3.2.orig/gcc/testsuite/gcc.dg/pr34027-1.c 2009-01-28 10:24:09.000000000 +0100
+++ gcc-4.3.2/gcc/testsuite/gcc.dg/pr34027-1.c 2009-01-28 10:24:43.000000000 +0100
@@ -8,5 +8,9 @@
return ns;
}
-/* { dg-final { scan-tree-dump "ns % 10000" "optimized" } } */
+/* This test was originally introduced to test that we transform
+ to ns % 10000. See the discussion of PR 32044 why we do not do
+ that anymore. */
+/* { dg-final { scan-tree-dump-times "%" 0 "optimized" } } */
+/* { dg-final { scan-tree-dump-times "/" 0 "optimized" } } */
/* { dg-final { cleanup-tree-dump "optimized" } } */
Index: gcc-4.3.2/gcc/testsuite/gcc.dg/tree-ssa/pr32044.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gcc-4.3.2/gcc/testsuite/gcc.dg/tree-ssa/pr32044.c 2009-01-28 10:25:50.000000000 +0100
@@ -0,0 +1,55 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -fdump-tree-empty -fdump-tree-final_cleanup" } */
+
+int foo (int n)
+{
+ while (n >= 45)
+ n -= 45;
+
+ return n;
+}
+
+int bar (int n)
+{
+ while (n >= 64)
+ n -= 64;
+
+ return n;
+}
+
+int bla (int n)
+{
+ int i = 0;
+
+ while (n >= 45)
+ {
+ i++;
+ n -= 45;
+ }
+
+ return i;
+}
+
+int baz (int n)
+{
+ int i = 0;
+
+ while (n >= 64)
+ {
+ i++;
+ n -= 64;
+ }
+
+ return i;
+}
+
+/* The loops computing division/modulo by 64 should be eliminated. */
+/* { dg-final { scan-tree-dump-times "Removing empty loop" 2 "empty" } } */
+
+/* There should be no division/modulo in the final dump (division and modulo
+ by 64 are done using bit operations). */
+/* { dg-final { scan-tree-dump-times "/" 0 "final_cleanup" } } */
+/* { dg-final { scan-tree-dump-times "%" 0 "final_cleanup" } } */
+
+/* { dg-final { cleanup-tree-dump "empty" } } */
+/* { dg-final { cleanup-tree-dump "final_cleanup" } } */
Index: gcc-4.3.2/gcc/tree-ssa-loop-ivopts.c
===================================================================
--- gcc-4.3.2.orig/gcc/tree-ssa-loop-ivopts.c 2009-01-28 10:26:04.000000000 +0100
+++ gcc-4.3.2/gcc/tree-ssa-loop-ivopts.c 2009-01-28 10:27:09.000000000 +0100
@@ -3778,7 +3778,12 @@
return false;
cand_value_at (loop, cand, use->stmt, nit, &bnd);
+
*bound = aff_combination_to_tree (&bnd);
+ /* It is unlikely that computing the number of iterations using division
+ would be more profitable than keeping the original induction variable. */
+ if (expression_expensive_p (*bound))
+ return false;
return true;
}

View File

@@ -1,42 +0,0 @@
see gcc PR34205
Index: gcc-4.3.0/gcc/tree.h
===================================================================
--- gcc-4.3.0/gcc/tree.h (revision 130511)
+++ gcc-4.3.0/gcc/tree.h (working copy)
@@ -38,6 +38,7 @@
LAST_AND_UNUSED_TREE_CODE /* A convenient way to get a value for
NUM_TREE_CODES. */
+ ,__LAST_AND_UNUSED_TREE_CODE=32767 /* Force 16bit width. */
};
#undef DEFTREECODE
Index: gcc-4.3.0/gcc/rtl.h
===================================================================
--- gcc-4.3.0/gcc/rtl.h (revision 130511)
+++ gcc-4.3.0/gcc/rtl.h (working copy)
@@ -48,9 +48,11 @@
#include "rtl.def" /* rtl expressions are documented here */
#undef DEF_RTL_EXPR
- LAST_AND_UNUSED_RTX_CODE}; /* A convenient way to get a value for
+ LAST_AND_UNUSED_RTX_CODE /* A convenient way to get a value for
NUM_RTX_CODE.
Assumes default enum value assignment. */
+ ,__LAST_AND_UNUSED_RTX_CODE=32767 /* Force 16bit width. */
+};
#define NUM_RTX_CODE ((int) LAST_AND_UNUSED_RTX_CODE)
/* The cast here, saves many elsewhere. */
Index: gcc-4.3.0/gcc/c-common.h
===================================================================
--- gcc-4.3.0/gcc/c-common.h (revision 130511)
+++ gcc-4.3.0/gcc/c-common.h (working copy)
@@ -125,6 +125,7 @@
RID_LAST_AT = RID_AT_IMPLEMENTATION,
RID_FIRST_PQ = RID_IN,
RID_LAST_PQ = RID_ONEWAY
+ ,__LAST_AND_UNUSED_RID=32767 /* Force 16bit width. */
};
#define OBJC_IS_AT_KEYWORD(rid) \

View File

@@ -0,0 +1,18 @@
\\\\ followup of PR34205; trying to use aapcs-linux
\\ gcc/ChangeLog
\\
\\ 2008-09-18 Bernhard Reutner-Fischer <aldot@>
\\
\\ * config.gcc (arm*-*-*): Add aapcs-linux to supported ABIs.
\\
--- gcc-4.3.2.orig/gcc/config.gcc 2008-09-18 20:33:55.000000000 +0200
+++ gcc-4.3.2/gcc/config.gcc 2008-09-18 21:38:52.000000000 +0200
@@ -2921,7 +2921,7 @@
case "$with_abi" in
"" \
- | apcs-gnu | atpcs | aapcs | iwmmxt )
+ | apcs-gnu | atpcs | aapcs | iwmmxt | aapcs-linux )
#OK
;;
*)

View File

@@ -0,0 +1,86 @@
gcc svn 142778:
PR target/37436
* arm.c (arm_legitimate_index): Only accept addresses that are in
canonical form.
* predicates.md (arm_reg_or_extendqisi_mem_op): New predicate.
* arm.md (extendqihi2): Use arm_reg_or_extendqisi_mem_op predicate
for operand1.
(extendqisi2): Likewise.
(arm_extendqisi, arm_extendqisi_v6): Use arm_extendqisi_mem_op
predicate for operand1.
diff -Nura gcc-4.3.3.orig/gcc/config/arm/arm.c gcc-4.3.3/gcc/config/arm/arm.c
--- gcc-4.3.3.orig/gcc/config/arm/arm.c 2008-06-11 07:52:55.000000000 -0300
+++ gcc-4.3.3/gcc/config/arm/arm.c 2009-05-21 16:06:45.000000000 -0300
@@ -3769,6 +3769,7 @@
rtx xop1 = XEXP (x, 1);
return ((arm_address_register_rtx_p (xop0, strict_p)
+ && GET_CODE(xop1) == CONST_INT
&& arm_legitimate_index_p (mode, xop1, outer, strict_p))
|| (arm_address_register_rtx_p (xop1, strict_p)
&& arm_legitimate_index_p (mode, xop0, outer, strict_p)));
diff -Nura gcc-4.3.3.orig/gcc/config/arm/arm.md gcc-4.3.3/gcc/config/arm/arm.md
--- gcc-4.3.3.orig/gcc/config/arm/arm.md 2007-09-04 01:44:47.000000000 -0300
+++ gcc-4.3.3/gcc/config/arm/arm.md 2009-05-21 16:06:45.000000000 -0300
@@ -4199,7 +4199,7 @@
(define_expand "extendqihi2"
[(set (match_dup 2)
- (ashift:SI (match_operand:QI 1 "general_operand" "")
+ (ashift:SI (match_operand:QI 1 "arm_reg_or_extendqisi_mem_op" "")
(const_int 24)))
(set (match_operand:HI 0 "s_register_operand" "")
(ashiftrt:SI (match_dup 2)
@@ -4224,7 +4224,7 @@
(define_insn "*arm_extendqihi_insn"
[(set (match_operand:HI 0 "s_register_operand" "=r")
- (sign_extend:HI (match_operand:QI 1 "memory_operand" "Uq")))]
+ (sign_extend:HI (match_operand:QI 1 "arm_extendqisi_mem_op" "Uq")))]
"TARGET_ARM && arm_arch4"
"ldr%(sb%)\\t%0, %1"
[(set_attr "type" "load_byte")
@@ -4235,7 +4235,7 @@
(define_expand "extendqisi2"
[(set (match_dup 2)
- (ashift:SI (match_operand:QI 1 "general_operand" "")
+ (ashift:SI (match_operand:QI 1 "arm_reg_or_extendqisi_mem_op" "")
(const_int 24)))
(set (match_operand:SI 0 "s_register_operand" "")
(ashiftrt:SI (match_dup 2)
@@ -4267,7 +4267,7 @@
(define_insn "*arm_extendqisi"
[(set (match_operand:SI 0 "s_register_operand" "=r")
- (sign_extend:SI (match_operand:QI 1 "memory_operand" "Uq")))]
+ (sign_extend:SI (match_operand:QI 1 "arm_extendqisi_mem_op" "Uq")))]
"TARGET_ARM && arm_arch4 && !arm_arch6"
"ldr%(sb%)\\t%0, %1"
[(set_attr "type" "load_byte")
@@ -4278,7 +4278,8 @@
(define_insn "*arm_extendqisi_v6"
[(set (match_operand:SI 0 "s_register_operand" "=r,r")
- (sign_extend:SI (match_operand:QI 1 "nonimmediate_operand" "r,Uq")))]
+ (sign_extend:SI
+ (match_operand:QI 1 "arm_reg_or_extendqisi_mem_op" "r,Uq")))]
"TARGET_ARM && arm_arch6"
"@
sxtb%?\\t%0, %1
diff -Nura gcc-4.3.3.orig/gcc/config/arm/predicates.md gcc-4.3.3/gcc/config/arm/predicates.md
--- gcc-4.3.3.orig/gcc/config/arm/predicates.md 2007-08-02 07:49:31.000000000 -0300
+++ gcc-4.3.3/gcc/config/arm/predicates.md 2009-05-21 16:06:45.000000000 -0300
@@ -234,6 +234,10 @@
(match_test "arm_legitimate_address_p (mode, XEXP (op, 0), SIGN_EXTEND,
0)")))
+(define_special_predicate "arm_reg_or_extendqisi_mem_op"
+ (ior (match_operand 0 "arm_extendqisi_mem_op")
+ (match_operand 0 "s_register_operand")))
+
(define_predicate "power_of_two_operand"
(match_code "const_int")
{

View File

@@ -0,0 +1,125 @@
See: http://gcc.gnu.org/ml/gcc-patches/2008-10/msg00237.html
Patch by: Bernhard Reutner-Fischer
--- gcc-4.3.3/gcc/config/t-slibgcc-elf-ver 2005-02-20 00:44:10.000000000 +1300
+++ gcc-4.3.3-p/gcc/config/t-slibgcc-elf-ver 2009-05-06 07:05:50.000000000 +1200
@@ -9,7 +9,7 @@
SHLIB_OBJS = @shlib_objs@
SHLIB_DIR = @multilib_dir@
SHLIB_SLIBDIR_QUAL = @shlib_slibdir_qual@
-SHLIB_LC = -lc
+SHLIB_LC = @libgcc_libm@ -lc
SHLIB_LINK = $(GCC_FOR_TARGET) $(LIBGCC2_CFLAGS) -shared -nodefaultlibs \
-Wl,--soname=$(SHLIB_SONAME) \
--- gcc-4.3.3/libgcc/configure 2008-11-21 06:09:53.000000000 +1300
+++ gcc-4.3.3-p/libgcc/configure 2009-05-06 07:05:50.000000000 +1200
@@ -272,7 +272,7 @@
PACKAGE_BUGREPORT=''
ac_unique_file="static-object.mk"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libgcc_topdir enable_shared slibdir INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AWK build build_cpu build_vendor build_os host host_cpu host_vendor host_os host_noncanonical build_libsubdir build_subdir host_subdir target_subdir AR ac_ct_AR LIPO ac_ct_LIPO NM ac_ct_NM RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP decimal_float enable_decimal_float fixed_point vis_hide set_have_cc_tls tmake_file extra_parts asm_hidden_op LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS libgcc_topdir enable_shared slibdir INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AWK build build_cpu build_vendor build_os host host_cpu host_vendor host_os host_noncanonical build_libsubdir build_subdir host_subdir target_subdir AR ac_ct_AR LIPO ac_ct_LIPO NM ac_ct_NM RANLIB ac_ct_RANLIB STRIP ac_ct_STRIP LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP decimal_float enable_decimal_float fixed_point vis_hide set_have_cc_tls LIBGCC_LIBM tmake_file extra_parts asm_hidden_op LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@@ -3505,6 +3505,39 @@
fi
+# On powerpc libgcc_s references copysignl which is a libm function but
+# glibc apparently also provides it via libc as opposed to uClibc where
+# it lives in libm.
+echo "$as_me:$LINENO: checking for library containing copysignl" >&5
+echo $ECHO_N "checking for library containing copysignl... $ECHO_C" >&6
+if test "${libgcc_cv_copysignl_lib+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+
+ echo '#include <features.h>' > conftest.c
+ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c
+ libgcc_cv_copysignl_lib="-lc"
+ if { ac_try='${CC-cc} -S conftest.c -o conftest.s 1>&5'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; }
+ then
+ libgcc_cv_copysignl_lib="-lm"
+ fi
+ rm -f conftest.*
+
+fi
+echo "$as_me:$LINENO: result: $libgcc_cv_copysignl_lib" >&5
+echo "${ECHO_T}$libgcc_cv_copysignl_lib" >&6
+
+case /${libgcc_cv_copysignl_lib}/ in
+ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;;
+ *) LIBGCC_LIBM= ;;
+esac
+
+
# Conditionalize the makefile for this target machine.
tmake_file_=
for f in ${tmake_file}
@@ -4225,6 +4258,7 @@
s,@fixed_point@,$fixed_point,;t t
s,@vis_hide@,$vis_hide,;t t
s,@set_have_cc_tls@,$set_have_cc_tls,;t t
+s,@LIBGCC_LIBM@,$LIBGCC_LIBM,;t t
s,@tmake_file@,$tmake_file,;t t
s,@extra_parts@,$extra_parts,;t t
s,@asm_hidden_op@,$asm_hidden_op,;t t
--- gcc-4.3.3/libgcc/configure.ac 2008-11-21 06:09:53.000000000 +1300
+++ gcc-4.3.3-p/libgcc/configure.ac 2009-05-06 07:05:50.000000000 +1200
@@ -207,6 +207,27 @@
fi
AC_SUBST(set_have_cc_tls)
+# On powerpc libgcc_s references copysignl which is a libm function but
+# glibc apparently also provides it via libc as opposed to uClibc where
+# it lives in libm.
+AC_CACHE_CHECK([for library containing copysignl],
+ libgcc_cv_copysignl_lib, [
+ echo '#include <features.h>' > conftest.c
+ echo 'int the_libc = __UCLIBC__ + __powerpc__;' >> conftest.c
+ libgcc_cv_copysignl_lib="-lc"
+ if AC_TRY_COMMAND(${CC-cc} -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD)
+ then
+ libgcc_cv_copysignl_lib="-lm"
+ fi
+ rm -f conftest.*
+ ])
+
+case /${libgcc_cv_copysignl_lib}/ in
+ /-lm/) LIBGCC_LIBM="$LIBGCC_LIBM -lm" ;;
+ *) LIBGCC_LIBM= ;;
+esac
+AC_SUBST(LIBGCC_LIBM)
+
# Conditionalize the makefile for this target machine.
tmake_file_=
for f in ${tmake_file}
--- gcc-4.3.3/libgcc/Makefile.in 2008-06-17 21:32:34.000000000 +1200
+++ gcc-4.3.3-p/libgcc/Makefile.in 2009-05-06 07:05:50.000000000 +1200
@@ -40,6 +40,7 @@
decimal_float = @decimal_float@
enable_decimal_float = @enable_decimal_float@
fixed_point = @fixed_point@
+LIBGCC_LIBM = @LIBGCC_LIBM@
host_noncanonical = @host_noncanonical@
@@ -738,9 +739,10 @@
@multilib_dir@,$(MULTIDIR),$(subst \
@shlib_objs@,$(objects),$(subst \
@shlib_base_name@,libgcc_s,$(subst \
+ @libgcc_libm@,$(LIBGCC_LIBM),$(subst \
@shlib_map_file@,$(mapfile),$(subst \
@shlib_slibdir_qual@,$(MULTIOSSUBDIR),$(subst \
- @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK))))))))
+ @shlib_slibdir@,$(shlib_slibdir),$(SHLIB_LINK)))))))))
libunwind$(SHLIB_EXT): $(libunwind-s-objects) $(extra-parts)
# @multilib_flags@ is still needed because this may use

View File

@@ -47,11 +47,6 @@ choice
depends on BR2_RECENT || BR2_DEPRECATED
bool "gcc 4.2.4"
config BR2_GCC_VERSION_4_3_1
depends on !BR2_avr32 && !BR2_nios2
depends on BR2_DEPRECATED
bool "gcc 4.3.1"
config BR2_GCC_VERSION_4_3_2
depends on !BR2_avr32 && !BR2_nios2
depends on BR2_RECENT || BR2_DEPRECATED
@@ -61,6 +56,10 @@ choice
depends on !BR2_avr32 && !BR2_nios2
bool "gcc 4.3.3"
config BR2_GCC_VERSION_4_3_4
depends on !BR2_avr32 && !BR2_nios2
bool "gcc 4.3.4"
config BR2_GCC_VERSION_4_4_X
depends on !BR2_avr32 && !BR2_nios2
bool "gcc 4.4.x"
@@ -102,9 +101,9 @@ config BR2_GCC_VERSION
default "4.2.2" if BR2_GCC_VERSION_4_2_2
default "4.2.3" if BR2_GCC_VERSION_4_2_3
default "4.2.4" if BR2_GCC_VERSION_4_2_4
default "4.3.1" if BR2_GCC_VERSION_4_3_1
default "4.3.2" if BR2_GCC_VERSION_4_3_2
default "4.3.3" if BR2_GCC_VERSION_4_3_3
default "4.3.4" if BR2_GCC_VERSION_4_3_4
default "4.4.1" if BR2_GCC_VERSION_4_4_X
default "4.3" if BR2_GCC_VERSION_4_3