This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


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

Re: Should asm("" : : : "memory") order accesses to the GOT?


Am Don, 17 Jun 1999 schrieb Jeffrey A Law:
>In message <99061722151000.00879@ns1102.munich.netsurf.de>you write:
>  > the subject says it all, should address loads from the GOT considered as
>  > memory accesses?
>It should.  But typically we do not represent GOT references as memory
>references. 
>
>This is a fairly generic problem with our PIC code in the sense that we're
>lying to the compiler about what the machine actually does.  Lots of ports
>have the same problem.
>
>If we ever revamp how we represent PIC internally, this is one of the problems
>I want to fix :-)

Hmm, sounds like a big task. So there's currently no way to order accesses to
the GOT in gcc, independent of platform. Then the only way to fix ld.so is to
move these accesses out into a different file.

BTW, Geoff suggested to replace all unspec 8 with something like this:
(define_expand "movsi_got"
  [(set (match_operand:SI 0 "register_operand" "")
        (mem (plus (unspec [(match_operand:SI 1 "got_operand" "")] 8)
                 (match_dup 2))))]


But if all platforms are affected it's better to fix glibc once and forever.

Franz.


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