public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* More s/390 bugs.
@ 2001-06-05  8:58 schwidefsky
  2001-06-05  9:07 ` Andreas Jaeger
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: schwidefsky @ 2001-06-05  8:58 UTC (permalink / raw)
  To: binutils

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 861 bytes --]

Hi,
running "make check" revealed three more bugs in the s/390 backend. One is
important:

2001-06-05  Martin Schwidefsky <schwidefsky@de.ibm.com>

     * config/tc-s390.h (TC_FORCE_RELOCATION): Always emit relocations
     BFD_RELOC_VTABLE_INHERIT and BFD_RELOC_VTABLE_ENTRY.

and with the other two fixes make check runs without errors:

2001-06-05  Martin Schwidefsky <schwidefsky@de.ibm.com>

     * configure.host: Set HOSTING_CRT0/HOSTING_LIBS correctly for s/390.
     * testsuite/ld-undefined/undefined.exp: Add a setup_xfail line
     for a test that will always fail on s/390.


(See attached file: vtable-reloc.diff)(See attached file: makecheck.diff)

blue skies,
   Martin

Linux/390 Design & Development, IBM Deutschland Entwicklung GmbH
Schönaicherstr. 220, D-71032 Böblingen, Telefon: 49 - (0)7031 - 16-2247
E-Mail: schwidefsky@de.ibm.com

[-- Attachment #2: makecheck.diff --]
[-- Type: text/x-diff, Size: 2839 bytes --]

diff -urN src/ld/configure.host src-s390/ld/configure.host
--- src/ld/configure.host	Fri Jun  1 10:39:09 2001
+++ src-s390/ld/configure.host	Tue Jun  5 16:04:29 2001
@@ -189,12 +189,12 @@
   HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` -lc `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} --print-file-name=crtend.o; fi` /usr/lib/crtn.o'
   ;;
 
-s390x-*-linux)
-  HOSTING_CRT0='-dynamic-linker /lib/ld.so.1 /usr/lib/crt1.o /usr/lib/crti.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; elif [ -f /usr/lib/crtbegin.o ]; then echo /usr/lib/crtbegin.o; else gcc --print-file-name=crtbegin.o; fi`'
+s390x-*-linux-gnu*)
+  HOSTING_CRT0='-dynamic-linker /lib/ld64.so.1 /usr/lib/crt1.o /usr/lib/crti.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; elif [ -f /usr/lib/crtbegin.o ]; then echo /usr/lib/crtbegin.o; else gcc --print-file-name=crtbegin.o; fi`'
   HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; elif [ -f /usr/lib/crtend.o ]; then echo /usr/lib/crtend.o; else gcc --print-file-name=crtend.o; fi` /usr/lib/crtn.o'
   ;;
 
-s390-*-linux)
+s390-*-linux-gnu*)
   HOSTING_CRT0='-dynamic-linker /lib/ld.so.1 /usr/lib/crt1.o /usr/lib/crti.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; elif [ -f /usr/lib/crtbegin.o ]; then echo /usr/lib/crtbegin.o; else gcc --print-file-name=crtbegin.o; fi`'
   HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` -lc `if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else gcc -print-libgcc-file-name; fi` `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; elif [ -f /usr/lib/crtend.o ]; then echo /usr/lib/crtend.o; else gcc --print-file-name=crtend.o; fi` /usr/lib/crtn.o'
   ;;
diff -urN src/ld/testsuite/ld-undefined/undefined.exp src-s390/ld/testsuite/ld-undefined/undefined.exp
--- src/ld/testsuite/ld-undefined/undefined.exp	Fri Apr  6 10:21:13 2001
+++ src-s390/ld/testsuite/ld-undefined/undefined.exp	Tue Jun  5 16:04:29 2001
@@ -135,4 +135,11 @@
 setup_xfail mcore-*-elf
 setup_xfail mips-sgi-irix6*
 
+# The undefined test fails on 31 bit s/390 because the address of the 
+# function `this_function_is_not_defined' is stored in the literal pool of
+# the function. Therefore the line number in the error message is 8 instead
+# of 9. On 64 bit s/390 this works because of the new brasl instruction that
+# doesn't need a literal pool entry.
+setup_xfail s390-*-elf
+
 checkund $ml $testline

[-- Attachment #3: vtable-reloc.diff --]
[-- Type: text/x-diff, Size: 713 bytes --]

diff -urN src/gas/config/tc-s390.h src-s390/gas/config/tc-s390.h
--- src/gas/config/tc-s390.h	Tue Mar 27 10:19:29 2001
+++ src-s390/gas/config/tc-s390.h	Tue Jun  5 16:04:29 2001
@@ -44,6 +44,14 @@
            && S_IS_DEFINED ((FIX)->fx_addsy)      \
            && ! S_IS_COMMON ((FIX)->fx_addsy))))
 
+#define TC_FORCE_RELOCATION(FIXP)	\
+  ((FIXP)->fx_r_type == BFD_RELOC_VTABLE_INHERIT	\
+   || (FIXP)->fx_r_type == BFD_RELOC_VTABLE_ENTRY)
+
+#define TC_FORCE_RELOCATION(FIXP)       \
+  ((FIXP)->fx_r_type == BFD_RELOC_VTABLE_INHERIT	\
+   || (FIXP)->fx_r_type == BFD_RELOC_VTABLE_ENTRY)
+
 #define tc_fix_adjustable(X)  tc_s390_fix_adjustable(X)
 extern int tc_s390_fix_adjustable PARAMS ((struct fix *));
 

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: More s/390 bugs.
  2001-06-05  8:58 More s/390 bugs schwidefsky
@ 2001-06-05  9:07 ` Andreas Jaeger
  2001-06-06  5:20 ` Alan Modra
  2001-06-12  3:00 ` Andreas Jaeger
  2 siblings, 0 replies; 10+ messages in thread
From: Andreas Jaeger @ 2001-06-05  9:07 UTC (permalink / raw)
  To: schwidefsky; +Cc: binutils

On Tue, Jun 05, 2001 at 04:17:56PM +0200, schwidefsky@de.ibm.com wrote:
> 
> 
> 
> Hi,
> running "make check" revealed three more bugs in the s/390 backend. One is
> important:
> 
> 2001-06-05  Martin Schwidefsky <schwidefsky@de.ibm.com>
> 
>      * config/tc-s390.h (TC_FORCE_RELOCATION): Always emit relocations
>      BFD_RELOC_VTABLE_INHERIT and BFD_RELOC_VTABLE_ENTRY.

your patch has a double definition of:
TC_FORCE_RELOCATION(FIXP)

Shouldn't one of them get removed?

Andreas
-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de
   private aj@arthur.inka.de
    http://www.suse.de/~aj

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: More s/390 bugs.
  2001-06-05  8:58 More s/390 bugs schwidefsky
  2001-06-05  9:07 ` Andreas Jaeger
@ 2001-06-06  5:20 ` Alan Modra
  2001-06-12  3:00 ` Andreas Jaeger
  2 siblings, 0 replies; 10+ messages in thread
From: Alan Modra @ 2001-06-06  5:20 UTC (permalink / raw)
  To: schwidefsky; +Cc: binutils

On Tue, Jun 05, 2001 at 04:17:56PM +0200, schwidefsky@de.ibm.com wrote:
> 
>      * config/tc-s390.h (TC_FORCE_RELOCATION): Always emit relocations
>      BFD_RELOC_VTABLE_INHERIT and BFD_RELOC_VTABLE_ENTRY.

Committed updated version.

>      * configure.host: Set HOSTING_CRT0/HOSTING_LIBS correctly for s/390.
>      * testsuite/ld-undefined/undefined.exp: Add a setup_xfail line
>      for a test that will always fail on s/390.

Committed.

-- 
Alan Modra

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: More s/390 bugs.
  2001-06-05  8:58 More s/390 bugs schwidefsky
  2001-06-05  9:07 ` Andreas Jaeger
  2001-06-06  5:20 ` Alan Modra
@ 2001-06-12  3:00 ` Andreas Jaeger
  2 siblings, 0 replies; 10+ messages in thread
From: Andreas Jaeger @ 2001-06-12  3:00 UTC (permalink / raw)
  To: schwidefsky; +Cc: binutils

schwidefsky@de.ibm.com writes:

> Hi,
> running "make check" revealed three more bugs in the s/390 backend. One is
> important:
> 
> 2001-06-05  Martin Schwidefsky <schwidefsky@de.ibm.com>
> 
>      * config/tc-s390.h (TC_FORCE_RELOCATION): Always emit relocations
>      BFD_RELOC_VTABLE_INHERIT and BFD_RELOC_VTABLE_ENTRY.
> 
> and with the other two fixes make check runs without errors:
> 
> 2001-06-05  Martin Schwidefsky <schwidefsky@de.ibm.com>
> 
>      * configure.host: Set HOSTING_CRT0/HOSTING_LIBS correctly for s/390.
>      * testsuite/ld-undefined/undefined.exp: Add a setup_xfail line
>      for a test that will always fail on s/390.

Martin, are you sure that the setup_xfail line is correct? It
currently is:
setup_xfail s390-*-elf

But I think it should s390-*-linux (or even s390-*-*), otherwise it
fails for me on s390-linux.

What do you think?

Andreas
-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de
   private aj@arthur.inka.de
    http://www.suse.de/~aj

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: More s/390 bugs.
  2001-06-12  7:52 schwidefsky
  2001-06-12  7:59 ` Andreas Jaeger
@ 2001-06-12  9:03 ` Nick Clifton
  1 sibling, 0 replies; 10+ messages in thread
From: Nick Clifton @ 2001-06-12  9:03 UTC (permalink / raw)
  To: schwidefsky; +Cc: Andreas Jaeger, binutils

Hi Martin,

> Hmm, this time it failed for my too. Very strange, how did I managed
> to get around this test in the first place? Oh well, we better use
> the rule s390-*-* in this case.
> 
> ChangeLog and patch follows:
> 
> 2001-06-12  Martin Schwidefsky <schwidefsky@de.ibm.com>
> 
>      * testsuite/ld-undefined/undefined.exp: Correct setup_xfail rule.

Approved and applied.

Cheers
        Nick

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: More s/390 bugs.
  2001-06-12  7:52 schwidefsky
@ 2001-06-12  7:59 ` Andreas Jaeger
  2001-06-12  9:03 ` Nick Clifton
  1 sibling, 0 replies; 10+ messages in thread
From: Andreas Jaeger @ 2001-06-12  7:59 UTC (permalink / raw)
  To: schwidefsky; +Cc: binutils

schwidefsky@de.ibm.com writes:

>>Yes, I have problems.  How do you configure binutils?  What's the
>>output of config.guess on your 31-bit S390?
> 
> Hmm, this time it failed for my too. Very strange, how did I managed
> to get around this test in the first place? Oh well, we better use

That's what I also didn't understand ;-)

> the rule s390-*-* in this case.

Thanks,
Andreas
-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de
   private aj@arthur.inka.de
    http://www.suse.de/~aj

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: More s/390 bugs.
@ 2001-06-12  7:52 schwidefsky
  2001-06-12  7:59 ` Andreas Jaeger
  2001-06-12  9:03 ` Nick Clifton
  0 siblings, 2 replies; 10+ messages in thread
From: schwidefsky @ 2001-06-12  7:52 UTC (permalink / raw)
  To: Andreas Jaeger; +Cc: binutils

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 677 bytes --]

>Yes, I have problems.  How do you configure binutils?  What's the
>output of config.guess on your 31-bit S390?

Hmm, this time it failed for my too. Very strange, how did I managed
to get around this test in the first place? Oh well, we better use
the rule s390-*-* in this case.

ChangeLog and patch follows:

2001-06-12  Martin Schwidefsky <schwidefsky@de.ibm.com>

     * testsuite/ld-undefined/undefined.exp: Correct setup_xfail rule.

(See attached file: setup_xfail.diff)

blue skies,
   Martin

Linux/390 Design & Development, IBM Deutschland Entwicklung GmbH
Schönaicherstr. 220, D-71032 Böblingen, Telefon: 49 - (0)7031 - 16-2247
E-Mail: schwidefsky@de.ibm.com

[-- Attachment #2: setup_xfail.diff --]
[-- Type: text/x-diff, Size: 436 bytes --]

--- src/ld/testsuite/ld-undefined/undefined.exp	Tue Jun 12 16:31:43 2001
+++ src-s390/ld/testsuite/ld-undefined/undefined.exp	Tue Jun 12 16:31:51 2001
@@ -140,6 +140,6 @@
 # the function. Therefore the line number in the error message is 8 instead
 # of 9. On 64 bit s/390 this works because of the new brasl instruction that
 # doesn't need a literal pool entry.
-setup_xfail s390-*-elf
+setup_xfail s390-*-*
 
 checkund $ml $testline

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: More s/390 bugs.
  2001-06-12  4:10 schwidefsky
@ 2001-06-12  4:45 ` Andreas Jaeger
  0 siblings, 0 replies; 10+ messages in thread
From: Andreas Jaeger @ 2001-06-12  4:45 UTC (permalink / raw)
  To: schwidefsky; +Cc: binutils

schwidefsky@de.ibm.com writes:

>>Martin, are you sure that the setup_xfail line is correct? It
>>currently is:
>>setup_xfail s390-*-elf
>>
>>But I think it should s390-*-linux (or even s390-*-*), otherwise it
>>fails for me on s390-linux.
> The problem has gone away after I added this line. At least on my
> system with my setup. So the line doesn't seem to be incorrect.
> Do you have problems with it ?

Yes, I have problems.  How do you configure binutils?  What's the
output of config.guess on your 31-bit S390?

Andreas
-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de
   private aj@arthur.inka.de
    http://www.suse.de/~aj

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: More s/390 bugs.
@ 2001-06-12  4:10 schwidefsky
  2001-06-12  4:45 ` Andreas Jaeger
  0 siblings, 1 reply; 10+ messages in thread
From: schwidefsky @ 2001-06-12  4:10 UTC (permalink / raw)
  To: Andreas Jaeger; +Cc: binutils

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 562 bytes --]

>Martin, are you sure that the setup_xfail line is correct? It
>currently is:
>setup_xfail s390-*-elf
>
>But I think it should s390-*-linux (or even s390-*-*), otherwise it
>fails for me on s390-linux.
The problem has gone away after I added this line. At least on my
system with my setup. So the line doesn't seem to be incorrect.
Do you have problems with it ?

blue skies,
   Martin

Linux/390 Design & Development, IBM Deutschland Entwicklung GmbH
Schönaicherstr. 220, D-71032 Böblingen, Telefon: 49 - (0)7031 - 16-2247
E-Mail: schwidefsky@de.ibm.com


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: More s/390 bugs.
@ 2001-06-05 10:06 schwidefsky
  0 siblings, 0 replies; 10+ messages in thread
From: schwidefsky @ 2001-06-05 10:06 UTC (permalink / raw)
  To: Andreas Jaeger; +Cc: binutils

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 589 bytes --]

>your patch has a double definition of:
>TC_FORCE_RELOCATION(FIXP)
>
>Shouldn't one of them get removed?

Oops, must have hit ctrl-y twice ... here is new patch:

2001-06-05  Martin Schwidefsky <schwidefsky@de.ibm.com>

     * config/tc-s390.h (TC_FORCE_RELOCATION): Always emit relocations
     BFD_RELOC_VTABLE_INHERIT and BFD_RELOC_VTABLE_ENTRY.


(See attached file: vtable-reloc.diff)


blue skies,
   Martin

Linux/390 Design & Development, IBM Deutschland Entwicklung GmbH
Schönaicherstr. 220, D-71032 Böblingen, Telefon: 49 - (0)7031 - 16-2247
E-Mail: schwidefsky@de.ibm.com

[-- Attachment #2: vtable-reloc.diff --]
[-- Type: text/x-diff, Size: 570 bytes --]

diff -urN src/gas/config/tc-s390.h src-s390/gas/config/tc-s390.h
--- src/gas/config/tc-s390.h	Tue Mar 27 10:19:29 2001
+++ src-s390/gas/config/tc-s390.h	Tue Jun  5 16:04:29 2001
@@ -44,6 +44,10 @@
            && S_IS_DEFINED ((FIX)->fx_addsy)      \
            && ! S_IS_COMMON ((FIX)->fx_addsy))))
 
+#define TC_FORCE_RELOCATION(FIXP)       \
+  ((FIXP)->fx_r_type == BFD_RELOC_VTABLE_INHERIT	\
+   || (FIXP)->fx_r_type == BFD_RELOC_VTABLE_ENTRY)
+
 #define tc_fix_adjustable(X)  tc_s390_fix_adjustable(X)
 extern int tc_s390_fix_adjustable PARAMS ((struct fix *));
 

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2001-06-12  9:03 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-06-05  8:58 More s/390 bugs schwidefsky
2001-06-05  9:07 ` Andreas Jaeger
2001-06-06  5:20 ` Alan Modra
2001-06-12  3:00 ` Andreas Jaeger
2001-06-05 10:06 schwidefsky
2001-06-12  4:10 schwidefsky
2001-06-12  4:45 ` Andreas Jaeger
2001-06-12  7:52 schwidefsky
2001-06-12  7:59 ` Andreas Jaeger
2001-06-12  9:03 ` Nick Clifton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).