All of lore.kernel.org
 help / color / mirror / Atom feed
From: jacmet at uclibc.org <jacmet@uclibc.org>
To: buildroot@busybox.net
Subject: [Buildroot] svn commit: trunk/buildroot/package/busybox
Date: Sun, 28 Sep 2008 12:28:52 -0700 (PDT)	[thread overview]
Message-ID: <20080928192852.2F6BB3C65A@busybox.net> (raw)

Author: jacmet
Date: 2008-09-28 12:28:51 -0700 (Sun, 28 Sep 2008)
New Revision: 23546

Log:
busybox: bump 1.11.x and 1.12.x versions

Removed:
   trunk/buildroot/package/busybox/busybox-1.11.2-kbdmode.patch
   trunk/buildroot/package/busybox/busybox-1.12.0-awk.patch
   trunk/buildroot/package/busybox/busybox-1.12.0-crontab_vi.patch
   trunk/buildroot/package/busybox/busybox-1.12.0-dhcp.patch
   trunk/buildroot/package/busybox/busybox-1.12.0-grep.patch
   trunk/buildroot/package/busybox/busybox-1.12.0-insmod.patch
   trunk/buildroot/package/busybox/busybox-1.12.0-lineedit.patch

Modified:
   trunk/buildroot/package/busybox/Config.in


Changeset:
Modified: trunk/buildroot/package/busybox/Config.in
===================================================================
--- trunk/buildroot/package/busybox/Config.in	2008-09-28 18:33:02 UTC (rev 23545)
+++ trunk/buildroot/package/busybox/Config.in	2008-09-28 19:28:51 UTC (rev 23546)
@@ -59,8 +59,8 @@
 	default "1.8.3"		if BR2_BUSYBOX_VERSION_1_8_X
 	default "1.9.2"		if BR2_BUSYBOX_VERSION_1_9_X
 	default "1.10.4"	if BR2_BUSYBOX_VERSION_1_10_X
-	default "1.11.2"	if BR2_BUSYBOX_VERSION_1_11_X
-	default "1.12.0"	if BR2_BUSYBOX_VERSION_1_12_X
+	default "1.11.3"	if BR2_BUSYBOX_VERSION_1_11_X
+	default "1.12.1"	if BR2_BUSYBOX_VERSION_1_12_X
 
 config BR2_PACKAGE_BUSYBOX_FULLINSTALL
 	bool "Run BusyBox's own full installation"

Deleted: trunk/buildroot/package/busybox/busybox-1.11.2-kbdmode.patch
===================================================================
--- trunk/buildroot/package/busybox/busybox-1.11.2-kbdmode.patch	2008-09-28 18:33:02 UTC (rev 23545)
+++ trunk/buildroot/package/busybox/busybox-1.11.2-kbdmode.patch	2008-09-28 19:28:51 UTC (rev 23546)
@@ -1,21 +0,0 @@
---- busybox-1.11.2/console-tools/kbd_mode.c	Thu Aug 21 21:40:12 2008
-+++ busybox-1.11.2-kbdmode/console-tools/kbd_mode.c	Wed Sep  3 23:52:26 2008
-@@ -2,7 +2,7 @@
- /*
-  * Mini kbd_mode implementation for busybox
-  *
-- * Copyright (C) 2007 Lo?c Greni? <loic.grenie@gmail.com>
-+ * Copyright (C) 2007 Loic Grenie <loic.grenie@gmail.com>
-  *   written using Andries Brouwer <aeb@cwi.nl>'s kbd_mode from
-  *   console-utils v0.2.3, licensed under GNU GPLv2
-  *
-@@ -46,7 +46,8 @@
- 		printf("The keyboard is in %s mode\n", mode);
- 	} else {
- 		opt = opt & UNICODE ? 3 : opt >> 1;
--		xioctl(fd, KDSKBMODE, opt);
-+		/* double cast prevents warnings about widening conversion */
-+		xioctl(fd, KDSKBMODE, (void*)(ptrdiff_t)opt);
- 	}
- 
- 	if (ENABLE_FEATURE_CLEAN_UP)

Deleted: trunk/buildroot/package/busybox/busybox-1.12.0-awk.patch
===================================================================
--- trunk/buildroot/package/busybox/busybox-1.12.0-awk.patch	2008-09-28 18:33:02 UTC (rev 23545)
+++ trunk/buildroot/package/busybox/busybox-1.12.0-awk.patch	2008-09-28 19:28:51 UTC (rev 23546)
@@ -1,53 +0,0 @@
---- busybox-1.12.0/editors/awk.c	Wed Aug  6 00:56:11 2008
-+++ busybox-1.12.0-awk/editors/awk.c	Fri Aug 29 01:17:05 2008
-@@ -973,7 +973,12 @@
- 
- 		} else if (*p == '.' || isdigit(*p)) {
- 			/* it's a number */
--			t_double = strtod(p, &p);
-+#if ENABLE_DESKTOP
-+			if (p[0] == '0' && (p[1] | 0x20) == 'x')
-+				t_double = strtoll(p, &p, 0);
-+			else
-+#endif
-+				t_double = strtod(p, &p);
- 			if (*p == '.')
- 				syntax_error(EMSG_UNEXP_TOKEN);
- 			tc = TC_NUMBER;
-@@ -2034,28 +2039,30 @@
- 		setvar_p(res, s);
- 		break;
- 
-+	/* Bitwise ops must assume that operands are unsigned. GNU Awk 3.1.5:
-+	 * awk '{ print or(-1,1) }' gives "4.29497e+09", not "-2.xxxe+09" */
- 	case B_an:
--		setvar_i(res, (long)getvar_i(av[0]) & (long)getvar_i(av[1]));
-+		setvar_i(res, (unsigned long)getvar_i(av[0]) & (unsigned long)getvar_i(av[1]));
- 		break;
- 
- 	case B_co:
--		setvar_i(res, ~(long)getvar_i(av[0]));
-+		setvar_i(res, ~(unsigned long)getvar_i(av[0]));
- 		break;
- 
- 	case B_ls:
--		setvar_i(res, (long)getvar_i(av[0]) << (long)getvar_i(av[1]));
-+		setvar_i(res, (unsigned long)getvar_i(av[0]) << (unsigned long)getvar_i(av[1]));
- 		break;
- 
- 	case B_or:
--		setvar_i(res, (long)getvar_i(av[0]) | (long)getvar_i(av[1]));
-+		setvar_i(res, (unsigned long)getvar_i(av[0]) | (unsigned long)getvar_i(av[1]));
- 		break;
- 
- 	case B_rs:
--		setvar_i(res, (long)((unsigned long)getvar_i(av[0]) >> (unsigned long)getvar_i(av[1])));
-+		setvar_i(res, (unsigned long)getvar_i(av[0]) >> (unsigned long)getvar_i(av[1]));
- 		break;
- 
- 	case B_xo:
--		setvar_i(res, (long)getvar_i(av[0]) ^ (long)getvar_i(av[1]));
-+		setvar_i(res, (unsigned long)getvar_i(av[0]) ^ (unsigned long)getvar_i(av[1]));
- 		break;
- 
- 	case B_lo:

Deleted: trunk/buildroot/package/busybox/busybox-1.12.0-crontab_vi.patch
===================================================================
--- trunk/buildroot/package/busybox/busybox-1.12.0-crontab_vi.patch	2008-09-28 18:33:02 UTC (rev 23545)
+++ trunk/buildroot/package/busybox/busybox-1.12.0-crontab_vi.patch	2008-09-28 19:28:51 UTC (rev 23546)
@@ -1,164 +0,0 @@
---- busybox-1.12.0/editors/vi.c	Wed Aug  6 00:56:11 2008
-+++ busybox-1.12.0-crontab_vi/editors/vi.c	Sun Sep 21 17:30:47 2008
-@@ -147,10 +147,10 @@
- #endif
- 
- 	smallint editing;        // >0 while we are editing a file
--	                         // [code audit says "can be 0 or 1 only"]
-+	                         // [code audit says "can be 0, 1 or 2 only"]
- 	smallint cmd_mode;       // 0=command  1=insert 2=replace
- 	int file_modified;       // buffer contents changed (counter, not flag!)
--	int last_file_modified; // = -1;
-+	int last_file_modified;  // = -1;
- 	int fn_start;            // index of first cmd line file name
- 	int save_argc;           // how many file names on cmd line
- 	int cmdcnt;              // repetition count
-@@ -623,7 +623,7 @@
- 		// These are commands that change text[].
- 		// Remember the input for the "." command
- 		if (!adding2q && ioq_start == NULL
--		 && strchr(modifying_cmds, c)
-+		 && c != '\0' && strchr(modifying_cmds, c)
- 		) {
- 			start_new_cmd_q(c);
- 		}
-@@ -645,8 +645,8 @@
- 	}
- 	//-------------------------------------------------------------------
- 
--	place_cursor(rows, 0, FALSE);	// go to bottom of screen
--	clear_to_eol();		// Erase to end of line
-+	place_cursor(rows - 1, 0, FALSE); // go to bottom of screen
-+	clear_to_eol(); // erase to end of line
- 	cookmode();
- #undef cur_line
- }
-@@ -2009,9 +2009,9 @@
- {
- 	// get buffer for new cmd
- 	// if there is a current cmd count put it in the buffer first
--	if (cmdcnt > 0)
-+	if (cmdcnt > 0) {
- 		lmc_len = sprintf(last_modifying_cmd, "%d%c", cmdcnt, c);
--	else { // just save char c onto queue
-+	} else { // just save char c onto queue
- 		last_modifying_cmd[0] = c;
- 		lmc_len = 1;
- 	}
-@@ -2157,21 +2157,21 @@
- //----- Come here when we get a continue signal -------------------
- static void cont_sig(int sig UNUSED_PARAM)
- {
--	rawmode();			// terminal to "raw"
--	last_status_cksum = 0;	// force status update
--	redraw(TRUE);		// re-draw the screen
-+	rawmode(); // terminal to "raw"
-+	last_status_cksum = 0; // force status update
-+	redraw(TRUE); // re-draw the screen
- 
- 	signal(SIGTSTP, suspend_sig);
- 	signal(SIGCONT, SIG_DFL);
--	kill(my_pid, SIGCONT);
-+	kill(my_pid, SIGCONT); // huh? why? we are already "continued"...
- }
- 
- //----- Come here when we get a Suspend signal -------------------
- static void suspend_sig(int sig UNUSED_PARAM)
- {
--	place_cursor(rows - 1, 0, FALSE);	// go to bottom of screen
--	clear_to_eol();		// Erase to end of line
--	cookmode();			// terminal to "cooked"
-+	place_cursor(rows - 1, 0, FALSE); // go to bottom of screen
-+	clear_to_eol(); // erase to end of line
-+	cookmode(); // terminal to "cooked"
- 
- 	signal(SIGCONT, cont_sig);
- 	signal(SIGTSTP, SIG_DFL);
-@@ -2247,18 +2247,20 @@
- 
- 	fflush(stdout);
- 	n = chars_to_parse;
--	// get input from User- are there already input chars in Q?
-+	// get input from User - are there already input chars in Q?
- 	if (n <= 0) {
- 		// the Q is empty, wait for a typed char
-+ again:
- 		n = safe_read(STDIN_FILENO, readbuffer, sizeof(readbuffer));
--		if (n < 0) {
--			if (errno == EBADF || errno == EFAULT || errno == EINVAL
--			 || errno == EIO)
--				editing = 0; // want to exit
--			errno = 0;
-+		if (n <= 0) {
-+			place_cursor(rows - 1, 0, FALSE); // go to bottom of screen
-+			clear_to_eol(); // erase to end of line
-+			cookmode(); // terminal to "cooked"
-+			bb_error_msg_and_die("can't read user input");
- 		}
--		if (n <= 0)
--			return 0;       // error
-+		/* elsewhere we can get very confused by NULs */
-+		if (readbuffer[0] == '\0')
-+			goto again;
- 		if (readbuffer[0] == 27) {
- 			// This is an ESC char. Is this Esc sequence?
- 			// Could be bare Esc key. See if there are any
---- busybox-1.12.0/miscutils/crontab.c	Wed Aug  6 00:56:08 2008
-+++ busybox-1.12.0-crontab_vi/miscutils/crontab.c	Sun Sep 21 17:30:47 2008
-@@ -93,6 +93,7 @@
- 	char *new_fname;
- 	char *user_name;  /* -u USER */
- 	int fd;
-+	int src_fd;
- 	int opt_ler;
- 
- 	/* file [opts]     Replace crontab from file
-@@ -144,15 +145,15 @@
- 		bb_show_usage();
- 
- 	/* Read replacement file under user's UID/GID/group vector */
-+	src_fd = STDIN_FILENO;
- 	if (!opt_ler) { /* Replace? */
- 		if (!argv[0])
- 			bb_show_usage();
- 		if (NOT_LONE_DASH(argv[0])) {
--			fd = open_as_user(pas, argv[0]);
--			if (fd < 0)
-+			src_fd = open_as_user(pas, argv[0]);
-+			if (src_fd < 0)
- 				bb_error_msg_and_die("user %s cannot read %s",
- 						pas->pw_name, argv[0]);
--			xmove_fd(fd, STDIN_FILENO);
- 		}
- 	}
- 
-@@ -180,23 +181,23 @@
- 		tmp_fname = xasprintf("%s.%u", crontab_dir, (unsigned)getpid());
- 		/* No O_EXCL: we don't want to be stuck if earlier crontabs
- 		 * were killed, leaving stale temp file behind */
--		fd = xopen3(tmp_fname, O_RDWR|O_CREAT|O_TRUNC, 0600);
--		xmove_fd(fd, STDIN_FILENO);
--		fchown(STDIN_FILENO, pas->pw_uid, pas->pw_gid);
-+		src_fd = xopen3(tmp_fname, O_RDWR|O_CREAT|O_TRUNC, 0600);
-+		fchown(src_fd, pas->pw_uid, pas->pw_gid);
- 		fd = open(pas->pw_name, O_RDONLY);
- 		if (fd >= 0) {
--			bb_copyfd_eof(fd, STDIN_FILENO);
-+			bb_copyfd_eof(fd, src_fd);
- 			close(fd);
-+			xlseek(src_fd, 0, SEEK_SET);
- 		}
-+		close_on_exec_on(src_fd); /* don't want editor to see this fd */
- 		edit_file(pas, tmp_fname);
--		xlseek(STDIN_FILENO, 0, SEEK_SET);
- 		/* fall through */
- 
- 	case 0: /* Replace (no -l, -e, or -r were given) */
- 		new_fname = xasprintf("%s.new", pas->pw_name);
- 		fd = open(new_fname, O_WRONLY|O_CREAT|O_TRUNC|O_APPEND, 0600);
- 		if (fd >= 0) {
--			bb_copyfd_eof(STDIN_FILENO, fd);
-+			bb_copyfd_eof(src_fd, fd);
- 			close(fd);
- 			xrename(new_fname, pas->pw_name);
- 		} else {

Deleted: trunk/buildroot/package/busybox/busybox-1.12.0-dhcp.patch
===================================================================
--- trunk/buildroot/package/busybox/busybox-1.12.0-dhcp.patch	2008-09-28 18:33:02 UTC (rev 23545)
+++ trunk/buildroot/package/busybox/busybox-1.12.0-dhcp.patch	2008-09-28 19:28:51 UTC (rev 23546)
@@ -1,15 +0,0 @@
---- busybox-1.12.0/networking/udhcp/dhcpc.c	Wed Aug  6 00:55:58 2008
-+++ busybox-1.12.0-dhcp/networking/udhcp/dhcpc.c	Thu Aug 28 00:05:23 2008
-@@ -259,9 +259,10 @@
- 	if (opt & OPT_o)
- 		client_config.no_default_options = 1;
- 	while (list_O) {
--		int n = index_in_strings(dhcp_option_strings, llist_pop(&list_O));
-+		char *optstr = llist_pop(&list_O);
-+		int n = index_in_strings(dhcp_option_strings, optstr);
- 		if (n < 0)
--			bb_error_msg_and_die("unknown option '%s'", list_O->data);
-+			bb_error_msg_and_die("unknown option '%s'", optstr);
- 		n = dhcp_options[n].code;
- 		client_config.opt_mask[n >> 3] |= 1 << (n & 7);
- 	}

Deleted: trunk/buildroot/package/busybox/busybox-1.12.0-grep.patch
===================================================================
--- trunk/buildroot/package/busybox/busybox-1.12.0-grep.patch	2008-09-28 18:33:02 UTC (rev 23545)
+++ trunk/buildroot/package/busybox/busybox-1.12.0-grep.patch	2008-09-28 19:28:51 UTC (rev 23546)
@@ -1,78 +0,0 @@
---- busybox-1.12.0/findutils/grep.c	Sat Aug  9 18:14:59 2008
-+++ busybox-1.12.0-grep/findutils/grep.c	Fri Sep 19 23:33:15 2008
-@@ -87,7 +87,11 @@
- 
- struct globals {
- 	int max_matches;
-+#if !ENABLE_EXTRA_COMPAT
- 	int reflags;
-+#else
-+	RE_TRANSLATE_TYPE case_fold; /* RE_TRANSLATE_TYPE is [[un]signed] char* */
-+#endif
- 	smalluint invert_search;
- 	smalluint print_filename;
- 	smalluint open_errors;
-@@ -110,7 +114,19 @@
- 	}; \
- } while (0)
- #define max_matches       (G.max_matches         )
-+#if !ENABLE_EXTRA_COMPAT
- #define reflags           (G.reflags             )
-+#else
-+#define case_fold         (G.case_fold           )
-+/* http://www.delorie.com/gnu/docs/regex/regex_46.html */
-+#define reflags           re_syntax_options
-+#undef REG_NOSUB
-+#undef REG_EXTENDED
-+#undef REG_ICASE
-+#define REG_NOSUB    bug:is:here /* should not be used */
-+#define REG_EXTENDED RE_SYNTAX_EGREP
-+#define REG_ICASE    bug:is:here /* should not be used */
-+#endif
- #define invert_search     (G.invert_search       )
- #define print_filename    (G.print_filename      )
- #define open_errors       (G.open_errors         )
-@@ -240,6 +256,7 @@
- 					xregcomp(&gl->compiled_regex, gl->pattern, reflags);
- #else
- 					memset(&gl->compiled_regex, 0, sizeof(gl->compiled_regex));
-+					gl->compiled_regex.translate = case_fold; /* for -i */
- 					if (re_compile_pattern(gl->pattern, strlen(gl->pattern), &gl->compiled_regex))
- 						bb_error_msg_and_die("bad regex '%s'", gl->pattern);
- #endif
-@@ -532,17 +549,34 @@
- 	if (ENABLE_FEATURE_GREP_FGREP_ALIAS && applet_name[0] == 'f')
- 		option_mask32 |= OPT_F;
- 
-+#if !ENABLE_EXTRA_COMPAT
- 	if (!(option_mask32 & (OPT_o | OPT_w)))
- 		reflags = REG_NOSUB;
-+#endif
- 
- 	if (ENABLE_FEATURE_GREP_EGREP_ALIAS
- 	 && (applet_name[0] == 'e' || (option_mask32 & OPT_E))
- 	) {
- 		reflags |= REG_EXTENDED;
- 	}
-+#if ENABLE_EXTRA_COMPAT
-+	else {
-+		reflags = RE_SYNTAX_GREP;
-+	}
-+#endif
- 
--	if (option_mask32 & OPT_i)
-+	if (option_mask32 & OPT_i) {
-+#if !ENABLE_EXTRA_COMPAT
- 		reflags |= REG_ICASE;
-+#else
-+		int i;
-+		case_fold = xmalloc(256);
-+		for (i = 0; i < 256; i++)
-+			case_fold[i] = (unsigned char)i;
-+		for (i = 'a'; i <= 'z'; i++)
-+			case_fold[i] = (unsigned char)(i - ('a' - 'A'));
-+#endif
-+	}
- 
- 	argv += optind;
- 	argc -= optind;

Deleted: trunk/buildroot/package/busybox/busybox-1.12.0-insmod.patch
===================================================================
--- trunk/buildroot/package/busybox/busybox-1.12.0-insmod.patch	2008-09-28 18:33:02 UTC (rev 23545)
+++ trunk/buildroot/package/busybox/busybox-1.12.0-insmod.patch	2008-09-28 19:28:51 UTC (rev 23546)
@@ -1,333 +0,0 @@
---- busybox-1.12.0/modutils/insmod.c	Wed Aug  6 00:56:02 2008
-+++ busybox-1.12.0-insmod/modutils/insmod.c	Sun Aug 31 23:56:28 2008
-@@ -1059,8 +1059,9 @@
- 
- 		case R_68K_PC8:
- 			v -= dot;
--			if ((ElfW(Sword))v > 0x7f ||
--					(ElfW(Sword))v < -(ElfW(Sword))0x80) {
-+			if ((ElfW(Sword))v > 0x7f
-+			 || (ElfW(Sword))v < -(ElfW(Sword))0x80
-+			) {
- 				ret = obj_reloc_overflow;
- 			}
- 			*(char *)loc = v;
-@@ -1068,8 +1069,9 @@
- 
- 		case R_68K_PC16:
- 			v -= dot;
--			if ((ElfW(Sword))v > 0x7fff ||
--					(ElfW(Sword))v < -(ElfW(Sword))0x8000) {
-+			if ((ElfW(Sword))v > 0x7fff
-+			 || (ElfW(Sword))v < -(ElfW(Sword))0x8000
-+			) {
- 				ret = obj_reloc_overflow;
- 			}
- 			*(short *)loc = v;
-@@ -1208,8 +1210,9 @@
- 			{
- 				Elf32_Addr word;
- 
--				if ((Elf32_Sword)v > 0x7fff ||
--				    (Elf32_Sword)v < -(Elf32_Sword)0x8000) {
-+				if ((Elf32_Sword)v > 0x7fff
-+				 || (Elf32_Sword)v < -(Elf32_Sword)0x8000
-+				) {
- 					ret = obj_reloc_overflow;
- 				}
- 
-@@ -1238,8 +1241,9 @@
- 				Elf32_Addr word;
- 
- 				v -= dot + 4;
--				if ((Elf32_Sword)v > 0x7fff ||
--				    (Elf32_Sword)v < -(Elf32_Sword)0x8000) {
-+				if ((Elf32_Sword)v > 0x7fff
-+				 || (Elf32_Sword)v < -(Elf32_Sword)0x8000
-+				) {
- 					ret = obj_reloc_overflow;
- 				}
- 
-@@ -1253,9 +1257,10 @@
- 				Elf32_Addr word, gp;
- 				/* get _gp */
- 				gp = obj_symbol_final_value(f, obj_find_symbol(f, SPFX "_gp"));
--				v-=gp;
--				if ((Elf32_Sword)v > 0x7fff ||
--						(Elf32_Sword)v < -(Elf32_Sword)0x8000) {
-+				v -= gp;
-+				if ((Elf32_Sword)v > 0x7fff
-+				 || (Elf32_Sword)v < -(Elf32_Sword)0x8000
-+				) {
- 					ret = obj_reloc_overflow;
- 				}
- 
-@@ -2132,7 +2137,6 @@
- 	for (sym = f->symtab[hash]; sym; sym = sym->next)
- 		if (f->symbol_cmp(sym->name, name) == 0)
- 			return sym;
--
- 	return NULL;
- }
- 
-@@ -2141,12 +2145,10 @@
- 	if (sym) {
- 		if (sym->secidx >= SHN_LORESERVE)
- 			return sym->value;
--
- 		return sym->value + f->sections[sym->secidx]->header.sh_addr;
--	} else {
--		/* As a special case, a NULL sym has value zero.  */
--		return 0;
- 	}
-+	/* As a special case, a NULL sym has value zero.  */
-+	return 0;
- }
- 
- static struct obj_section *obj_find_section(struct obj_file *f, const char *name)
-@@ -2156,7 +2158,6 @@
- 	for (i = 0; i < n; ++i)
- 		if (strcmp(f->sections[i]->name, name) == 0)
- 			return f->sections[i];
--
- 	return NULL;
- }
- 
-@@ -2167,9 +2168,11 @@
- 	af = a->header.sh_flags;
- 
- 	ac = 0;
--	if (a->name[0] != '.' || strlen(a->name) != 10 ||
--			strcmp(a->name + 5, ".init"))
-+	if (a->name[0] != '.' || strlen(a->name) != 10
-+	 || strcmp(a->name + 5, ".init") != 0
-+	) {
- 		ac |= 32;
-+	}
- 	if (af & SHF_ALLOC)
- 		ac |= 16;
- 	if (!(af & SHF_WRITE))
-@@ -2212,7 +2215,7 @@
- 	sec->name = name;
- 	sec->idx = newidx;
- 	if (size)
--		sec->contents = xmalloc(size);
-+		sec->contents = xzalloc(size);
- 
- 	obj_insert_section_load_order(f, sec);
- 
-@@ -2227,7 +2230,7 @@
- 	int newidx = f->header.e_shnum++;
- 	struct obj_section *sec;
- 
--	f->sections = xrealloc(f->sections, (newidx + 1) * sizeof(sec));
-+	f->sections = xrealloc_vector(f->sections, 2, newidx);
- 	f->sections[newidx] = sec = arch_new_section();
- 
- 	sec->header.sh_type = SHT_PROGBITS;
-@@ -2237,7 +2240,7 @@
- 	sec->name = name;
- 	sec->idx = newidx;
- 	if (size)
--		sec->contents = xmalloc(size);
-+		sec->contents = xzalloc(size);
- 
- 	sec->load_next = f->load_order;
- 	f->load_order = sec;
-@@ -2689,8 +2692,7 @@
- 	/* Collect the modules' symbols.  */
- 
- 	if (nmod) {
--		ext_modules = modules = xmalloc(nmod * sizeof(*modules));
--		memset(modules, 0, nmod * sizeof(*modules));
-+		ext_modules = modules = xzalloc(nmod * sizeof(*modules));
- 		for (i = 0, mn = module_names, m = modules;
- 				i < nmod; ++i, ++m, mn += strlen(mn) + 1) {
- 			struct new_module_info info;
-@@ -2770,13 +2772,14 @@
- }
- 
- 
--static void  new_create_this_module(struct obj_file *f, const char *m_name)
-+static void new_create_this_module(struct obj_file *f, const char *m_name)
- {
- 	struct obj_section *sec;
- 
- 	sec = obj_create_alloced_section_first(f, ".this", tgt_sizeof_long,
- 			sizeof(struct new_module));
--	memset(sec->contents, 0, sizeof(struct new_module));
-+	/* done by obj_create_alloced_section_first: */
-+	/*memset(sec->contents, 0, sizeof(struct new_module));*/
- 
- 	obj_add_symbol(f, SPFX "__this_module", -1,
- 			ELF_ST_INFO(STB_LOCAL, STT_OBJECT), sec->idx, 0,
-@@ -2856,18 +2859,19 @@
- 		/* We don't want to export symbols residing in sections that
- 		   aren't loaded.  There are a number of these created so that
- 		   we make sure certain module options don't appear twice.  */
--
--		loaded = alloca(sizeof(int) * (i = f->header.e_shnum));
-+		i = f->header.e_shnum;
-+		loaded = alloca(sizeof(int) * i);
- 		while (--i >= 0)
- 			loaded[i] = (f->sections[i]->header.sh_flags & SHF_ALLOC) != 0;
- 
- 		for (nsyms = i = 0; i < HASH_BUCKETS; ++i) {
- 			struct obj_symbol *sym;
--			for (sym = f->symtab[i]; sym; sym = sym->next)
-+			for (sym = f->symtab[i]; sym; sym = sym->next) {
- 				if (ELF_ST_BIND(sym->info) != STB_LOCAL
- 						&& sym->secidx <= SHN_HIRESERVE
- 						&& (sym->secidx >= SHN_LORESERVE
--							|| loaded[sym->secidx])) {
-+							|| loaded[sym->secidx])
-+				) {
- 					ElfW(Addr) ofs = nsyms * 2 * tgt_sizeof_void_p;
- 
- 					obj_symbol_patch(f, sec->idx, ofs, sym);
-@@ -2876,6 +2880,7 @@
- 
- 					nsyms++;
- 				}
-+			}
- 		}
- 
- 		obj_extend_section(sec, nsyms * 2 * tgt_sizeof_char_p);
-@@ -2934,9 +2939,11 @@
- 	}
- 	sec = obj_find_section(f, ".data.init");
- 	if (sec) {
--		if (!module->runsize ||
--				module->runsize > sec->header.sh_addr - m_addr)
-+		if (!module->runsize
-+		 || module->runsize > sec->header.sh_addr - m_addr
-+		) {
- 			module->runsize = sec->header.sh_addr - m_addr;
-+		}
- 	}
- 	sec = obj_find_section(f, ARCHDATA_SEC_NAME);
- 	if (sec && sec->header.sh_size) {
-@@ -3083,9 +3090,9 @@
- 		if (i == f->header.e_shnum) {
- 			struct obj_section *sec;
- 
-+			f->header.e_shnum++;
- 			f->sections = xrealloc_vector(f->sections, 2, i);
- 			f->sections[i] = sec = arch_new_section();
--			f->header.e_shnum = i + 1;
- 
- 			sec->header.sh_type = SHT_PROGBITS;
- 			sec->header.sh_flags = SHF_WRITE | SHF_ALLOC;
-@@ -3124,12 +3131,9 @@
- 	for (i = 0; i < f->header.e_shnum; ++i) {
- 		struct obj_section *s = f->sections[i];
- 		if (s->header.sh_type == SHT_NOBITS) {
-+			s->contents = NULL;
- 			if (s->header.sh_size != 0)
--				s->contents = memset(xmalloc(s->header.sh_size),
--						0, s->header.sh_size);
--			else
--				s->contents = NULL;
--
-+				s->contents = xzalloc(s->header.sh_size),
- 			s->header.sh_type = SHT_PROGBITS;
- 		}
- 	}
-@@ -3222,8 +3226,8 @@
- #if SHT_RELM == SHT_RELA
- #if defined(__alpha__) && defined(AXP_BROKEN_GAS)
- 			/* Work around a nasty GAS bug, that is fixed as of 2.7.0.9.  */
--			if (!extsym || !extsym->st_name ||
--					ELF_ST_BIND(extsym->st_info) != STB_LOCAL)
-+			if (!extsym || !extsym->st_name
-+			 || ELF_ST_BIND(extsym->st_info) != STB_LOCAL)
- #endif
- 				value += rel->r_addend;
- #endif
-@@ -3329,16 +3333,17 @@
- 	}
- 
- 	if (f->header.e_ident[EI_MAG0] != ELFMAG0
--			|| f->header.e_ident[EI_MAG1] != ELFMAG1
--			|| f->header.e_ident[EI_MAG2] != ELFMAG2
--			|| f->header.e_ident[EI_MAG3] != ELFMAG3) {
-+	 || f->header.e_ident[EI_MAG1] != ELFMAG1
-+	 || f->header.e_ident[EI_MAG2] != ELFMAG2
-+	 || f->header.e_ident[EI_MAG3] != ELFMAG3
-+	) {
- 		bb_error_msg_and_die("not an ELF file");
- 	}
- 	if (f->header.e_ident[EI_CLASS] != ELFCLASSM
--			|| f->header.e_ident[EI_DATA] != (BB_BIG_ENDIAN
--				? ELFDATA2MSB : ELFDATA2LSB)
--			|| f->header.e_ident[EI_VERSION] != EV_CURRENT
--			|| !MATCH_MACHINE(f->header.e_machine)) {
-+	 || f->header.e_ident[EI_DATA] != (BB_BIG_ENDIAN ? ELFDATA2MSB : ELFDATA2LSB)
-+	 || f->header.e_ident[EI_VERSION] != EV_CURRENT
-+	 || !MATCH_MACHINE(f->header.e_machine)
-+	) {
- 		bb_error_msg_and_die("ELF file not for this architecture");
- 	}
- 	if (f->header.e_type != ET_REL) {
-@@ -3354,8 +3359,10 @@
- 	}
- 
- 	shnum = f->header.e_shnum;
--	f->sections = xmalloc(sizeof(struct obj_section *) * shnum);
--	memset(f->sections, 0, sizeof(struct obj_section *) * shnum);
-+	/* Growth of ->sections vector will be done by
-+	 * xrealloc_vector(..., 2, ...), therefore we must allocate
-+	 * at least 2^2 = 4 extra elements here. */
-+	f->sections = xzalloc(sizeof(f->sections[0]) * (shnum + 4));
- 
- 	section_headers = alloca(sizeof(ElfW(Shdr)) * shnum);
- 	fseek(fp, f->header.e_shoff, SEEK_SET);
-@@ -3391,14 +3398,13 @@
- 			case SHT_SYMTAB:
- 			case SHT_STRTAB:
- 			case SHT_RELM:
-+				sec->contents = NULL;
- 				if (sec->header.sh_size > 0) {
--					sec->contents = xmalloc(sec->header.sh_size);
-+					sec->contents = xzalloc(sec->header.sh_size);
- 					fseek(fp, sec->header.sh_offset, SEEK_SET);
- 					if (fread(sec->contents, sec->header.sh_size, 1, fp) != 1) {
- 						bb_perror_msg_and_die("error reading ELF section data");
- 					}
--				} else {
--					sec->contents = NULL;
- 				}
- 				break;
- 
-@@ -3860,16 +3866,20 @@
- 	for (nsyms = i = 0; i < HASH_BUCKETS; ++i)
- 		for (sym = f->symtab[i]; sym; sym = sym->next)
- 			if (sym->secidx <= SHN_HIRESERVE
--					&& (sym->secidx >= SHN_LORESERVE || loaded[sym->secidx]))
-+			 && (sym->secidx >= SHN_LORESERVE || loaded[sym->secidx])
-+			) {
- 				++nsyms;
-+			}
- 
- 	all = alloca(nsyms * sizeof(struct obj_symbol *));
- 
- 	for (i = 0, p = all; i < HASH_BUCKETS; ++i)
- 		for (sym = f->symtab[i]; sym; sym = sym->next)
- 			if (sym->secidx <= SHN_HIRESERVE
--					&& (sym->secidx >= SHN_LORESERVE || loaded[sym->secidx]))
-+			 && (sym->secidx >= SHN_LORESERVE || loaded[sym->secidx])
-+			) {
- 				*p++ = sym;
-+			}
- 
- 	/* And list them.  */
- 	printf("\nSymbols:\n");
-@@ -4265,7 +4275,7 @@
- 	}
- #else
- 	len = MAXINT(ssize_t);
--	map = xmalloc_open_read_close(filename, &len);
-+	map = xmalloc_xopen_read_close(filename, &len);
- #endif
- 
- 	if (init_module(map, len, options) != 0)

Deleted: trunk/buildroot/package/busybox/busybox-1.12.0-lineedit.patch
===================================================================
--- trunk/buildroot/package/busybox/busybox-1.12.0-lineedit.patch	2008-09-28 18:33:02 UTC (rev 23545)
+++ trunk/buildroot/package/busybox/busybox-1.12.0-lineedit.patch	2008-09-28 19:28:51 UTC (rev 23546)
@@ -1,145 +0,0 @@
---- busybox-1.12.0/libbb/lineedit.c	Wed Aug 20 02:48:13 2008
-+++ busybox-1.12.0-lineedit/libbb/lineedit.c	Mon Sep 22 00:27:18 2008
-@@ -956,24 +956,33 @@
- 
- #if MAX_HISTORY > 0
- 
-+static void save_command_ps_at_cur_history(void)
-+{
-+	if (command_ps[0] != '\0') {
-+		int cur = state->cur_history;
-+		free(state->history[cur]);
-+		state->history[cur] = xstrdup(command_ps);
-+	}
-+}
-+
- /* state->flags is already checked to be nonzero */
--static void get_previous_history(void)
-+static int get_previous_history(void)
- {
--	if (command_ps[0] != '\0' || state->history[state->cur_history] == NULL) {
--		free(state->history[state->cur_history]);
--		state->history[state->cur_history] = xstrdup(command_ps);
-+	if ((state->flags & DO_HISTORY) && state->cur_history) {
-+		save_command_ps_at_cur_history();
-+		state->cur_history--;
-+		return 1;
- 	}
--	state->cur_history--;
-+	beep();
-+	return 0;
- }
- 
- static int get_next_history(void)
- {
- 	if (state->flags & DO_HISTORY) {
--		int ch = state->cur_history;
--		if (ch < state->cnt_history) {
--			get_previous_history(); /* save the current history line */
--			state->cur_history = ch + 1;
--			return state->cur_history;
-+		if (state->cur_history < state->cnt_history) {
-+			save_command_ps_at_cur_history(); /* save the current history line */
-+			return ++state->cur_history;
- 		}
- 	}
- 	beep();
-@@ -995,6 +1004,7 @@
- 		for (hi = state->cnt_history; hi > 0;) {
- 			hi--;
- 			free(state->history[hi]);
-+			state->history[hi] = NULL;
- 		}
- 
- 		for (hi = 0; hi < MAX_HISTORY;) {
-@@ -1006,7 +1016,7 @@
- 			l = strlen(hl);
- 			if (l >= MAX_LINELEN)
- 				hl[MAX_LINELEN-1] = '\0';
--			if (l == 0 || hl[0] == ' ') {
-+			if (l == 0) {
- 				free(hl);
- 				continue;
- 			}
-@@ -1043,19 +1053,27 @@
- 
- 	if (!(state->flags & DO_HISTORY))
- 		return;
--
-+	if (str[0] == '\0')
-+		return;
- 	i = state->cnt_history;
--	free(state->history[MAX_HISTORY]);
--	state->history[MAX_HISTORY] = NULL;
--	/* After max history, remove the oldest command */
-+	/* Don't save dupes */
-+	if (i && strcmp(state->history[i-1], str) == 0)
-+		return;
-+
-+	free(state->history[MAX_HISTORY]); /* redundant, paranoia */
-+	state->history[MAX_HISTORY] = NULL; /* redundant, paranoia */
-+
-+	/* If history[] is full, remove the oldest command */
-+	/* we need to keep history[MAX_HISTORY] empty, hence >=, not > */
- 	if (i >= MAX_HISTORY) {
- 		free(state->history[0]);
- 		for (i = 0; i < MAX_HISTORY-1; i++)
- 			state->history[i] = state->history[i+1];
-+		/* i == MAX_HISTORY-1 */
- 	}
--// Maybe "if (!i || strcmp(history[i-1], command) != 0) ..."
--// (i.e. do not save dups?)
-+	/* i <= MAX_HISTORY-1 */
- 	state->history[i++] = xstrdup(str);
-+	/* i <= MAX_HISTORY */
- 	state->cur_history = i;
- 	state->cnt_history = i;
- #if ENABLE_FEATURE_EDITING_SAVEHISTORY
-@@ -1432,6 +1450,13 @@
- 		}
- 	}
- #endif
-+
-+#if 0
-+	for (ic = 0; ic <= MAX_HISTORY; ic++)
-+		bb_error_msg("history[%d]:'%s'", ic, state->history[ic]);
-+	bb_error_msg("cur_history:%d cnt_history:%d", state->cur_history, state->cnt_history);
-+#endif
-+
- 	/* Print out the command prompt */
- 	parse_and_put_prompt(prompt);
- 
-@@ -1540,11 +1565,8 @@
- 		vi_case(CTRL('P')|vbit:)
- 		vi_case('k'|vbit:)
- 			/* Control-p -- Get previous command from history */
--			if ((state->flags & DO_HISTORY) && state->cur_history > 0) {
--				get_previous_history();
-+			if (get_previous_history())
- 				goto rewrite_line;
--			}
--			beep();
- 			break;
- #endif
- 
-@@ -1733,10 +1755,8 @@
- #if MAX_HISTORY > 0
- 			case 'A':
- 				/* Up Arrow -- Get previous command from history */
--				if ((state->flags & DO_HISTORY) && state->cur_history > 0) {
--					get_previous_history();
-+				if (get_previous_history())
- 					goto rewrite_line;
--				}
- 				beep();
- 				break;
- 			case 'B':
-@@ -1746,7 +1766,7 @@
-  rewrite_line:
- 				/* Rewrite the line with the selected history item */
- 				/* change command */
--				command_len = strlen(strcpy(command, state->history[state->cur_history]));
-+				command_len = strlen(strcpy(command, state->history[state->cur_history] ? : ""));
- 				/* redraw and go to eol (bol, in vi */
- 				redraw(cmdedit_y, (state->flags & VI_MODE) ? 9999 : 0);
- 				break;

             reply	other threads:[~2008-09-28 19:28 UTC|newest]

Thread overview: 162+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-09-28 19:28 jacmet at uclibc.org [this message]
2008-09-29 10:15 ` [Buildroot] make grub failed Patrick Fischer
  -- strict thread matches above, loose matches on Subject: below --
2009-03-02 15:33 [Buildroot] svn commit: trunk/buildroot/package/busybox jacmet at uclibc.org
2009-02-18 14:16 jacmet at uclibc.org
2009-02-01 19:36 jacmet at uclibc.org
2009-01-29 11:29 jacmet at uclibc.org
2009-01-29 11:27 jacmet at uclibc.org
2009-01-20 19:26 jacmet at uclibc.org
2009-01-19 12:34 jacmet at uclibc.org
2009-01-12  9:36 jacmet at uclibc.org
2008-12-31  9:35 jacmet at uclibc.org
2008-12-30 19:15 jacmet at uclibc.org
2008-12-29 10:09 jacmet at uclibc.org
2008-12-11  9:35 jacmet at uclibc.org
2008-12-10 13:46 jacmet at uclibc.org
2008-12-07 21:22 jacmet at uclibc.org
2008-12-04 13:21 jacmet at uclibc.org
2008-11-29 20:12 jacmet at uclibc.org
2008-11-28  8:19 jacmet at uclibc.org
2008-11-22  6:49 jacmet at uclibc.org
2008-11-21 14:36 jacmet at uclibc.org
2008-11-21 10:59 jacmet at uclibc.org
2008-11-20  6:49 jacmet at uclibc.org
2008-11-17  7:40 jacmet at uclibc.org
2008-11-16 17:22 jacmet at uclibc.org
2008-11-16 23:46 ` Hamish Moffatt
2008-11-17  7:13   ` Peter Korsgaard
2008-11-17 12:38     ` Hamish Moffatt
2008-11-17 12:45       ` Peter Korsgaard
2008-11-15 21:25 jacmet at uclibc.org
2008-11-13 16:32 jacmet at uclibc.org
2008-11-14 16:42 ` hartleys
2008-11-15 21:29   ` Peter Korsgaard
2008-11-16 23:42     ` Hamish Moffatt
2008-11-17  7:13       ` Peter Korsgaard
2008-11-13 16:32 jacmet at uclibc.org
2008-11-07 10:16 jacmet at uclibc.org
2008-11-02 13:06 jacmet at uclibc.org
2008-10-13 12:42 jacmet at uclibc.org
2008-10-06 18:52 jacmet at uclibc.org
2008-09-22 11:54 jacmet at uclibc.org
2008-09-09  8:50 jacmet at uclibc.org
2008-09-09  8:50 jacmet at uclibc.org
2008-09-10  1:32 ` Hamish Moffatt
2008-09-10  6:57   ` Peter Korsgaard
2008-08-31 21:45 jacmet at uclibc.org
2008-08-28  4:57 jacmet at uclibc.org
2008-08-26  1:05 hamish at uclibc.org
2008-08-21  5:08 jacmet at uclibc.org
2008-08-06 12:56 jacmet at uclibc.org
2008-08-06  6:37 jacmet at uclibc.org
2008-08-04 19:06 jacmet at uclibc.org
2008-07-23  6:01 jacmet at uclibc.org
2008-07-22 11:19 jacmet at uclibc.org
2008-07-11 22:19 jacmet at uclibc.org
2008-07-06 13:55 jacmet at uclibc.org
2008-07-01 14:04 jacmet at uclibc.org
2008-07-01 13:37 jacmet at uclibc.org
2008-06-28 20:53 jacmet at uclibc.org
2008-06-26  6:51 jacmet at uclibc.org
2008-06-26  6:51 jacmet at uclibc.org
2008-06-26  6:58 ` Peter Korsgaard
2008-06-27  9:05   ` Daniel Laird
2008-06-27  9:20     ` Peter Korsgaard
2008-06-27 12:00       ` Bernhard Fischer
2008-06-27 12:46         ` sjhill at realitydiluted.com
2008-06-27 12:53           ` Bernhard Fischer
2008-06-27 14:07           ` Peter Korsgaard
2008-06-27 12:49         ` Daniel Laird
2008-06-27 13:19           ` Peter Korsgaard
2008-06-26  6:51 jacmet at uclibc.org
2008-06-20 18:38 jacmet at uclibc.org
2008-06-13 20:49 jacmet at uclibc.org
2008-06-07  7:46 jacmet at uclibc.org
2008-05-31 12:58 jacmet at uclibc.org
2008-05-31  7:28 jacmet at uclibc.org
2008-05-31  7:39 ` Cristian Ionescu-Idbohrn
2008-05-31 12:59   ` Peter Korsgaard
2008-05-09 10:01 jacmet at uclibc.org
2008-05-05 17:17 jacmet at uclibc.org
2008-04-29  6:53 jacmet at uclibc.org
2008-04-22  9:37 jacmet at uclibc.org
2008-04-04  7:17 jacmet at uclibc.org
2008-04-01 10:00 jacmet at uclibc.org
2008-03-30 14:37 jacmet at uclibc.org
2008-03-26 21:53 jacmet at uclibc.org
2008-03-26 21:49 jacmet at uclibc.org
2008-03-25 14:38 jacmet at uclibc.org
2008-03-21 17:56 ninevoltz at uclibc.org
2008-03-21 10:14 jacmet at uclibc.org
2008-03-17 19:44 jacmet at uclibc.org
2008-03-11  8:17 jacmet at uclibc.org
2008-02-28 14:38 jacmet at uclibc.org
2008-02-14 15:49 jacmet at uclibc.org
2008-02-14 14:45 jacmet at uclibc.org
2008-02-02 21:49 jacmet at uclibc.org
2008-01-08 12:51 jacmet at uclibc.org
2008-01-03 13:33 jacmet at uclibc.org
2008-01-03 13:33 jacmet at uclibc.org
2008-01-03 13:33 jacmet at uclibc.org
2008-01-03 13:33 jacmet at uclibc.org
2008-01-03 13:33 jacmet at uclibc.org
2008-01-03 13:31 jacmet at uclibc.org
2007-09-30 12:50 aldot at uclibc.org
2007-09-30 12:48 aldot at uclibc.org
2007-09-22 17:29 aldot at uclibc.org
2007-09-22 10:25 aldot at uclibc.org
2007-09-20 16:58 aldot at uclibc.org
2007-09-15 18:14 aldot at uclibc.org
2007-09-10  7:38 jacmet at uclibc.org
2007-09-02 22:09 aldot at uclibc.org
2007-09-02 14:56 aldot at uclibc.org
2007-09-01 17:33 aldot at uclibc.org
2007-08-24 14:23 aldot at uclibc.org
2007-07-08 12:10 aldot at uclibc.org
2007-07-08 12:04 aldot at uclibc.org
2007-07-08 11:56 aldot at uclibc.org
2007-07-02 15:20 aldot at uclibc.org
2007-07-02  9:54 aldot at uclibc.org
2007-06-27 21:07 aldot at uclibc.org
2007-06-25 11:07 aldot at uclibc.org
2007-06-14 13:09 jacmet at uclibc.org
2007-06-02 13:13 aldot at uclibc.org
2007-05-15  9:34 aldot at uclibc.org
2007-05-07  4:07 sjhill at uclibc.org
2007-05-07  4:04 sjhill at uclibc.org
2007-04-25  7:11 jacmet at uclibc.org
2007-04-05  7:04 jacmet at uclibc.org
2007-03-24 12:09 aldot at uclibc.org
2007-03-23 13:26 aldot at uclibc.org
2007-03-23 13:24 aldot at uclibc.org
2007-03-20  9:51 aldot at uclibc.org
2007-03-20  8:53 aldot at uclibc.org
2007-03-15  8:36 jacmet at uclibc.org
2007-03-14 13:02 aldot at uclibc.org
2007-02-27  9:04 jacmet at uclibc.org
2007-02-23 11:55 jacmet at uclibc.org
2007-02-16 15:19 aldot at uclibc.org
2007-02-12 14:43 jacmet at uclibc.org
2007-02-06 16:34 jacmet at uclibc.org
2007-02-06 16:31 jacmet at uclibc.org
2007-02-06 16:23 jacmet at uclibc.org
2007-02-06 16:20 jacmet at uclibc.org
2007-02-06 16:18 jacmet at uclibc.org
2007-02-02 16:15 aldot at uclibc.org
2007-02-01 12:30 aldot at uclibc.org
2007-01-31 14:21 aldot at uclibc.org
2007-01-30 16:47 jacmet at uclibc.org
2007-01-30 13:37 jacmet at uclibc.org
2007-01-30 13:36 jacmet at uclibc.org
2006-12-13  6:58 andersen at uclibc.org
2006-12-13  6:18 andersen at uclibc.org
2006-12-07 16:31 aldot at uclibc.org
2006-12-02 19:36 aldot at uclibc.org
2006-12-02 18:36 aldot at uclibc.org
2006-12-02 17:03 aldot at uclibc.org
2006-11-17 12:57 aldot at uclibc.org
2006-11-17 11:37 aldot at uclibc.org
2006-10-25  8:10 jacmet at uclibc.org
2006-08-29 16:45 aldot at uclibc.org
2006-08-24 19:48 aldot at uclibc.org
2006-07-31  9:01 jacmet

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080928192852.2F6BB3C65A@busybox.net \
    --to=jacmet@uclibc.org \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.