@c Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
@c 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
@c This is part of the GCC manual.
@c For copying conditions, see the file gcc.texi.

@node Service
@chapter How To Get Help with GCC

If you need help installing, using or changing GCC, there are two
ways to find it:

@itemize @bullet
@item
Send a message to a suitable network mailing list.  First try
@email{gcc-help@@gcc.gnu.org} (for help installing or using GCC), and if
that brings no response, try @email{gcc@@gcc.gnu.org}.  For help
changing GCC, ask @email{gcc@@gcc.gnu.org}.  If you think you have found
a bug in GCC, please report it following the instructions at
@pxref{Bug Reporting}.

@item
Look in the service directory for someone who might help you for a fee.
The service directory is found at
@uref{http://www.gnu.org/prep/service.html}.
@end itemize

For further information, see
@uref{http://gcc.gnu.org/faq.html#support}.
