This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Some ppc fixes breaks on sparc


On Sun, Nov 09, 2003 at 05:42:26PM +0200, Martin Schlemmer wrote:
> http://sources.redhat.com/ml/binutils/2003-11/msg00069.html
> http://sources.redhat.com/ml/binutils/2003-11/msg00077.html
> http://sources.redhat.com/ml/binutils/2003-11/msg00082.html
> 
> from Alan Modra breaks sparc - basically ld quits all the time
> (even with simple helloworld.c) with SIGBUS signal.
> 
> If you want the specific one, we can try to track it further.

It can't be the last two, they only touch ppc.  sparc or sparc64?
I'm a bit surprised my patch broke anything, as I didn't make it in a
hurry, and ran the binutils testsuite for most of the affected
architectures.  sparc-linux and sparc64-linux were among the targets
tested.  Do you have local patches to any of the files listed in the
first ChangeLog?

A general note I whink we should add to binutils/README.  Nick, what do
you think of the following?

When reporting problems about gas and ld, it's useful to provide a
testcase that triggers the problem.  In the case of a gas problem, we
want input files to gas and command line switches used.  The inputs to
gas are _not_ .c or .i files, but rather .s files.  If your original
source was a C program, you can generate the .s file and see the command
line options by passing -v -save-temps to gcc in addition to all the
usual options you use.  The reason we don't want C files is that we
might not have a C compiler around for the target you use.  While it
might be possible to build a compiler, that takes considerable time and
disk space, and we might not end up with exactly the same compiler you
use.

In the case of a ld problem, the input files are .o, .a and .so files,
and possibly a linker script specified with -T.  Again, when using gcc
to link, you can see these files by adding options to the gcc command
line.  Use -v -save-temps -Wl,-t, except that on targets that use gcc's
collect2, you would add -v -save-temps -Wl,-t,-debug.  The -t option
tells ld to print all files and libraries used, so that, for example,
you can associate -lc on the ld command line with the actual libc used.
Note that your simple two line C program to trigger a problem typically
expands into several megabytes of objects by the time you include
libraries.  It is antisocial to post megabyte sized attachments to
mailing lists, so please put large ld testcases somewhere on an ftp or
web site so that only interested developers need to download them, or
offer to email them on request.  Better still, try to reduce the
testcase to not use system libraries.

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]