I am currently using gcc-2.96-69 and binutils-2.10.1.0.2-1, but this problem manifested itself with earlier versions of both packages, including the versions shipped with stock RedHat 7.0. I will attach a preprocessed source file (Containers.i), the assembler file produced from this source by gcc-2.96-69 (Containers-296.s), and the assembler file produced form this source by gcc 2.95.2 (Containers-295.s). The file Containers-296.s cannot be assembled; attempts to do so yield many errors of the form shown in the summary of this bug. The file Containers-295.s *can* be assembled. The relevant difference between the two files appears to be lines of the form "call dynamic_link_info_block+34010" in Containers-295.s vs. lines of the form "call *$dynamic_link_info_block+34010" in Containers-296.s. I am marking this bug "Red Hat Beta Program only" because the code in Containers.i is part of a commercial product and I therefore do not want it widely disseminated. Since it is machine-generated, people are unlikely to be able to do anything useful with it, but I would still like to limit its distribution.
Created attachment 7106 [details] preprocessed source file which compiles wrong with gcc 2.96
Created attachment 7107 [details] gcc 2.95 generated, OK assembler input
Created attachment 7108 [details] gcc 2.96-generated, bad assembler input
I've fixed this in http://gcc.gnu.org/ml/gcc-patches/2001-01/msg00509.html and it will appear in the next gcc rpm (2.96-71). Thanks.