From: ebiederm@xmission.com (Eric W. Biederman)
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: David Miller <davem@davemloft.net>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: Heads up Linux 2.6.38-rc4 compile problems.
Date: Wed, 09 Feb 2011 01:01:53 -0800 [thread overview]
Message-ID: <m1bp2ly41q.fsf@fess.ebiederm.org> (raw)
In-Reply-To: <AANLkTikJL_4-7F_2oSuefSpL7ak3+OWLk7F+bDqWT8XJ@mail.gmail.com> (Linus Torvalds's message of "Tue, 8 Feb 2011 12:44:17 -0800")
[-- Attachment #1: Type: text/plain, Size: 10199 bytes --]
Linus Torvalds <torvalds@linux-foundation.org> writes:
> On Tue, Feb 8, 2011 at 12:28 PM, Eric W. Biederman
> <ebiederm@xmission.com> wrote:
>>
>> A quick heads up. 2.6.38-rc4 looks like the worst kernel I've ever tried to
>> test. It boots up properly and looks ok, but I can't get it to even
>> compile the programs I usually test with. 2.6.38-rc3 at least managed
>> that yesterday.
>
> gcc dying with ICE or SIGSEGV? Or what? Seriously lacking information
> here.
>
> Are you using btrfs or cifs (the two filesystems that had
> bigger-than-average changes)?
>
> Any chance to bisect it (even if just partially - a couple of
> bisection runs would already narrow it down quite a bit)?
What I have been able to do today on this one is, narrow it down a
little and provide a reasonable description of one of the problem.
In a fedora 12 world in a subdirectory on ext4 with the applications
pinned into a mount namespace. I am seeing compiles of gcc-4.4.3 fail. A
quick survey of the compile failures makes it look like these compiles
failures are deterministic, at least I see the same error messages in multiple
failed builds.
The machine is a dual socket quad core non hyperthread machine with 10G of RAM.
The cpus are: Intel(R) Xeon(R) CPU E5420 @ 2.50GHz
In the case that fails I am simultaneously compiling a 32bit gcc cross
compiler for x86_64 and i386, for the same source but with different
object directories. The compiles failures happen exactly as before if I
rerun the build commands. I'm still trying to figure out why the
individual files are failing. I expect if I do that will give me a much
bigger clue.
What is interesting is that this fails exactly the same way in at least three invocations
of the command and I expect all of them. With failures taking about 30 minutes.
I might try a bisect tomorrow.
The unfortunate thing is that this weird compile failure during a
parallel build doesn't tell me much yet about what the root cause is.
I have attached my build scripts in case that helps. To understand.
At the moment I am still trying to break this down into something smaller
so I can see just what the heck is going on. And I will keep poking at
it until I get somewhere.
The annoying thing is that looking at the other failures I was seeing
before the compile fell apart. I think I am might be on top of half a
dozen other regressions as well. I don't have a clue how I am going to
get through all of those regressions before before 2.6.38 is out.
Eric
The failures look like:
$ make -C gcc-stage1-x86_64 all-gcc all-target-libgcc install-gcc install-target-libgcc DESTDIR=/bld/Across/Across-2.0.0/sysroot-x86_64
gcc -qlanglvl=ansi -c -DHAVE_CONFIG_H -g -O2 -I. -I/bld/Across/Across-2.0.0/gcc-4.4.3/libiberty/../include -W -Wall
-Wwrite-strings -Wc++-compat -Wstrict-prototypes /bld/Across/Across-2.0.0/gcc-4.4.3/libiberty/fibheap.c -o fibheap.o
gcc: unrecognized option '-qlanglvl=ansi'
/bld/Across/Across-2.0.0/gcc-4.4.3/libiberty/fibheap.c: In function ‘fibheap_union’:
/bld/Across/Across-2.0.0/gcc-4.4.3/libiberty/fibheap.c:151: warning: implicit declaration of function ‘free’
/bld/Across/Across-2.0.0/gcc-4.4.3/libiberty/fibheap.c:151: warning: incompatible implicit declaration of built-in function ‘free’
/bld/Across/Across-2.0.0/gcc-4.4.3/libiberty/fibheap.c:156: warning: incompatible implicit declaration of built-in function ‘free’
/bld/Across/Across-2.0.0/gcc-4.4.3/libiberty/fibheap.c:172: warning: incompatible implicit declaration of built-in function ‘free’
/bld/Across/Across-2.0.0/gcc-4.4.3/libiberty/fibheap.c: In function ‘fibheap_extract_min’:
/bld/Across/Across-2.0.0/gcc-4.4.3/libiberty/fibheap.c:190: warning: incompatible implicit declaration of built-in function ‘free’
/bld/Across/Across-2.0.0/gcc-4.4.3/libiberty/fibheap.c: In function ‘fibheap_delete_node’:
/bld/Across/Across-2.0.0/gcc-4.4.3/libiberty/fibheap.c:258: error: ‘LONG_MIN’ undeclared (first use in this function)
/bld/Across/Across-2.0.0/gcc-4.4.3/libiberty/fibheap.c:258: error: (Each undeclared identifier is reported only once
/bld/Across/Across-2.0.0/gcc-4.4.3/libiberty/fibheap.c:258: error: for each function it appears in.)
/bld/Across/Across-2.0.0/gcc-4.4.3/libiberty/fibheap.c: In function ‘fibheap_delete’:
/bld/Across/Across-2.0.0/gcc-4.4.3/libiberty/fibheap.c:269: warning: incompatible implicit declaration of built-in function ‘free’
/bld/Across/Across-2.0.0/gcc-4.4.3/libiberty/fibheap.c: In function ‘fibheap_consolidate’:
/bld/Across/Across-2.0.0/gcc-4.4.3/libiberty/fibheap.c:360: warning: implicit declaration of function ‘memset’
/bld/Across/Across-2.0.0/gcc-4.4.3/libiberty/fibheap.c:360: warning: incompatible implicit declaration of built-in function ‘memset’
$ make -C gcc-stage1-i386 all-gcc all-target-libgcc install-gcc install-target-libgcc DESTDIR=/bld/Across/Across-2.0.0/sysroot-i386
make: Entering directory `/bld/Across/Across-2.0.0/gcc-stage1-i386'
make[1]: Entering directory `/bld/Across/Across-2.0.0/gcc-stage1-i386/libiberty'
make[2]: Entering directory `/bld/Across/Across-2.0.0/gcc-stage1-i386/libiberty/testsuite'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/bld/Across/Across-2.0.0/gcc-stage1-i386/libiberty/testsuite'
make[1]: Leaving directory `/bld/Across/Across-2.0.0/gcc-stage1-i386/libiberty'
make[1]: Entering directory `/bld/Across/Across-2.0.0/gcc-stage1-i386/intl'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/bld/Across/Across-2.0.0/gcc-stage1-i386/intl'
make[1]: Entering directory `/bld/Across/Across-2.0.0/gcc-stage1-i386/build-i686-pc-linux-gnu/libiberty'
make[2]: Entering directory `/bld/Across/Across-2.0.0/gcc-stage1-i386/build-i686-pc-linux-gnu/libiberty/testsuite'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/bld/Across/Across-2.0.0/gcc-stage1-i386/build-i686-pc-linux-gnu/libiberty/testsuite'
make[1]: Leaving directory `/bld/Across/Across-2.0.0/gcc-stage1-i386/build-i686-pc-linux-gnu/libiberty'
make[1]: Entering directory `/bld/Across/Across-2.0.0/gcc-stage1-i386/build-i686-pc-linux-gnu/fixincludes'
gcc -g -O2 -o fixincl fixincl.o fixtests.o fixfixes.o server.o procopen.o fixlib.o fixopts.o ../libiberty/libiberty.a
fixincl.o: In function `quoted_file_exists':
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixincl.c:624: undefined reference to `_sch_istable'
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixincl.c:624: undefined reference to `_sch_istable'
fixincl.o: In function `egrep_test':
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixincl.c:600: undefined reference to `xregexec'
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixincl.c:600: undefined reference to `xregexec'
fixincl.o: In function `test_for_changes':
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixincl.c:1211: undefined reference to `xregexec'
fixincl.o: In function `extract_quoted_files':
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixincl.c:711: undefined reference to `xregexec'
fixincl.o: In function `initialize':
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixincl.c:245: undefined reference to `_sch_istable'
fixincl.o: In function `main':
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixincl.c:139: undefined reference to `_sch_istable'
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixincl.c:157: undefined reference to `_sch_istable'
fixtests.o: In function `machine_name_test':
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixtests.c:79: undefined reference to `xregexec'
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixtests.c:104: undefined reference to `xregexec'
fixfixes.o: In function `gnu_type_fix':
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixfixes.c:681: undefined reference to `xregexec'
fixfixes.o: In function `emit_gnu_type':
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixfixes.c:144: undefined reference to `_sch_toupper'
fixfixes.o: In function `wrap_fix':
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixfixes.c:599: undefined reference to `xregexec'
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixfixes.c:617: undefined reference to `_sch_istable'
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixfixes.c:621: undefined reference to `_sch_toupper'
fixfixes.o: In function `machine_name_fix':
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixfixes.c:508: undefined reference to `xregexec'
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixfixes.c:539: undefined reference to `xregexec'
fixfixes.o: In function `format_fix':
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixfixes.c:282: undefined reference to `xregexec'
fixfixes.o: In function `format_write':
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixfixes.c:198: undefined reference to `_sch_istable'
fixfixes.o: In function `char_macro_use_fix':
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixfixes.c:332: undefined reference to `xregexec'
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixfixes.c:439: undefined reference to `_sch_istable'
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixfixes.c:448: undefined reference to `_sch_istable'
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixfixes.c:451: undefined reference to `_sch_istable'
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixfixes.c:453: undefined reference to `_sch_istable'
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixfixes.c:448: undefined reference to `_sch_istable'
server.o:/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/server.c:124: more undefined references to `_sch_istable' follow
fixlib.o: In function `compile_re':
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixlib.c:193: undefined reference to `xregcomp'
/bld/Across/Across-2.0.0/gcc-4.4.3/fixincludes/fixlib.c:198: undefined reference to `xregerror'
collect2: ld returned 1 exit status
make[1]: *** [full-stamp] Error 1
make[1]: Leaving directory `/bld/Across/Across-2.0.0/gcc-stage1-i386/build-i686-pc-linux-gnu/fixincludes'
make: *** [all-build-fixincludes] Error 2
make: Leaving directory `/bld/Across/Across-2.0.0/gcc-stage1-i386'
[-- Attachment #2: Across.spec --]
[-- Type: text/plain, Size: 2117 bytes --]
Name: Across
Version: 2.0.0
Release: %{?release:%{release}}%{!?release:eng}
Summary: uClibc-based development toolchain
Group: Development/Tools
License: GPL
Source0: uClibc-0.9.30.2.tar.bz2
Source1: binutils-2.20.tar.bz2
Source2: gcc-core-4.4.3.tar.bz2
Source3: gmp-4.3.2.tar.bz2
Source4: mpfr-2.4.2.tar.bz2
Source5: kernel-headers-2.6.29.6.tar.bz2
Source10: build.sh
Source11: uclibc-i386.config
Source12: uclibc-x86_64.config
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: quilt
# Disable automatic dependency processing: we don't want to override
# standard system libraries like libresolv.so.0
AutoReqProv: no
# Disable automatic debuginfo package generation and other post-build
# processing, because it does not handle uClibc binaries
%define __spec_install_post %{nil}
%define debug_package %{nil}
%description
This package provides development tools based on the uClibc library, a
space-efficient replacement for glibc.
%prep
%setup -q -c -T -a 0 -a 1 -a 2 -a 3 -a 4 -a 5
ln -s %{_sourcedir} patches
#echo %{PATCHURL1} | tr ' ' '\n' >series
#quilt push -a
cp %{SOURCE10} %{SOURCE11} %{SOURCE12} .
chmod +x build.sh
%build
%{?a4_configure:exit 0}
( cd gmp-4.3.2; ./configure )
make -C gmp-4.3.2 all
( cd mpfr-2.4.2; ./configure --with-gmp-build=../gmp-4.3.2 )
make -C mpfr-2.4.2 all
./build.sh i386 $(pwd)/sysroot-i386 $(pwd)/uClibc-0.9.30.2 $(pwd)/binutils-2.20 $(pwd)/gcc-4.4.3 $(pwd)/gmp-4.3.2 $(pwd)/mpfr-2.4.2 $(pwd)/kernel-headers-2.6.29.6/include &
./build.sh x86_64 $(pwd)/sysroot-x86_64 $(pwd)/uClibc-0.9.30.2 $(pwd)/binutils-2.20 $(pwd)/gcc-4.4.3 $(pwd)/gmp-4.3.2 $(pwd)/mpfr-2.4.2 $(pwd)/kernel-headers-2.6.29.6/include &
wait
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/usr/share/Across
cp -alv sysroot-i386 $RPM_BUILD_ROOT/usr/share/Across/i386-linux-uclibc
cp -alv sysroot-x86_64 $RPM_BUILD_ROOT/usr/share/Across/x86_64-linux-uclibc
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
/usr/share/Across/*
[-- Attachment #3: build.sh --]
[-- Type: text/plain, Size: 2854 bytes --]
#!/bin/bash
#
# Build a gcc + uClibc toolchain
#
# References:
# http://gcc.gnu.org/ml/gcc/2007-08/msg00327.html
# http://busybox.net/~vda/HOWTO/i486-linux-uclibc/HOWTO.txt
# http://wiki.osdev.org/GCC_Cross-Compiler
set -ex
arch=$1
sysroot=$2
uclibc=$3
binutils=$4
gcc=$5
gmp=$6
mpfr=$7
kernel_headers=$8
unset CPATH LIBRARY_PATH INSTALL
PATH=/usr/lib/ccache:/bin:/usr/bin
rm -rf ${sysroot}
mkdir ${sysroot}
ln -s . ${sysroot}/usr
# Link target-specific usr directory to usr, otherwise gcc has trouble finding ld
ln -s . ${sysroot}/usr/${arch}-linux-uclibc
# Install kernel headers
mkdir ${sysroot}/usr/include
cp -pLR ${kernel_headers}/{asm,linux,asm-generic} ${sysroot}/usr/include/
# Build binutils
mkdir binutils-${arch}
( cd binutils-${arch}; ${binutils}/configure --prefix=/usr --target=${arch}-linux-uclibc --with-gmp-include=${gmp} --with-gmp-lib=${gmp}/.libs --with-mpfr-include=${mpfr} --with-mpfr-lib=${mpfr}/.libs --with-sysroot=${sysroot} --program-prefix=${arch}-linux-uclibc- )
make -C binutils-${arch} all install DESTDIR=${sysroot}
# Build stage 1 gcc (required to build uClibc)
mkdir gcc-stage1-${arch}
( cd gcc-stage1-${arch}; ${gcc}/configure --prefix=/usr --target=${arch}-linux-uclibc --enable-languages=c --with-gmp-include=${gmp} --with-gmp-lib=${gmp}/.libs --with-mpfr-include=${mpfr} --with-mpfr-lib=${mpfr}/.libs --disable-shared --disable-nls --disable-multilib --disable-threads --disable-libmudflap --disable-libssp --disable-libgomp --disable-decimal-float --disable-tls --without-headers --with-build-time-tools=${sysroot}/usr/bin --with-gnu-ld )
make -C gcc-stage1-${arch} all-gcc all-target-libgcc install-gcc install-target-libgcc DESTDIR=${sysroot}
# Build uClibc
cp -a ${uclibc} uclibc-${arch}
cp uclibc-${arch}.config uclibc-${arch}/.config
make -C uclibc-${arch} oldconfig
make -C uclibc-${arch} extra/scripts/unifdef
PATH=${sysroot}/usr/bin:${PATH} make -C uclibc-${arch} CROSS=${arch}-linux-uclibc- KERNEL_HEADERS=${sysroot}/usr/include PREFIX=${sysroot} RUNTIME_PREFIX=/ DEVEL_PREFIX=/ RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB= V=1 all install
PATH=${sysroot}/usr/bin:${PATH} make -C uclibc-${arch}/utils CROSS=${arch}-linux-uclibc- KERNEL_HEADERS=${sysroot}/usr/include PREFIX=${sysroot} RUNTIME_PREFIX=/ DEVEL_PREFIX=/ RUNTIME_PREFIX_LIB_FROM_DEVEL_PREFIX_LIB= V=1 hostutils utils_install
# Build final gcc targeting uClibc
mkdir gcc-final-${arch}
( cd gcc-final-${arch}; ${gcc}/configure --prefix=/usr --target=${arch}-linux-uclibc --enable-languages=c --with-sysroot=${sysroot} --with-gmp-include=${gmp} --with-gmp-lib=${gmp}/.libs --with-mpfr-include=${mpfr} --with-mpfr-lib=${mpfr}/.libs --disable-nls --disable-multilib --disable-threads --disable-libgomp --disable-decimal-float --with-build-time-tools=${sysroot}/usr/bin --with-gnu-ld )
make -C gcc-final-${arch} all install DESTDIR=${sysroot}
next prev parent reply other threads:[~2011-02-09 9:02 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-08 0:23 Linux 2.6.38-rc4 Linus Torvalds
2011-02-08 10:17 ` lockdep: possible reason: unannotated irqs-off. (was: Re: Linux 2.6.38-rc4) Borislav Petkov
2011-02-08 10:41 ` Peter Zijlstra
2011-02-08 12:11 ` Yong Zhang
2011-02-08 12:14 ` [PATCH 2/2] timer: use local_bh_enable_force_wake() in del_timer_sync() Yong Zhang
2011-02-08 13:34 ` lockdep: possible reason: unannotated irqs-off. (was: Re: Linux 2.6.38-rc4) Yong Zhang
2011-02-08 13:48 ` Peter Zijlstra
2011-02-08 14:18 ` Peter Zijlstra
2011-02-08 15:15 ` Ingo Molnar
2011-02-08 15:51 ` [tip:core/urgent] Revert "lockdep, timer: Fix del_timer_sync() annotation" tip-bot for Peter Zijlstra
2011-02-09 1:46 ` lockdep: possible reason: unannotated irqs-off. (was: Re: Linux 2.6.38-rc4) Yong Zhang
2011-02-14 14:51 ` Yong Zhang
2011-02-14 18:53 ` Thomas Gleixner
2011-02-08 20:28 ` Heads up Linux 2.6.38-rc4 compile problems Eric W. Biederman
2011-02-08 20:44 ` Linus Torvalds
2011-02-09 9:01 ` Eric W. Biederman [this message]
2011-02-09 14:59 ` Alex Riesen
2011-02-09 16:02 ` Linus Torvalds
2011-02-13 17:39 ` Linus Torvalds
2011-02-14 2:04 ` Eric W. Biederman
2011-02-14 2:45 ` Linus Torvalds
2011-02-14 3:40 ` Eric W. Biederman
2011-02-14 5:34 ` Eric W. Biederman
2011-02-14 15:26 ` Linus Torvalds
2011-02-14 15:37 ` Eric W. Biederman
2011-02-14 16:37 ` Linus Torvalds
2011-02-14 17:39 ` Eric W. Biederman
2011-02-14 17:49 ` Linus Torvalds
2011-02-14 18:08 ` Linus Torvalds
2011-02-14 19:44 ` Eric W. Biederman
2011-02-14 20:13 ` Andrew Morton
2011-02-14 18:25 ` Andi Kleen
2011-02-14 16:58 ` Mike Snitzer
2011-02-15 14:07 ` [Crash-utility] " Dave Anderson
2011-02-09 17:08 ` Linux 2.6.38-rc4 (test_nx: BUG) Randy Dunlap
2011-02-09 17:10 ` Arjan van de Ven
2011-02-17 19:33 ` Kees Cook
2011-02-09 17:24 ` Linux 2.6.38-rc4 (hysdn: BUG) Randy Dunlap
2011-02-09 17:24 ` Randy Dunlap
2011-02-09 19:44 ` Linus Torvalds
2011-02-09 21:25 ` Randy Dunlap
2011-02-09 21:57 ` David Miller
2011-02-09 22:00 ` Linus Torvalds
2011-02-09 17:26 ` Linux 2.6.38-rc4 (tty/ifx6x60: BUG) Randy Dunlap
2011-02-09 18:28 ` Alan Cox
2011-02-09 17:28 ` Linux 2.6.38-rc4 (target_core: rmmod GP fault) Randy Dunlap
2011-02-09 17:28 ` Randy Dunlap
2011-02-09 19:00 ` Linus Torvalds
2011-02-09 20:02 ` Nicholas A. Bellinger
2011-02-09 20:13 ` James Bottomley
2011-02-09 20:20 ` Nicholas A. Bellinger
2011-02-09 20:28 ` James Bottomley
2011-02-09 20:44 ` Nicholas A. Bellinger
2011-02-09 17:36 ` Linux 2.6.38-rc4 (other bugs) Randy Dunlap
2011-02-09 22:01 ` David Miller
2011-02-09 22:16 ` Randy Dunlap
2011-02-10 4:58 ` Linux 2.6.38-rc4 (other bugs: x25) Randy Dunlap
2011-02-10 5:48 ` David Miller
2011-02-10 6:29 ` Randy Dunlap
2011-02-10 6:35 ` David Miller
2011-02-10 19:34 ` Linux 2.6.38-rc4 (other bugs: ipmi Oops) Randy Dunlap
2011-02-10 20:03 ` Linus Torvalds
2011-02-10 20:08 ` Corey Minyard
2011-02-10 21:41 ` Randy Dunlap
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=m1bp2ly41q.fsf@fess.ebiederm.org \
--to=ebiederm@xmission.com \
--cc=davem@davemloft.net \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/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.