Linux PARISC architecture development
 help / color / mirror / Atom feed
* [parisc-linux] pa reload problem
@ 2000-12-01  0:23 Alan Modra
  2000-12-01  6:12 ` John David Anglin
  0 siblings, 1 reply; 224+ messages in thread
From: Alan Modra @ 2000-12-01  0:23 UTC (permalink / raw)
  To: John David Anglin, Jeffrey A Law; +Cc: Richard Hirst, parisc-linux

Hi Dave, Jeff,
  This little testcase triggers a bug on hppa64.  It's been around for
quite a while, so it's not something due to Dave's recent changes.

*******
extern void foo (int);
extern unsigned int cpu_hz;

int hppa_dp_bug (void)
{
  foo (42);
  return (5 * ((unsigned long)cpu_hz / 1000000UL));
}
*******

-O2 generates code like

        b,l foo,%r2
        copy %r27,%r4
        addil LT'cpu_hz,%r4	! know r27 trashed in call, so use r4
        ldd RT'cpu_hz(%r1),%r1
        ldd -144(%r30),%r2
        ldw 0(%r1),%r19
        addil LT'L$C0000,%r27	! oops, should be using r4
        ldd RT'L$C0000(%r1),%r1

The bad code codes from config/pa/pa.c:legitimize_pic_address

  if (GET_CODE (orig) == SYMBOL_REF)
    {
      if (reg == 0)
	abort ();

      if (flag_pic == 2)
	{
	  emit_move_insn (reg,
			  gen_rtx_PLUS (word_mode, pic_offset_table_rtx,
					gen_rtx_HIGH (word_mode, orig)));

To fix the problem, it seems to me that we should be testing whether
pic_offset_table_rtx is valid at this point, and if not, use the saved reg
instead.  I'm not exactly sure how to go about testing whether r27 is
valid here, and I'm sure one of you can point me in the right direction.

Alan Modra
-- 
Linuxcare.  Support for the Revolution.

^ permalink raw reply	[flat|nested] 224+ messages in thread
[parent not found: <20001201202613.E7166@linuxcare.com>]

end of thread, other threads:[~2010-03-23 22:23 UTC | newest]

Thread overview: 224+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <no.id>
1999-06-10 18:32 ` [parisc-linux] booting problems Stan Sieler
1999-06-21 17:03 ` Hack to head.S John David Anglin
1999-06-21 19:38 ` John David Anglin
2000-10-11 20:11 ` [parisc-linux] __hp9000s700 predefined John David Anglin
2000-11-09 17:39 ` testcase for hppa64 gcc bug John David Anglin
2000-12-06  4:12   ` Jeffrey A Law
2000-12-06  4:14     ` John David Anglin
2000-12-06  5:28       ` Alan Modra
2001-02-01  1:19         ` [parisc-linux] " Jeffrey A Law
2000-11-09 23:57 ` abort in eliminate_regs compiling glob.c from glibc John David Anglin
2000-11-10  0:36   ` Alan Modra
2000-11-10  2:50     ` John David Anglin
2000-11-14 21:40   ` John David Anglin
2001-01-27 20:12     ` Richard Henderson
2000-12-14  0:48 ` pa reload problem John David Anglin
2000-12-14  3:43   ` Jeffrey A Law
2000-12-14 16:40     ` John David Anglin
2000-12-27 20:08       ` Jeffrey A Law
2000-12-28  5:18         ` John David Anglin
2000-12-16 20:38     ` [parisc-linux] PATCH: Adjust label usage count for new insns [was Re: pa reload problem] John David Anglin
2001-01-02  9:51       ` Jeffrey A Law
2002-01-07 18:39 ` [parisc-linux] PIC assembly John David Anglin
2002-01-09  1:05   ` Grant Grundler
2002-01-11 20:45     ` Grant Grundler
2002-07-15 17:21 ` [parisc-linux] compiling kernels with gcc-3.1 John David Anglin
2002-07-15 17:32   ` Randolph Chung
2002-07-15 17:43     ` Matthew Wilcox
2002-07-15 18:18       ` John David Anglin
2002-07-16  9:02   ` joel.soete
2002-07-16 17:01 ` [parisc-linux] gcc-3.[02] alignment problem John David Anglin
2002-07-16 17:22   ` Randolph Chung
2002-07-16 17:22   ` Randolph Chung
2002-07-16 17:24     ` Matthew Wilcox
2002-07-17  3:19       ` Randolph Chung
2002-07-17  3:19       ` Randolph Chung
2002-07-16 17:24     ` Matthew Wilcox
2002-07-16 20:21     ` Richard Henderson
2002-07-16 20:21     ` Richard Henderson
2002-07-16 17:01 ` John David Anglin
2002-07-16 17:27 ` [parisc-linux] gcc-3.2 bootstrap? John David Anglin
2003-01-31 21:27 ` [parisc-linux] PATCH hppa ordered load absolute ops John David Anglin
2003-01-31 21:27 ` John David Anglin
2003-08-31 19:10 ` [parisc-linux] Re: [glibc] tststatic failues, reduced to simp le testcase John David Anglin
2003-08-31 20:22   ` Carlos O'Donell
2003-08-31 20:47     ` John David Anglin
2003-09-01  6:05       ` Carlos O'Donell
2003-12-15 22:05 ` [parisc-linux] dlopen failed on 'libthread_db.so.1' - /lib/libthread_db.so.1: undefined symbol: ps_pglobal_lookup John David Anglin
2003-12-17 15:32   ` [parisc-linux] " Carlos O'Donell
2003-12-17 15:53     ` Carlos O'Donell
2003-12-17 16:43       ` [parisc-linux] Re: dlopen failed on 'libthread_db.so.1' - John David Anglin
2003-12-17 18:35         ` Carlos O'Donell
2003-12-18  0:21           ` John David Anglin
2003-12-18  0:32 ` John David Anglin
2003-12-18  0:42   ` [parisc-linux] Re: dlopen failed on 'libthread_db.so.1' -g John David Anglin
2004-01-07 21:14 ` [parisc-linux] [Testers wanted] New glibc with profiling fixed John David Anglin
2004-01-07 21:14 ` John David Anglin
2004-08-31  4:23 ` [parisc-linux] Re: linux signal race fixes, patches against hppa tree, please test John David Anglin
2004-08-31 20:43   ` [parisc-linux] Re: linux signal race fixes, patches against hppa tree, please te John David Anglin
2004-09-01 20:08     ` John David Anglin
2004-09-11  7:24       ` [parisc-linux] Another SIGSEGV, this time in /bin/sh John David Anglin
2004-09-13 15:01         ` [parisc-linux] " Carlos O'Donell
2004-09-02  6:29     ` [parisc-linux] Re: linux signal race fixes, patches against hppa tree, please te Carlos O'Donell
2005-03-05 21:53 ` [parisc-linux] Re: Comments? John David Anglin
2005-03-06  0:22   ` John David Anglin
2005-03-08 17:32     ` Carlos O'Donell
2005-03-08 17:44       ` John David Anglin
2005-03-08 17:54         ` Carlos O'Donell
2005-03-08 19:02           ` John David Anglin
2005-03-08 21:08             ` [parisc-linux] OPD's on hppa-linux, and what to do about __cffc's fragility Carlos O'Donell
2005-03-08 21:48               ` [parisc-linux] " John David Anglin
2005-03-08 21:52                 ` John David Anglin
2005-03-08 22:25               ` Alan Modra
2005-03-10 15:31                 ` Carlos O'Donell
2005-03-10 22:27                   ` Alan Modra
2005-03-11 18:05                     ` [parisc-linux] Solution to OPD's in hppa-linux, including a transition plan? Carlos O'Donell
2005-03-12  0:49                       ` [parisc-linux] " John David Anglin
     [not found]                         ` <20050315220842.GC22872@baldric.uwo.ca>
     [not found]                           ` <20050315224142.GC21148@bubble.modra.org>
2005-03-16 20:36                             ` Carlos O'Donell
2005-03-16 23:54                               ` Alan Modra
     [not found]                           ` <200503160410.j2G4ALcu021219@hiauly1.hia.nrc.ca>
2005-03-16 21:37                             ` Carlos O'Donell
2005-03-17  3:51                               ` John David Anglin
2005-07-16  2:55 ` [parisc-linux] Re: Non-inline math, and inline math broken, GCC to blame? (1 hppa tls toolchain regression) John David Anglin
2005-07-16 16:16   ` Carlos O'Donell
2005-07-16 17:37     ` John David Anglin
2005-07-16 17:54       ` John David Anglin
2005-07-16 19:41         ` Carlos O'Donell
2005-07-16 19:56           ` John David Anglin
2005-07-16 19:15       ` Carlos O'Donell
2005-08-16  3:32 ` [parisc-linux] Re: gsyprf11 and 2.6.13-rc3-pa1 John David Anglin
2005-12-26 19:58 ` [parisc-linux] strtold John David Anglin
2006-01-07 21:07   ` [parisc-linux] strtold Carlos O'Donell
2006-01-07 22:41     ` John David Anglin
2006-01-07 23:42       ` Carlos O'Donell
2006-01-07 23:49         ` John David Anglin
2006-01-07 23:56         ` John David Anglin
2006-01-08  4:28         ` Grant Grundler
2005-12-26 21:54 ` [parisc-linux] Re: nscd: error while loading shared libraries: unexpected reloc type 0x42 John David Anglin
2006-01-07 23:53   ` Carlos O'Donell
2006-01-08  0:16     ` [parisc-linux] Re: nscd: error while loading shared libraries: John David Anglin
2006-02-04 23:41 ` [parisc-linux] long double on hppa64-*-linux* John David Anglin
2006-02-05  0:45   ` Grant Grundler
2006-02-05  3:42     ` John David Anglin
2006-03-12 20:15 ` [parisc-linux] Re: gcj can't make shared libs on hppa John David Anglin
2006-03-13 14:24   ` Carlos O'Donell
2006-03-13 20:50     ` John David Anglin
2006-06-09  0:56 ` [parisc-linux] User space locks -- what's wrong John David Anglin
2007-01-03  1:41 ` [parisc-linux] Re: PA8800 Status (Happy New Year) John David Anglin
2007-01-03  4:24 ` John David Anglin
2007-02-17 20:32 ` [parisc-linux] Re: call_init in libc6 2.3.6.ds1-11 John David Anglin
2007-09-04  1:19 ` [parisc-linux] 2.6.23-rc5 warnings John David Anglin
2008-08-23 16:48 ` X won't start with VisEG and 2.6.22.19 John David Anglin
2008-08-24 10:35   ` Helge Deller
2008-08-24 14:09     ` John David Anglin
2008-08-24 14:38       ` Helge Deller
2009-05-03  0:48 ` Kernel Panic during init with 2.6.29-gb609308 (fresh clone of git John David Anglin
2009-08-23 21:21 ` Reproducible random python crash John David Anglin
2009-12-23 22:18 ` futex wait failure John David Anglin
2009-12-24  2:22   ` Carlos O'Donell
2009-12-28 18:59     ` John David Anglin
2009-12-29 13:47       ` Helge Deller
2009-12-29 15:00         ` John David Anglin
2009-12-30 10:49           ` Randolph Chung
2009-12-31 18:14         ` Carlos O'Donell
2009-12-31 19:11           ` Helge Deller
2010-01-01  3:49             ` John David Anglin
2010-01-01  5:02               ` John David Anglin
2010-01-04 16:27               ` Helge Deller
2010-01-04 17:16                 ` Carlos O'Donell
2010-01-04 18:11                   ` John David Anglin
2010-01-04 18:29                     ` John David Anglin
2010-01-04 20:51                     ` Helge Deller
2010-01-04 21:39                       ` John David Anglin
2010-01-05 22:27                       ` John David Anglin
2010-01-06 23:33                         ` John David Anglin
2010-01-07 16:13                           ` Helge Deller
2010-01-08 16:37                             ` John David Anglin
2010-01-08 21:17                               ` John David Anglin
2010-02-02 21:16                                 ` Helge Deller
2010-02-03  3:44                                   ` John David Anglin
2010-02-03 22:03                                     ` Helge Deller
2010-03-07 17:12                                       ` John David Anglin
2010-03-07 20:32                                         ` John David Anglin
2010-03-11  3:20                                           ` John David Anglin
2010-03-11 13:54                                             ` Kyle McMartin
2010-03-11 22:40                                               ` John David Anglin
2010-03-11 23:32                                                 ` John David Anglin
2010-03-13  2:06                                                 ` John David Anglin
2010-03-15  1:10                                                   ` John David Anglin
2010-03-16 11:49                                                     ` Carlos O'Donell
2010-03-21 18:19                                                       ` John David Anglin
2010-03-22 14:26                                                         ` Carlos O'Donell
2010-03-23 21:32                                                         ` Carlos O'Donell
2010-03-23 22:23                                                           ` John David Anglin
2010-02-03 22:44                                   ` Carlos O'Donell
2010-01-08 21:18                               ` Helge Deller
2010-01-08 21:43                                 ` John David Anglin
2010-01-08 21:44                                 ` Carlos O'Donell
2010-01-08 21:44                                   ` Carlos O'Donell
2010-01-08 21:56                                     ` Kyle McMartin
2010-01-08 22:28                                       ` John David Anglin
2010-01-08 22:33                                         ` Kyle McMartin
2010-01-08 22:31                                     ` John David Anglin
2010-01-16 23:17                                   ` Helge Deller
2010-01-18 15:50                                     ` John David Anglin
2010-01-18 20:44                                     ` John David Anglin
2010-01-18 20:49                                       ` Carlos O'Donell
2010-01-29 17:53                                     ` Carlos O'Donell
2010-01-31 21:14                                       ` Helge Deller
2010-01-01  0:26                                         ` John David Anglin
2010-02-01 12:58                                           ` Carlos O'Donell
2010-02-01 15:47                                             ` John David Anglin
2010-02-01 19:02                                           ` Helge Deller
2010-02-01 19:11                                             ` John David Anglin
2010-02-01 21:36                                               ` Carlos O'Donell
2010-01-04 17:32                 ` John David Anglin
2010-01-04 18:02                   ` Carlos O'Donell
2010-01-04 18:22                     ` John David Anglin
2010-01-04 21:24                 ` Helge Deller
2009-12-31 22:38           ` John David Anglin
2010-01-01  0:36             ` John David Anglin
2000-12-01  0:23 [parisc-linux] pa reload problem Alan Modra
2000-12-01  6:12 ` John David Anglin
2000-12-01  7:00   ` Alan Modra
2000-12-02  7:33     ` John David Anglin
2000-12-02  7:48       ` John David Anglin
2000-12-02 23:28         ` John David Anglin
2000-12-05 19:42           ` John David Anglin
2000-12-06 20:41             ` John David Anglin
2000-12-07  0:16               ` Richard Henderson
2000-12-07  0:57                 ` John David Anglin
2000-12-07  1:18                   ` John David Anglin
2000-12-08 22:05                 ` John David Anglin
2000-12-08 23:45                   ` Richard Henderson
2000-12-09  1:07                     ` John David Anglin
2000-12-09  1:39                       ` Richard Henderson
2000-12-09  3:12                         ` John David Anglin
2000-12-09  4:05                         ` Jeffrey A Law
2000-12-09  6:55                           ` Richard Henderson
2000-12-11 17:29                             ` Jeffrey A Law
2000-12-11 18:48                               ` John David Anglin
2000-12-11 23:51                                 ` Alan Modra
2000-12-09  7:52                           ` Alan Modra
2000-12-09  7:55                             ` Richard Henderson
2000-12-09  8:35                               ` Alan Modra
2000-12-09 13:57                                 ` Alan Modra
2000-12-09 18:56                                   ` Richard Henderson
2000-12-09 23:35                                     ` Alan Modra
2000-12-22 17:21                         ` John David Anglin
2000-12-30 19:05                           ` John David Anglin
2001-01-01 23:24                             ` Jeffrey A Law
2000-12-11 21:27                     ` Michael Meissner
2000-12-02 12:35       ` Alan Modra
2000-12-02 19:43         ` Richard Henderson
2000-12-02 23:01           ` John David Anglin
2000-12-03  1:50             ` Richard Henderson
2000-12-03  3:30           ` Alan Modra
2000-12-02 23:08         ` John David Anglin
2000-12-04  1:41         ` Alan Modra
2000-12-04 18:41           ` Richard Hirst
     [not found] <20001201202613.E7166@linuxcare.com>
2000-12-02  7:15 ` Alan Modra
2000-12-04 18:40   ` Richard Hirst
2000-12-04 22:55     ` Alan Modra
2000-12-04 23:08       ` John David Anglin
2000-12-04 23:59         ` Alan Modra
2000-12-05  0:50           ` John David Anglin
2000-12-05  5:33             ` Alan Modra

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox