c++/8333: c++ emits double .globals for symbols [ regression from 3.0.4 ]
robertlipe@usa.net
robertlipe@usa.net
Wed Oct 23 23:56:00 GMT 2002
>Number: 8333
>Category: c++
>Synopsis: c++ emits double .globals for symbols [ regression from 3.0.4 ]
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Wed Oct 23 23:36:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: robert lipe
>Release: gcc 3.2
>Organization:
>Environment:
i686-pc-sco3.2v5, i686-pc-udk, i686-pc-uw7.1.1.
>Description:
$ ./xgcc -c ./registers1.ii
/usr/tmp//ccG6WKmc.s:4:name already bound as global: float_src
/usr/tmp//ccG6WKmc.s:12:name already bound as global: float_dest
/usr/tmp//ccG6WKmc.s:19:name already bound as global: int_src
/usr/tmp//ccG6WKmc.s:26:name already bound as global: int_dest
Sure enough, it's emitting double .globl for C++ things.
(robertl) rjlhome:/play/negcs-3.2/gcc
$ head -5 registers1.s
.file "registers1.C"
.version "01.01"
.globl float_src
.globl float_src
.data
3.0.4 didn't do this. You can argue that the assembler is being lame
and I won't argue, but it'd be helpful to folks that use AT&T derived
assemblers if we wouldn't torment them.
>How-To-Repeat:
./xgcc -c ./registers1.ii
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="registers1.ii"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="registers1.ii"
IyAxICIvcGxheS9nY2MtMy4yL2djYy90ZXN0c3VpdGUvZysrLmRnL2VoL3JlZ2lzdGVyczEuQyIK
IyAxICI8YnVpbHQtaW4+IgojIDEgIjxjb21tYW5kIGxpbmU+IgojIDEgIi9wbGF5L2djYy0zLjIv
Z2NjL3Rlc3RzdWl0ZS9nKysuZGcvZWgvcmVnaXN0ZXJzMS5DIgoKCgoKZXh0ZXJuICJDIiB2b2lk
IGV4aXQoaW50KTsKZXh0ZXJuICJDIiB2b2lkIGFib3J0KCk7CiMgMTUgIi9wbGF5L2djYy0zLjIv
Z2NjL3Rlc3RzdWl0ZS9nKysuZGcvZWgvcmVnaXN0ZXJzMS5DIgpjb25zdCBpbnQgbnVtX3ZhcnMg
PSAxNjsKY29uc3QgaW50IGRlcHRoID0gMzsKCmZsb2F0IGZsb2F0X3NyY1tudW1fdmFycyAqIGRl
cHRoXTsKZmxvYXQgZmxvYXRfZGVzdFtudW1fdmFyc107CgppbnQgaW50X3NyY1tudW1fdmFycyAq
IGRlcHRoXTsKaW50IGludF9kZXN0W251bV92YXJzXTsKCnZvaWQgZm9vIChpbnQgbGV2ZWwsIGlu
dCB0aHJvd190bykKewogIGZsb2F0ICpmc3JjID0gJmZsb2F0X3NyY1tsZXZlbCAqIG51bV92YXJz
XTsKICBmbG9hdCBmMDAgPSAqZnNyYysrICsgMS4wZjsKICBmbG9hdCBmMDEgPSAqZnNyYysrICsg
MS4wZjsKICBmbG9hdCBmMDIgPSAqZnNyYysrICsgMS4wZjsKICBmbG9hdCBmMDMgPSAqZnNyYysr
ICsgMS4wZjsKICBmbG9hdCBmMDQgPSAqZnNyYysrICsgMS4wZjsKICBmbG9hdCBmMDUgPSAqZnNy
YysrICsgMS4wZjsKICBmbG9hdCBmMDYgPSAqZnNyYysrICsgMS4wZjsKICBmbG9hdCBmMDcgPSAq
ZnNyYysrICsgMS4wZjsKICBmbG9hdCBmMDggPSAqZnNyYysrICsgMS4wZjsKICBmbG9hdCBmMDkg
PSAqZnNyYysrICsgMS4wZjsKICBmbG9hdCBmMTAgPSAqZnNyYysrICsgMS4wZjsKICBmbG9hdCBm
MTEgPSAqZnNyYysrICsgMS4wZjsKICBmbG9hdCBmMTIgPSAqZnNyYysrICsgMS4wZjsKICBmbG9h
dCBmMTMgPSAqZnNyYysrICsgMS4wZjsKICBmbG9hdCBmMTQgPSAqZnNyYysrICsgMS4wZjsKICBm
bG9hdCBmMTUgPSAqZnNyYysrICsgMS4wZjsKCiAgaW50ICppc3JjID0gJmludF9zcmNbbGV2ZWwg
KiBudW1fdmFyc107CiAgaW50IGkwMCA9ICppc3JjKysgKyAxOwogIGludCBpMDEgPSAqaXNyYysr
ICsgMTsKICBpbnQgaTAyID0gKmlzcmMrKyArIDE7CiAgaW50IGkwMyA9ICppc3JjKysgKyAxOwog
IGludCBpMDQgPSAqaXNyYysrICsgMTsKICBpbnQgaTA1ID0gKmlzcmMrKyArIDE7CiAgaW50IGkw
NiA9ICppc3JjKysgKyAxOwogIGludCBpMDcgPSAqaXNyYysrICsgMTsKICBpbnQgaTA4ID0gKmlz
cmMrKyArIDE7CiAgaW50IGkwOSA9ICppc3JjKysgKyAxOwogIGludCBpMTAgPSAqaXNyYysrICsg
MTsKICBpbnQgaTExID0gKmlzcmMrKyArIDE7CiAgaW50IGkxMiA9ICppc3JjKysgKyAxOwogIGlu
dCBpMTMgPSAqaXNyYysrICsgMTsKICBpbnQgaTE0ID0gKmlzcmMrKyArIDE7CiAgaW50IGkxNSA9
ICppc3JjKysgKyAxOwoKICB0cnkKICAgIHsKICAgICAgaWYgKGxldmVsID09IDApCiAgICAgICAg
dGhyb3cgdGhyb3dfdG87CiAgICAgIGVsc2UKICAgICAgICBmb28gKGxldmVsIC0gMSwgdGhyb3df
dG8pOwogICAgfQogIGNhdGNoIChpbnQgaSkKICAgIHsKICAgICAgaWYgKGkgPT0gbGV2ZWwpCiAg
ICAgICAgewogICAgICAgICAgZmxvYXQgKmZkZXN0ID0gZmxvYXRfZGVzdDsKICAgICAgICAgICpm
ZGVzdCsrID0gZjAwOwogICAgICAgICAgKmZkZXN0KysgPSBmMDE7CiAgICAgICAgICAqZmRlc3Qr
KyA9IGYwMjsKICAgICAgICAgICpmZGVzdCsrID0gZjAzOwogICAgICAgICAgKmZkZXN0KysgPSBm
MDQ7CiAgICAgICAgICAqZmRlc3QrKyA9IGYwNTsKICAgICAgICAgICpmZGVzdCsrID0gZjA2Owog
ICAgICAgICAgKmZkZXN0KysgPSBmMDc7CiAgICAgICAgICAqZmRlc3QrKyA9IGYwODsKICAgICAg
ICAgICpmZGVzdCsrID0gZjA5OwogICAgICAgICAgKmZkZXN0KysgPSBmMTA7CiAgICAgICAgICAq
ZmRlc3QrKyA9IGYxMTsKICAgICAgICAgICpmZGVzdCsrID0gZjEyOwogICAgICAgICAgKmZkZXN0
KysgPSBmMTM7CiAgICAgICAgICAqZmRlc3QrKyA9IGYxNDsKICAgICAgICAgICpmZGVzdCsrID0g
ZjE1OwoKICAgICAgICAgIGludCAqaWRlc3QgPSBpbnRfZGVzdDsKICAgICAgICAgICppZGVzdCsr
ID0gaTAwOwogICAgICAgICAgKmlkZXN0KysgPSBpMDE7CiAgICAgICAgICAqaWRlc3QrKyA9IGkw
MjsKICAgICAgICAgICppZGVzdCsrID0gaTAzOwogICAgICAgICAgKmlkZXN0KysgPSBpMDQ7CiAg
ICAgICAgICAqaWRlc3QrKyA9IGkwNTsKICAgICAgICAgICppZGVzdCsrID0gaTA2OwogICAgICAg
ICAgKmlkZXN0KysgPSBpMDc7CiAgICAgICAgICAqaWRlc3QrKyA9IGkwODsKICAgICAgICAgICpp
ZGVzdCsrID0gaTA5OwogICAgICAgICAgKmlkZXN0KysgPSBpMTA7CiAgICAgICAgICAqaWRlc3Qr
KyA9IGkxMTsKICAgICAgICAgICppZGVzdCsrID0gaTEyOwogICAgICAgICAgKmlkZXN0KysgPSBp
MTM7CiAgICAgICAgICAqaWRlc3QrKyA9IGkxNDsKICAgICAgICAgICppZGVzdCsrID0gaTE1Owog
ICAgICAgIH0KICAgICAgZWxzZQogICAgICAgIHsKICAgICAgICAgIHRocm93OwogICAgICAgIH0K
ICAgIH0KfQoKaW50IG1haW4gKCkKewogIGZvciAoaW50IGkgPSAwOyBpIDwgZGVwdGggKiBudW1f
dmFyczsgaSsrKQogICAgewogICAgICBpbnRfc3JjW2ldID0gaSAqIGk7CiAgICAgIGZsb2F0X3Ny
Y1tpXSA9IGkgKiAyLjBmOwogICAgfQogIGZvciAoaW50IGxldmVsID0gMDsgbGV2ZWwgPCBkZXB0
aDsgbGV2ZWwrKykKICAgIGZvciAoaW50IHRocm93X3RvID0gMDsgdGhyb3dfdG8gPD0gbGV2ZWw7
IHRocm93X3RvKyspCiAgICAgIHsKICAgICAgICBmb28gKGxldmVsLCB0aHJvd190byk7CiAgICAg
ICAgZmxvYXQgKmZzcmMgPSAmZmxvYXRfc3JjW3Rocm93X3RvICogbnVtX3ZhcnNdOwogICAgICAg
IGludCAqaXNyYyA9ICZpbnRfc3JjW3Rocm93X3RvICogbnVtX3ZhcnNdOwogICAgICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgbnVtX3ZhcnM7IGkrKykKICAgICAgICAgIHsKICAgICAgICAgICAgaWYg
KGludF9kZXN0W2ldICE9IGlzcmNbaV0gKyAxKQogICAgICAgICAgICAgIGFib3J0ICgpOwogICAg
ICAgICAgICBpZiAoZmxvYXRfZGVzdFtpXSAhPSBmc3JjW2ldICsgMS4wZikKICAgICAgICAgICAg
ICBhYm9ydCAoKTsKICAgICAgICAgIH0KICAgICAgfQogIGV4aXQgKDApOwp9Cg==
More information about the Gcc-bugs
mailing list