This is the mail archive of the gcc-bugs@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]
Other format: [Raw text]

target/10806: Illegal instruction calling function in shared object on AIX


>Number:         10806
>Category:       target
>Synopsis:       Illegal instruction calling function in shared object on AIX
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu May 15 18:06:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Stuart Downing
>Release:        3.2.2
>Organization:
>Environment:
powerpc-ibm-aix5.1.0.0
>Description:
These modules demonstrate a bug in gcc 3.2.2 on AIX 5.1.

The symptom is an illegal instruction when the foo function is called
when mod.o is converted to a shared object.

I did quite a bit of dividing and conquering from my original code to
get to this result.  I've done some further dividing and conquering
from here to see that the symptom goes away if any of the following
changes are made...

* if static_ptr is not initialized.

* if static_ptr is not static

* if function_static is not static

* if mod.o is not converted to shared (see unshared test)

To demonstrate the symptom run

make

This will build two test programs, one using the non-shared object,
the other using the shared object, then it runs both.

Here's the output from gcc -v for me...
gcc -v
Reading specs from /usr/local/lib/gcc-lib/powerpc-ibm-aix5.1.0.0/3.2.2/specs
Configured with: ../gcc-3.2.2/configure --disable-nls
Thread model: aix
gcc version 3.2.2

(I downloaded a binary gcc distro from http://aixpdslib.seas.ucla.edu)

Note - I didn't gcc -v -save-temps since the test case is self contained.

Feel free to contact me if you need more details

Stuart Downing
FAME Information Services, Inc.
sdowning at fame dot com
>How-To-Repeat:
unzip, untar and make. 
The shared test program will core dump with an illegal instruction.
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/x-gzip; name="gccbug.tar.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="gccbug.tar.gz"

H4sICMfVwz4AA2djY2J1Zy50YXIA7Vdbb9s2FM5r+CsOggFJikqWZVcGXBRYkCZYHrICzTYMGIaC
pmiZm0SqJGXXG/rfd0hKTlI0y8ucoAO/F1o8Fx6eK10xtuiq0TX9ky9FzQ/2gXGWFcUUDrJsPAlr
lk2KsDpMixlks6LIZvmsmOLv8bSYTA8g24s1X6Azlmo0xZRqI4WsHuIr+br9Nz3hKrBbvxGcn7+p
GIPkF5ikeZoTYrmxc+ikWVHNSwgLOfyes5WCo5/7/SNymI4Gph315pbWU8jAM4dGlamChgqZMnL4
3cn5+Skk6vakQAlshAxSYf2a4H2x4cRb2VT1Z+5keomdrNMaTvNLYL89gvXfZM21EUrOd5Q1ee6w
/WeoQv2/vzh7e32xpzMeqf88n2V9/U/yIi9c/WeTWaz/p8BPK264S/Su5gZK3ihprKaWAwVMDBAS
XH/wzQGUhLOrX+FVOk4JQUkw26a1qgFhgEoQdc0rWqMMquiYxZqBzYpLsMi6VAqWnQy7yM8ocpfE
00NrcJtKYrFZLFKr0IC+YNXiD84sHnkFpSjhYyeCecKCWuLWWpQYOLSgdAo+dly7z6VGw5otKC0q
IdEspkqOeknFrVNvV3ig5qarbQpwdbzmUCqJd1INWttpNFo/pJx45cjgFILhuKyo9fccXFIp9Cfd
0C2IJUpvnanBD3WtNk4HW1FZOSbU0tCSpyle8YVjx5S0gn1orXZOkcqiS4UVtBZ/Ydd6kCns9OTB
1x/C7ld5dn53lHu+7z1/4q6269BuNJxi4NW9PLl7ad1JbKb4lnDpgXo3mBKYRqJG4Y3yCqDVqtK0
MS/BebszzrtOh1QyuRfwl8RtKx+HW7b7LG4L08m6kw0skBnd8wPG5dh4btXZtrMhF/ycW2MANDTe
2WGDvOfUh9i0nJnAOuqMHtUKc3RUi8UIGRO3tmrDdcsSsWgSKj65OsjSbOSLY+TFybmSS1F1zsSN
sKs5pKkXDzxsoEKSlMLQRc0TWRt0lkYjXDx4PQdU7W3r584wmU8w/bFH1QpzpfT5L6ne+muhLqtV
sH1lbTsfjVBJWxq0OjWcmrRjNU152WH8flQYtQR8McljO/glMXTNE8ub1gB6m4XI+pAxij0Cw2l4
vXR5YnHm+kS85LzGU7kvA09gFp3rcmurOpDcDWiF1y05yuBFyY3tqLbwNjRbcnl2fQFXEmPSUN8Z
brheC8YxO64kS8nQlQGra0kbV6IuU5v/zwB+ZvTzP7yi9nTGY+9/pA/v/yKb5m7+55Mszv+nAP9k
uZawVjhYcWTAyelrQoS0/l19cgrkbwKIgeR+a247FMlek8/Y7OP8/6bn/1D/7p/OvnLssfrPx8Xu
/39evHL1P84msf6fAnbb8pK7bHIV21e7q/8F1VjgcPnuHTaEPofwA17cybs3rgmQO70D5T/3G+Hd
5recyl4D5rz+MjV/+x0VHR25dhLr/6nr/7nzLyIiIiIiIiIiIiIiIiIiIiIiImJ/+Afvd24cACgA
AA==


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