From: "Vladimir 'φ-coder/phcoder' Serbinenko" <phcoder@gmail.com>
To: Lennart Sorensen <lsorense@csclub.uwaterloo.ca>
Cc: The development of GNU GRUB <grub-devel@gnu.org>
Subject: Re: Various build failures in current bzr tree
Date: Sun, 12 Feb 2012 02:02:29 +0100 [thread overview]
Message-ID: <4F370FA5.3020707@gmail.com> (raw)
In-Reply-To: <20120212000258.GP27742@caffeine.csclub.uwaterloo.ca>
[-- Attachment #1: Type: text/plain, Size: 18642 bytes --]
On 12.02.2012 01:02, Lennart Sorensen wrote:
> On Sat, Feb 11, 2012 at 12:38:41AM +0100, Vladimir 'φ-coder/phcoder' Serbinenko wrote:
>> === modified file 'configure.ac'
>> --- configure.ac 2012-02-10 15:48:48 +0000
>> +++ configure.ac 2012-02-10 23:28:12 +0000
>> @@ -373,9 +373,9 @@
>> LIBS=""
>>
>> # debug flags.
>> -WARN_FLAGS="-Wall -W -Wshadow -Wold-style-declaration -Wold-style-definition -Wpointer-arith -Wmissing-prototypes -Wundef -Wextra -Waddress -Warray-bounds -Wattributes -Wbuiltin-macro-redefined -Wcast-align -Wchar-subscripts -Wclobbered -Wcomment -Wcoverage-mismatch -Wdeprecated -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wempty-body -Wendif-labels -Wfloat-equal -Wformat-contains-nul -Wformat-extra-args -Wformat-security -Wformat-y2k -Wignored-qualifiers -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Winit-self -Winline -Wint-to-pointer-cast -Winvalid-pch -Wunsafe-loop-optimizations -Wlogical-op -Wmain -Wmissing-braces -Wmissing-field-initializers -Wmissing-format-attribute -Wmissing-noreturn -Wmudflap -Wmultichar -Wnonnull -Woverflow -Wpacked-bitfield-compat -Wparentheses -Wpointer-arith -Wpointer-to-int-cast -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wstack-protector -Wstrict-aliasing -Wstrict-overflow -Wswitch -Wsync-nand -Wtrigraphs -Wtype-limits -Wundef -Wuninitialized -Wunknown-pragmas -Wunreachable-code -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-result -Wunused-value -Wunused-variable -Wvariadic-macros -Wvolatile-register-var -Wwrite-strings -Wmissing-declarations -Wmissing-parameter-type -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes -Wpointer-sign"
>> +WARN_FLAGS="-Wall -W -Wshadow -Wold-style-declaration -Wold-style-definition -Wpointer-arith -Wundef -Wextra -Waddress -Warray-bounds -Wattributes -Wbuiltin-macro-redefined -Wcast-align -Wchar-subscripts -Wclobbered -Wcomment -Wcoverage-mismatch -Wdeprecated -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero -Wempty-body -Wendif-labels -Wfloat-equal -Wformat-contains-nul -Wformat-extra-args -Wformat-security -Wformat-y2k -Wignored-qualifiers -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Winit-self -Wint-to-pointer-cast -Winvalid-pch -Wunsafe-loop-optimizations -Wlogical-op -Wmain -Wmissing-braces -Wmissing-field-initializers -Wmissing-format-attribute -Wmissing-noreturn -Wmudflap -Wmultichar -Wnonnull -Woverflow -Wpacked-bitfield-compat -Wparentheses -Wpointer-arith -Wpointer-to-int-cast -Wreturn-type -Wsequence-point -Wshadow -Wsign-compare -Wstack-protector -Wstrict-aliasing -Wswitch -Wsync-nand -Wtrigraphs -Wtype-limits -Wundef -Wuninitialized -Wunknown-pragmas -Wunreachable-code -Wunused -Wunused-function -Wunused-label -Wunused-parameter -Wunused-result -Wunused-value -Wunused-variable -Wvariadic-macros -Wvolatile-register-var -Wwrite-strings -Wmissing-declarations -Wmissing-parameter-type -Wmissing-prototypes -Wnested-externs -Wstrict-prototypes -Wpointer-sign"
>> HOST_CFLAGS="$HOST_CFLAGS $WARN_FLAGS"
>> -TARGET_CFLAGS="$TARGET_CFLAGS $WARN_FLAGS -g -Wredundant-decls"
>> +TARGET_CFLAGS="$TARGET_CFLAGS $WARN_FLAGS -g -Wredundant-decls -Wmissing-prototypes"
>> TARGET_CCASFLAGS="$TARGET_CCASFLAGS -g"
>>
>> # Force no alignment to save space on i386.
>>
>> === modified file 'docs/grub.texi'
>> --- docs/grub.texi 2012-01-31 21:59:32 +0000
>> +++ docs/grub.texi 2012-02-10 17:11:59 +0000
>> @@ -20,7 +20,7 @@
>> This manual is for GNU GRUB (version @value{VERSION},
>> @value{UPDATED}).
>>
>> -Copyright @copyright{} 1999,2000,2001,2002,2004,2006,2008,2009,2010 Free Software Foundation, Inc.
>> +Copyright @copyright{} 1999,2000,2001,2002,2004,2006,2008,2009,2010,2011,2012 Free Software Foundation, Inc.
>>
>> @quotation
>> Permission is granted to copy, distribute and/or modify this document
>>
>> === modified file 'gentpl.py'
>> --- gentpl.py 2011-12-24 14:09:26 +0000
>> +++ gentpl.py 2012-02-10 17:10:18 +0000
>> @@ -1,4 +1,19 @@
>> #! /usr/bin/python
>> +# GRUB -- GRand Unified Bootloader
>> +# Copyright (C) 2010,2011 Free Software Foundation, Inc.
>> +#
>> +# GRUB is free software: you can redistribute it and/or modify
>> +# it under the terms of the GNU General Public License as published by
>> +# the Free Software Foundation, either version 3 of the License, or
>> +# (at your option) any later version.
>> +#
>> +# GRUB is distributed in the hope that it will be useful,
>> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
>> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
>> +# GNU General Public License for more details.
>> +#
>> +# You should have received a copy of the GNU General Public License
>> +# along with GRUB. If not, see <http://www.gnu.org/licenses/>.
>>
>> #
>> # This is the python script used to generate Makefile.tpl
>>
>> === modified file 'grub-core/disk/diskfilter.c'
>> --- grub-core/disk/diskfilter.c 2012-02-09 22:43:43 +0000
>> +++ grub-core/disk/diskfilter.c 2012-02-10 19:54:58 +0000
>> @@ -260,6 +260,24 @@
>> return list;
>> }
>>
>> +void
>> +grub_diskfilter_print_partmap (grub_disk_t disk)
>> +{
>> + struct grub_diskfilter_lv *lv = disk->data;
>> + struct grub_diskfilter_pv *pv;
>> +
>> + if (lv->vg->pvs)
>> + for (pv = lv->vg->pvs; pv; pv = pv->next)
>> + {
>> + grub_size_t s;
>> + if (!pv->disk)
>> + grub_util_error (_("Couldn't find physical volume `%s'."
>> + " Check your device.map"), pv->name);
>> + for (s = 0; pv->partmaps[s]; s++)
>> + grub_printf ("%s ", pv->partmaps[s]);
>> + }
>> +}
>> +
>> static const char *
>> grub_diskfilter_getname (struct grub_disk *disk)
>> {
>> @@ -964,6 +982,19 @@
>> pv->part_start = grub_partition_get_start (disk->partition);
>> pv->part_size = grub_disk_get_size (disk);
>>
>> +#ifdef GRUB_UTIL
>> + {
>> + grub_size_t s = 1;
>> + grub_partition_t p;
>> + for (p = disk->partition; p; p = p->parent)
>> + s++;
>> + pv->partmaps = xmalloc (s * sizeof (pv->partmaps[0]));
>> + s = 0;
>> + for (p = disk->partition; p; p = p->parent)
>> + pv->partmaps[s++] = xstrdup (p->partmap->name);
>> + pv->partmaps[s++] = 0;
>> + }
>> +#endif
>> if (start_sector != (grub_uint64_t)-1)
>> pv->start_sector = start_sector;
>> pv->start_sector += pv->part_start;
>>
>> === modified file 'grub-core/kern/emu/full.c'
>> --- grub-core/kern/emu/full.c 2012-02-09 22:15:27 +0000
>> +++ grub-core/kern/emu/full.c 2012-02-10 20:37:43 +0000
>> @@ -50,7 +50,7 @@
>> grub_no_autoload = 1;
>> }
>>
>> -#ifdef __ia64__
>> +#if defined (__ia64__) || defined (__powerpc__)
>> void grub_arch_dl_get_tramp_got_size (const void *ehdr __attribute__ ((unused)),
>> grub_size_t *tramp, grub_size_t *got)
>> {
>>
>> === modified file 'grub-core/script/execute.c'
>> --- grub-core/script/execute.c 2012-02-04 11:21:21 +0000
>> +++ grub-core/script/execute.c 2012-02-10 22:24:15 +0000
>> @@ -26,6 +26,7 @@
>> #include <grub/lib/arg.h>
>> #include <grub/normal.h>
>> #include <grub/extcmd.h>
>> +#include <grub/i18n.h>
>>
>> /* Max digits for a char is 3 (0xFF is 255), similarly for an int it
>> is sizeof (int) * 3, and one extra for a possible -ve sign. */
>> @@ -312,8 +313,8 @@
>> struct grub_script_arg *arg = 0;
>> struct grub_script_argv result = { 0, 0, 0 };
>>
>> - auto int append (char *s, int escape_type);
>> - int append (char *s, int escape_type)
>> + auto int append (const char *s, int escape_type);
>> + int append (const char *s, int escape_type)
>> {
>> int r;
>> char *p = 0;
>> @@ -379,12 +380,20 @@
>> break;
>>
>> case GRUB_SCRIPT_ARG_TYPE_TEXT:
>> - if (grub_strlen (arg->str) &&
>> + if (arg->str[0] &&
>> grub_script_argv_append (&result, arg->str,
>> grub_strlen (arg->str)))
>> goto fail;
>> break;
>>
>> + case GRUB_SCRIPT_ARG_TYPE_GETTEXT:
>> + {
>> + const char *t = _(arg->str);
>> + if (grub_script_argv_append (&result, t, grub_strlen (t)))
>> + goto fail;
>> + }
>> + break;
>> +
>> case GRUB_SCRIPT_ARG_TYPE_DQSTR:
>> case GRUB_SCRIPT_ARG_TYPE_SQSTR:
>> if (append (arg->str, 1))
>>
>> === modified file 'grub-core/script/yylex.l'
>> --- grub-core/script/yylex.l 2012-02-03 10:56:49 +0000
>> +++ grub-core/script/yylex.l 2012-02-10 22:20:27 +0000
>> @@ -131,15 +131,17 @@
>> SQCHR [^\']
>> DQCHR {ESC}|[^\\\"]
>> DQSTR \"{DQCHR}*\"
>> +I18NSTR \$\"{DQCHR}*\"
>> SQSTR \'{SQCHR}*\'
>> SPECIAL \?|\#|\*|\@
>> VARIABLE ${NAME}|$\{{NAME}\}|${DIGITS}|$\{{DIGITS}\}|${SPECIAL}|$\{{SPECIAL}\}
>> -WORD ({CHAR}|{DQSTR}|{SQSTR}|{ESC}|{VARIABLE})+
>> +WORD ({CHAR}|{DQSTR}|{SQSTR}|{ESC}|{VARIABLE}|{I18NSTR})+
>>
>> MULTILINE {WORD}?((\"{DQCHR}*)|(\'{SQCHR}*)|(\\\n))
>>
>> %x SPLIT
>> %x DQUOTE
>> +%x I18NQUOTE
>> %x SQUOTE
>> %x VAR
>>
>> @@ -215,6 +217,10 @@
>> yy_push_state (SQUOTE, yyscanner);
>> ARG (GRUB_SCRIPT_ARG_TYPE_TEXT);
>> }
>> + "\$\"" {
>> + yy_push_state (I18NQUOTE, yyscanner);
>> + ARG (GRUB_SCRIPT_ARG_TYPE_GETTEXT);
>> + }
>> \$ {
>> yy_push_state (VAR, yyscanner);
>> ARG (GRUB_SCRIPT_ARG_TYPE_TEXT);
>> @@ -280,6 +286,18 @@
>> (.|\n) { COPY (yytext, yyleng); }
>> }
>>
>> +<I18NQUOTE>{
>> + \\\\ { COPY ("\\", 1); }
>> + \\\" { COPY ("\"", 1); }
>> + \\\n { /* ignore */ }
>> + [^\"\\\n]+ { COPY (yytext, yyleng); }
>> + \" {
>> + yy_pop_state (yyscanner);
>> + ARG (GRUB_SCRIPT_ARG_TYPE_GETTEXT);
>> + }
>> + (.|\n) { COPY (yytext, yyleng); }
>> +}
>> +
>> <<EOF>> {
>> yypop_buffer_state (yyscanner);
>> yyextra->lexerstate->eof = 1;
>>
>> === modified file 'include/grub/diskfilter.h'
>> --- include/grub/diskfilter.h 2012-01-29 13:28:01 +0000
>> +++ include/grub/diskfilter.h 2012-02-10 19:53:29 +0000
>> @@ -72,6 +72,9 @@
>> struct grub_diskfilter_pv *next;
>> /* Optional. */
>> grub_uint8_t *internal_id;
>> +#ifdef GRUB_UTIL
>> + char **partmaps;
>> +#endif
>> };
>>
>> struct grub_diskfilter_lv {
>> @@ -186,6 +189,8 @@
>> struct grub_diskfilter_pv *
>> grub_diskfilter_get_pv_from_disk (grub_disk_t disk,
>> struct grub_diskfilter_vg **vg);
>> +void
>> +grub_diskfilter_print_partmap (grub_disk_t disk);
>> #endif
>>
>> #endif /* ! GRUB_RAID_H */
>>
>> === modified file 'include/grub/script_sh.h'
>> --- include/grub/script_sh.h 2011-11-11 19:34:37 +0000
>> +++ include/grub/script_sh.h 2012-02-10 20:30:33 +0000
>> @@ -53,6 +53,7 @@
>> {
>> GRUB_SCRIPT_ARG_TYPE_VAR,
>> GRUB_SCRIPT_ARG_TYPE_TEXT,
>> + GRUB_SCRIPT_ARG_TYPE_GETTEXT,
>> GRUB_SCRIPT_ARG_TYPE_DQVAR,
>> GRUB_SCRIPT_ARG_TYPE_DQSTR,
>> GRUB_SCRIPT_ARG_TYPE_SQSTR,
>>
>> === modified file 'util/getroot.c'
>> --- util/getroot.c 2012-02-10 12:17:12 +0000
>> +++ util/getroot.c 2012-02-10 18:48:24 +0000
>> @@ -372,7 +372,7 @@
>> char *buf = NULL;
>> size_t len = 0;
>> char **ret = NULL;
>> - int entry_len = 0, entry_max = 4;
>> + grub_size_t entry_len = 0, entry_max = 4;
>> struct mountinfo_entry *entries;
>> struct mountinfo_entry parent_entry = { 0, 0, 0, "", "", "", "" };
>> int i;
>> @@ -1991,7 +1991,7 @@
>> const grub_partition_t partition)
>> {
>> grub_disk_addr_t part_start = 0;
>> - grub_util_info ("Partition %d starts from %lu",
>> + grub_util_info ("Partition %d starts from %" PRIuGRUB_UINT64_T,
>> partition->number, partition->start);
>>
>> part_start = grub_partition_get_start (partition);
>> @@ -2022,7 +2022,7 @@
>> return 0;
>> }
>>
>> - grub_util_info ("%s starts from %lu", os_dev, start);
>> + grub_util_info ("%s starts from %" PRIuGRUB_UINT64_T, os_dev, start);
>>
>> if (start == 0 && device_is_wholedisk (os_dev))
>> return name;
>>
>> === modified file 'util/grub-mkimage.c'
>> --- util/grub-mkimage.c 2012-02-10 12:56:18 +0000
>> +++ util/grub-mkimage.c 2012-02-10 23:30:37 +0000
>> @@ -714,7 +714,7 @@
>> grub_uint64_t start_address;
>> void *rel_section;
>> grub_size_t reloc_size, align;
>> - size_t decompress_size;
>> + size_t decompress_size = 0;
>>
>> if (comp == COMPRESSION_AUTO)
>> comp = image_target->default_compression;
>>
>> === modified file 'util/grub-mkimagexx.c'
>> --- util/grub-mkimagexx.c 2012-02-10 12:56:18 +0000
>> +++ util/grub-mkimagexx.c 2012-02-10 23:34:17 +0000
>> @@ -182,6 +182,7 @@
>>
>> #define MASK20 ((1 << 20) - 1)
>> #define MASK19 ((1 << 19) - 1)
>> +#define MASK3 (~(grub_addr_t) 3)
>>
>> static void
>> add_value_to_slot_20b (grub_addr_t addr, grub_uint32_t value)
>> @@ -190,17 +191,17 @@
>> switch (addr & 3)
>> {
>> case 0:
>> - p = (struct unaligned_uint32 *) ((addr & ~3ULL) + 2);
>> + p = (struct unaligned_uint32 *) ((addr & MASK3) + 2);
>> p->val = ((((((p->val >> 2) & MASK20) + value) & MASK20) << 2)
>> | (p->val & ~(MASK20 << 2)));
>> break;
>> case 1:
>> - p = (struct unaligned_uint32 *) ((grub_uint8_t *) (addr & ~3ULL) + 7);
>> + p = (struct unaligned_uint32 *) ((grub_uint8_t *) (addr & MASK3) + 7);
>> p->val = ((((((p->val >> 3) & MASK20) + value) & MASK20) << 3)
>> | (p->val & ~(MASK20 << 3)));
>> break;
>> case 2:
>> - p = (struct unaligned_uint32 *) ((grub_uint8_t *) (addr & ~3ULL) + 12);
>> + p = (struct unaligned_uint32 *) ((grub_uint8_t *) (addr & MASK3) + 12);
>> p->val = ((((((p->val >> 4) & MASK20) + value) & MASK20) << 4)
>> | (p->val & ~(MASK20 << 4)));
>> break;
>> @@ -227,15 +228,15 @@
>> switch (addr & 3)
>> {
>> case 0:
>> - p = (struct unaligned_uint32 *) ((addr & ~3ULL) + 2);
>> + p = (struct unaligned_uint32 *) ((addr & MASK3) + 2);
>> p->val = ((add_value_to_slot_21_real (((p->val >> 2) & MASKF21), value) & MASKF21) << 2) | (p->val & ~(MASKF21 << 2));
>> break;
>> case 1:
>> - p = (struct unaligned_uint32 *) ((grub_uint8_t *) (addr & ~3ULL) + 7);
>> + p = (struct unaligned_uint32 *) ((grub_uint8_t *) (addr & MASK3) + 7);
>> p->val = ((add_value_to_slot_21_real (((p->val >> 3) & MASKF21), value) & MASKF21) << 3) | (p->val & ~(MASKF21 << 3));
>> break;
>> case 2:
>> - p = (struct unaligned_uint32 *) ((grub_uint8_t *) (addr & ~3ULL) + 12);
>> + p = (struct unaligned_uint32 *) ((grub_uint8_t *) (addr & MASK3) + 12);
>> p->val = ((add_value_to_slot_21_real (((p->val >> 4) & MASKF21), value) & MASKF21) << 4) | (p->val & ~(MASKF21 << 4));
>> break;
>> }
>> @@ -457,8 +458,8 @@
>> - target_section_addr - (offset & ~3)) >> 4;
>> tr++;
>> if (noff & ~MASK19)
>> - grub_util_error ("trampoline offset too big (%lx)",
>> - noff);
>> + grub_util_error ("trampoline offset too big (%"
>> + PRIxGRUB_UINT64_T ")", noff);
>> add_value_to_slot_20b ((grub_addr_t) target, noff);
>> }
>> break;
>> @@ -919,7 +920,7 @@
>> grub_size_t kernel_size;
>> grub_size_t ia64jmp_off = 0, ia64_toff = 0, ia64_got_off = 0;
>> unsigned ia64jmpnum = 0;
>> - Elf_Shdr *symtab_section;
>> + Elf_Shdr *symtab_section = 0;
>> grub_size_t got = 0;
>>
>> *start = 0;
>>
>> === modified file 'util/grub-probe.c'
>> --- util/grub-probe.c 2012-02-10 11:57:00 +0000
>> +++ util/grub-probe.c 2012-02-10 19:56:18 +0000
>> @@ -87,6 +87,9 @@
>> for (part = disk->partition; part; part = part->parent)
>> printf ("%s ", part->partmap->name);
>>
>> + if (disk->dev->id == GRUB_DISK_DEVICE_DISKFILTER_ID)
>> + grub_diskfilter_print_partmap (disk);
>> +
>> /* In case of LVM/RAID, check the member devices as well. */
>> if (disk->dev->memberlist)
>> {
>> @@ -304,7 +307,7 @@
>> raid_level = probe_raid_level (disk);
>> if (raid_level >= 0)
>> {
>> - printf ("raid ");
>> + printf ("diskfilter ");
>> if (disk->dev->raidname)
>> printf ("%s ", disk->dev->raidname (disk));
>> }
>>
>> === modified file 'util/import_gcry.py'
>> --- util/import_gcry.py 2012-02-10 15:48:48 +0000
>> +++ util/import_gcry.py 2012-02-10 23:26:06 +0000
>> @@ -325,7 +325,7 @@
>> confutil.write (" common = grub-core/%s;\n" % src)
>> if modname == "gcry_rijndael" or modname == "gcry_md4" or modname == "gcry_md5" or modname == "gcry_rmd160" or modname == "gcry_sha1" or modname == "gcry_sha256" or modname == "gcry_sha512" or modname == "gcry_tiger":
>> # Alignment checked by hand
>> - conf.write (" cflags = '$(CFLAGS_GCRY) -Wno-cast-align';\n");
>> + conf.write (" cflags = '$(CFLAGS_GCRY) -Wno-cast-align -Wno-strict-aliasing';\n");
>> else:
>> conf.write (" cflags = '$(CFLAGS_GCRY)';\n");
>> conf.write (" cppflags = '$(CPPFLAGS_GCRY)';\n");
>>
> Well that seems to build (when ignoring warnings). I have to fix the
> packaging scripts a it now that grub-mkdevice has gone away, but that's
> not that big a deal.
>
> I have attached the build log, to see what the warnings remaining
> are (about 5000 lines of warning: when building powerpc-emu and
> powerpc-ieee1275) at this point.
>
Looks like they all come from double-linked list code. This should help:
=== modified file 'include/grub/list.h'
--- include/grub/list.h 2012-01-29 17:09:53 +0000
+++ include/grub/list.h 2012-02-12 01:00:48 +0000
@@ -24,6 +24,10 @@
#include <grub/types.h>
#include <grub/misc.h>
+struct grub_list __attribute__ ((may_alias));
+struct grub_named_list __attribute__ ((may_alias));
+struct grub_prio_list __attribute__ ((may_alias));
+
struct grub_list
{
struct grub_list *next;
--
Regards
Vladimir 'φ-coder/phcoder' Serbinenko
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 294 bytes --]
next prev parent reply other threads:[~2012-02-12 1:02 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-09 19:02 Various build failures in current bzr tree Lennart Sorensen
2012-02-09 19:33 ` Lennart Sorensen
2012-02-09 20:50 ` Lennart Sorensen
2012-02-09 20:56 ` Lennart Sorensen
2012-02-09 23:02 ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-02-10 15:54 ` Lennart Sorensen
2012-02-10 16:11 ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-02-10 18:18 ` Lennart Sorensen
2012-02-10 19:01 ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-02-10 19:12 ` Lennart Sorensen
2012-02-10 19:41 ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-02-10 19:56 ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-02-10 20:31 ` Lennart Sorensen
2012-02-10 20:39 ` Lennart Sorensen
2012-02-10 16:16 ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-02-10 18:31 ` Lennart Sorensen
2012-02-09 22:59 ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-02-10 15:45 ` Lennart Sorensen
2012-02-10 16:02 ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-02-10 18:15 ` Lennart Sorensen
2012-02-10 18:57 ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-02-10 19:05 ` Lennart Sorensen
2012-02-10 18:58 ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-02-10 19:08 ` Lennart Sorensen
2012-02-10 19:14 ` Lennart Sorensen
2012-02-10 19:25 ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-02-10 20:25 ` Lennart Sorensen
2012-02-10 20:38 ` Vladimir 'φ-coder/phcoder' Serbinenko
2012-02-10 20:43 ` Lennart Sorensen
2012-02-10 23:14 ` Lennart Sorensen
2012-02-10 23:38 ` Vladimir 'φ-coder/phcoder' Serbinenko
[not found] ` <20120212000258.GP27742@caffeine.csclub.uwaterloo.ca>
2012-02-12 1:02 ` Vladimir 'φ-coder/phcoder' Serbinenko [this message]
2012-02-12 17:35 ` Lennart Sorensen
2012-02-12 17:41 ` Lennart Sorensen
2012-02-12 20:19 ` Bruce Dubbs
2012-02-12 20:29 ` Lennart Sorensen
2012-02-13 15:39 ` Lennart Sorensen
2012-02-15 17:04 ` Lennart Sorensen
2012-02-10 19:01 ` Lennart Sorensen
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=4F370FA5.3020707@gmail.com \
--to=phcoder@gmail.com \
--cc=grub-devel@gnu.org \
--cc=lsorense@csclub.uwaterloo.ca \
/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.