Your message dated Sat, 18 Jun 2016 00:52:54 +0200
with message-id <[email protected]>
and subject line closing bugs reported against ancient GCC versions
has caused the Debian Bug report #490173,
regarding g++-4.3: Doesn't hide (visibility-wise) vtables and VTTs on ARM
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
490173: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=490173
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: g++-4.3
Version: 4.3.1-4
Severity: important
This bug causes FTBFS of webkit on ARM:
http://buildd.debian.org/fetch.cgi?pkg=webkit;ver=1.0.1-1;arch=armel;stamp=1215557168
The problem can be seen on the following code:
-----8<---------
class A {
public:
int a;
virtual int v();
};
int A::v() {
return 2;
}
class B : public A {
public:
int b;
};
extern "C" __attribute__((visibility("default"))) int test(void) {
B *b = new B;
return b->v();
}
-------->8-------
Build with: g++ -fvisibility=hidden -o test.o -c test.cpp
Take a look at symbols with objdump -x test.o
Relevant part:
00000000 g O .rodata 0000000c _ZTV1A
00000000 w O .rodata._ZTV1B 0000000c _ZTV1B
These should be marked .hidden.
Resulting shared library (g++ -shared -fvisibility=hidden -o test.so test.cpp)
exports both _ZTV1A and _ZTV1B symbols as a result of this, which is
unexpected.
Proper result is obtained on other architectures (x86 below):
00000000 w O .rodata._ZTV1A 0000000c .hidden _ZTV1A
00000000 w O .rodata._ZTV1B 0000000c .hidden _ZTV1B
Note this may be related to the fact that apparently, ARM doesn't have vtables
in .rodata.
Mike
-- System Information:
Debian Release: 4.0
APT prefers proposed-updates
APT policy: (500, 'proposed-updates'), (500, 'stable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-6-686
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
--- End Message ---
--- Begin Message ---
This bug has been reported against an ancient version of
gpc (4.1), gcc/g++/gfortran (4.3), or gcj/gij/gobjc (4.4), that was last
released with Debian 6.0 (squeeze). But even squeeze-lts has now reached
end-of-life and is no longer supported.
The bug is assumed to be fixed (or no longer relevant) in newer GCC
releases and therefore I'm closing this report now. If the problem is
still reproducible in the currently supported versions (gcc-5, gcc-6 or
corresponding g++/gcj), feel free to provide more information, reopen
and reassign this bug report.
Andreas
--- End Message ---