[ Pobierz całość w formacie PDF ]

You can find contact information for many support companies and individuals in the file
etc/SERVICE in the gnu Emacs distribution.
Otherwise, send bug reports for ld to bug-binutils@gnu.org.
The fundamental principle of reporting bugs usefully is this: report all the facts. If you are not sure
whether to state a fact or leave it out, state it!
Often people omit facts because they think they know what causes the problem and assume that some
details do not matter. Thus, you might assume that the name of a symbol you use in an example does
not matter. Well, probably it does not, but one cannot be sure. Perhaps the bug is a stray memory
reference which happens to fetch from the location where that name is stored in memory; perhaps, if
the name were different, the contents of that location would fool the linker into doing the right thing
despite the bug. Play it safe and give a specific, complete example. That is the easiest thing for you to
do, and the most helpful.
Keep in mind that the purpose of a bug report is to enable us to fix the bug if it is new to us. Therefore,
always write your bug reports on the assumption that the bug has not been reported previously.
Sometimes people give a few sketchy facts and ask, "Does this ring a bell?" This cannot help us fix
a bug, so it is basically useless. We respond by asking for enough details to enable us to investigate.
You might as well expedite matters by sending them to begin with.
To enable us to fix the bug, you should include all these things:
" The version of ld. ld announces it if you start it with the -version argument.
72 Chapter 7. Reporting Bugs
Without this, we will not know whether there is any point in looking for the bug in the current
version of ld.
" Any patches you may have applied to the ld source, including any patches made to the BFD library.
" The type of machine you are using, and the operating system name and version number.
" What compiler (and its version) was used to compile ld--e.g. "gcc-2.7".
" The command arguments you gave the linker to link your example and observe the bug. To guaran-
tee you will not omit something important, list them all. A copy of the Makefile (or the output from
make) is sufficient.
If we were to try to guess the arguments, we would probably guess wrong and then we might not
encounter the bug.
" A complete input file, or set of input files, that will reproduce the bug. It is generally most helpful
to send the actual object files provided that they are reasonably small. Say no more than 10K. For
bigger files you can either make them available by FTP or HTTP or else state that you are willing
to send the object file(s) to whomever requests them. (Note - your email will be going to a mailing
list, so we do not want to clog it up with large attachments). But small attachments are best.
If the source files were assembled using gas or compiled using gcc, then it may be OK to send the
source files rather than the object files. In this case, be sure to say exactly what version of gas or
gcc was used to produce the object files. Also say how gas or gcc were configured.
" A description of what behavior you observe that you believe is incorrect. For example, "It gets a
fatal signal."
Of course, if the bug is that ld gets a fatal signal, then we will certainly notice it. But if the bug is
incorrect output, we might not notice unless it is glaringly wrong. You might as well not give us a
chance to make a mistake.
Even if the problem you experience is a fatal signal, you should still say so explicitly. Suppose
something strange is going on, such as, your copy of ld is out of synch, or you have encountered a
bug in the C library on your system. (This has happened!) Your copy might crash and ours would
not. If you told us to expect a crash, then when ours fails to crash, we would know that the bug was
not happening for us. If you had not told us to expect a crash, then we would not be able to draw
any conclusion from our observations.
" If you wish to suggest changes to the ld source, send us context diffs, as generated by diff with
the -u, -c, or -p option. Always send diffs from the old file to the new file. If you even discuss
something in the ld source, refer to it by context, not by line number.
The line numbers in our development sources will not match those in your sources. Your line
numbers would convey no useful information to us.
Here are some things that are not necessary:
" A description of the envelope of the bug.
Often people who encounter a bug spend a lot of time investigating which changes to the input file
will make the bug go away and which changes will not affect it.
This is often time consuming and not very useful, because the way we will find the bug is by
running a single example under the debugger with breakpoints, not by pure deduction from a series [ Pobierz całość w formacie PDF ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • arachnea.htw.pl