public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/15717] New: Error: can't resolve `L0' {*ABS* section} - `xx' {*UND* section}
@ 2004-05-29 14:49 rakdver at gcc dot gnu dot org
  2004-05-29 18:31 ` [Bug rtl-optimization/15717] [3.4/3.5 Regression] " pinskia at gcc dot gnu dot org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: rakdver at gcc dot gnu dot org @ 2004-05-29 14:49 UTC (permalink / raw)
  To: gcc-bugs

The following testcase

struct x
{
  int a[100];
  int b[100];
};

extern struct x xx;

void xxx(void)
{
  unsigned long a = (unsigned long) &xx.b[0];

  printf ("%ld", -a);
}

Fails to compile with

/xgcc -B. -O1 -c yyy.c
/tmp/ccBFXfe3.s: Assembler messages:
/tmp/ccBFXfe3.s:13: Error: can't resolve `L0' {*ABS* section} - `xx' {*UND* section}

The problem is that cse produces the following rtl:

(const:SI (minus:SI (const_int -400 [0xfffffe70])
                (symbol_ref:SI ("xx") [flags 0x40] <var_decl 0x402ec000 xx>)))

Which translates to assembler like

movl    $-400-xx, 4(%esp)

Which as does not like.

-- 
           Summary: Error: can't resolve `L0' {*ABS* section} - `xx' {*UND*
                    section}
           Product: gcc
           Version: 3.5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: rtl-optimization
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rakdver at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15717


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

* [Bug rtl-optimization/15717] [3.4/3.5 Regression] Error: can't resolve `L0' {*ABS* section} - `xx' {*UND* section}
  2004-05-29 14:49 [Bug rtl-optimization/15717] New: Error: can't resolve `L0' {*ABS* section} - `xx' {*UND* section} rakdver at gcc dot gnu dot org
@ 2004-05-29 18:31 ` pinskia at gcc dot gnu dot org
  2004-05-30 15:14 ` rakdver at atrey dot karlin dot mff dot cuni dot cz
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-05-29 18:31 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-05-28 21:34 -------
I do not know if this is really a bug at all because it is really undefined.
Note with an earlier version of as I get:
temp.s: Assembler messages:
temp.s:12: Error: negative of non-absolute symbol `xx'

The only thing we can do I can think of is reject (minus xxx Symbol_Ref) as a valid constant.

I should note that i686-darwin's as also rejects it (it is a much older GNU as).

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
           Keywords|                            |wrong-code
      Known to fail|                            |3.4.0 3.5.0
      Known to work|                            |3.3.3
   Last reconfirmed|0000-00-00 00:00:00         |2004-05-28 21:34:50
               date|                            |
            Summary|Error: can't resolve `L0'   |[3.4/3.5 Regression] Error:
                   |{*ABS* section} - `xx'      |can't resolve `L0' {*ABS*
                   |{*UND* section}             |section} - `xx' {*UND*
                   |                            |section}
   Target Milestone|---                         |3.4.1


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15717


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

* [Bug rtl-optimization/15717] [3.4/3.5 Regression] Error: can't resolve `L0' {*ABS* section} - `xx' {*UND* section}
  2004-05-29 14:49 [Bug rtl-optimization/15717] New: Error: can't resolve `L0' {*ABS* section} - `xx' {*UND* section} rakdver at gcc dot gnu dot org
  2004-05-29 18:31 ` [Bug rtl-optimization/15717] [3.4/3.5 Regression] " pinskia at gcc dot gnu dot org
@ 2004-05-30 15:14 ` rakdver at atrey dot karlin dot mff dot cuni dot cz
  2004-05-31 11:50 ` rakdver at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rakdver at atrey dot karlin dot mff dot cuni dot cz @ 2004-05-30 15:14 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From rakdver at atrey dot karlin dot mff dot cuni dot cz  2004-05-29 07:47 -------
Subject: Re:  [3.4/3.5 Regression] Error: can't resolve `L0' {*ABS* section} - `xx' {*UND* section}

> 
> ------- Additional Comments From pinskia at gcc dot gnu dot org  2004-05-28 21:34 -------
> I do not know if this is really a bug at all because it is really undefined.

I believe it is defined:

"Any pointer type may be converted to an  integer  type;
the  result is implementation-defined" (c99 standard draft)

Or is there something else you have objections against?

Zdenek

> Note with an earlier version of as I get:
> temp.s: Assembler messages:
> temp.s:12: Error: negative of non-absolute symbol `xx'
> 
> The only thing we can do I can think of is reject (minus xxx Symbol_Ref) as a valid constant.
> 
> I should note that i686-darwin's as also rejects it (it is a much older GNU as).
> 
> -- 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>              Status|UNCONFIRMED                 |NEW
>      Ever Confirmed|                            |1
>            Keywords|                            |wrong-code
>       Known to fail|                            |3.4.0 3.5.0
>       Known to work|                            |3.3.3
>    Last reconfirmed|0000-00-00 00:00:00         |2004-05-28 21:34:50
>                date|                            |
>             Summary|Error: can't resolve `L0'   |[3.4/3.5 Regression] Error:
>                    |{*ABS* section} - `xx'      |can't resolve `L0' {*ABS*
>                    |{*UND* section}             |section} - `xx' {*UND*
>                    |                            |section}
>    Target Milestone|---                         |3.4.1
> 
> 
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15717
> 
> ------- You are receiving this mail because: -------
> You reported the bug, or are watching the reporter.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15717


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

* [Bug rtl-optimization/15717] [3.4/3.5 Regression] Error: can't resolve `L0' {*ABS* section} - `xx' {*UND* section}
  2004-05-29 14:49 [Bug rtl-optimization/15717] New: Error: can't resolve `L0' {*ABS* section} - `xx' {*UND* section} rakdver at gcc dot gnu dot org
  2004-05-29 18:31 ` [Bug rtl-optimization/15717] [3.4/3.5 Regression] " pinskia at gcc dot gnu dot org
  2004-05-30 15:14 ` rakdver at atrey dot karlin dot mff dot cuni dot cz
@ 2004-05-31 11:50 ` rakdver at gcc dot gnu dot org
  2004-06-08 13:26 ` cvs-commit at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rakdver at gcc dot gnu dot org @ 2004-05-31 11:50 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From rakdver at gcc dot gnu dot org  2004-05-30 11:35 -------
Patch:

http://gcc.gnu.org/ml/gcc-patches/2004-05/msg01980.html

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |patch


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15717


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

* [Bug rtl-optimization/15717] [3.4/3.5 Regression] Error: can't resolve `L0' {*ABS* section} - `xx' {*UND* section}
  2004-05-29 14:49 [Bug rtl-optimization/15717] New: Error: can't resolve `L0' {*ABS* section} - `xx' {*UND* section} rakdver at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2004-05-31 11:50 ` rakdver at gcc dot gnu dot org
@ 2004-06-08 13:26 ` cvs-commit at gcc dot gnu dot org
  2004-06-08 15:20 ` cvs-commit at gcc dot gnu dot org
  2004-06-08 17:57 ` pinskia at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-06-08 13:26 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-06-08 13:26 -------
Subject: Bug 15717

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	rakdver@gcc.gnu.org	2004-06-08 13:26:05

Modified files:
	gcc            : ChangeLog 
	gcc/config/i386: i386.c 

Log message:
	PR rtl-optimization/15717
	* config/i386/i386.c (legitimate_constant_p): Do not allow
	x - symbol_ref.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.3872&r2=2.3873
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.c.diff?cvsroot=gcc&r1=1.670&r2=1.671



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15717


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

* [Bug rtl-optimization/15717] [3.4/3.5 Regression] Error: can't resolve `L0' {*ABS* section} - `xx' {*UND* section}
  2004-05-29 14:49 [Bug rtl-optimization/15717] New: Error: can't resolve `L0' {*ABS* section} - `xx' {*UND* section} rakdver at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2004-06-08 13:26 ` cvs-commit at gcc dot gnu dot org
@ 2004-06-08 15:20 ` cvs-commit at gcc dot gnu dot org
  2004-06-08 17:57 ` pinskia at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2004-06-08 15:20 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2004-06-08 15:19 -------
Subject: Bug 15717

CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-3_4-branch
Changes by:	rakdver@gcc.gnu.org	2004-06-08 15:19:17

Modified files:
	gcc            : ChangeLog 
	gcc/config/i386: i386.c 

Log message:
	PR rtl-optimization/15717
	* config/i386/i386.c (legitimate_constant_p): Do not allow
	x - symbol_ref.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=2.2326.2.479&r2=2.2326.2.480
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-branch&r1=1.635.2.11&r2=1.635.2.12



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15717


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

* [Bug rtl-optimization/15717] [3.4/3.5 Regression] Error: can't resolve `L0' {*ABS* section} - `xx' {*UND* section}
  2004-05-29 14:49 [Bug rtl-optimization/15717] New: Error: can't resolve `L0' {*ABS* section} - `xx' {*UND* section} rakdver at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2004-06-08 15:20 ` cvs-commit at gcc dot gnu dot org
@ 2004-06-08 17:57 ` pinskia at gcc dot gnu dot org
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2004-06-08 17:57 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2004-06-08 17:57 -------
Fixed.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15717


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

end of thread, other threads:[~2004-06-08 17:57 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-05-29 14:49 [Bug rtl-optimization/15717] New: Error: can't resolve `L0' {*ABS* section} - `xx' {*UND* section} rakdver at gcc dot gnu dot org
2004-05-29 18:31 ` [Bug rtl-optimization/15717] [3.4/3.5 Regression] " pinskia at gcc dot gnu dot org
2004-05-30 15:14 ` rakdver at atrey dot karlin dot mff dot cuni dot cz
2004-05-31 11:50 ` rakdver at gcc dot gnu dot org
2004-06-08 13:26 ` cvs-commit at gcc dot gnu dot org
2004-06-08 15:20 ` cvs-commit at gcc dot gnu dot org
2004-06-08 17:57 ` pinskia at gcc dot gnu dot org

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).