Re: objprelink on woody
Hello,
On Wednesday, 6. March 2002 00:41, Chris Howells wrote:
> Hi,
>
> Has anybody successfully got objprelink working on woody? When I try to
> compile qt-copy, make segfaults....
Using sid and gcc 3.0.4 with DEBIAN_BUILDARCH=athlon, Qt (qt-copy) works fine
now with objprelink (I tested several Qt apps).
I guess it's not make that segfaults but rather objprelink? It did not work
for me first either, but then I updated from gcc304pre to 304 and latest
binutils and stuff, and out of a sudden it works all well.
(I got 'out of memory' from objprelink, when it tried to allocate some dozens
of those bfd blocks - I have no clue what it is, the attached patch is more
cosmetical, I don't think I fixed anything ;)
However I still have trouble with KDE then:
Could not dlopen library dcopserver.la:
/usr/local/kde3.0.optimized/lib/dcopserver.so: undefined symbol:
_ZNK15QSocketNotifier9classNameEv
nm /usr/local/kde3.0.optimized/lib/libkdecore.so.4 | grep
_ZNK18KUniqueApplication9classNameEv
001093b0 T _ZNK18KUniqueApplication9classNameEv
Hm...
Josef
--
The MindX Open Source Project: Fighting proprietary games
GGZ now! - The GGZ Gaming Zone: http://ggz.sourceforge.net
ggz.morat.net | ggz.snafu.de | jzaun.com | mindx.sourceforge.net/europeone
--- objprelink.c.orig Fri Mar 1 17:31:01 2002
+++ objprelink.c Fri Mar 1 17:32:34 2002
@@ -20,7 +20,7 @@
#include <unistd.h>
#include <sys/stat.h>
#include <stdarg.h>
-#include "bfd.h"
+#include <bfd.h>
static int verbose = 0;
static int replace = 1;
@@ -242,7 +242,7 @@
static const char prefix[] = ".gnu.linkonce.d.__vt_";
static flagword w = (SEC_ALLOC|SEC_LOAD|SEC_RELOC|SEC_DATA|SEC_LINK_ONCE);
flagword f = bfd_get_section_flags (abfd, p);
- if (f & w == w)
+ if ((f & w) == w)
if (!strncmp(name, prefix, sizeof(prefix)-1))
return name + sizeof(prefix)-6;
return false;
@@ -402,7 +402,6 @@
for (hsym=vtsyms; hsym; hsym=hsym->next)
{
asection *osection;
- asymbol *sym;
char *name;
/* new section */
name = (char*)bfd_alloc(obfd, strlen(hsym->sym->name) + 28);
@@ -427,8 +426,6 @@
for (p=ibfd->sections; p; p=p->next)
{
const char *sname;
- const char *err = M("cannot copy data from section %s in file %s",
- bfd_section_name (ibfd, p), iname);
asection *isection = p;
asection *osection = p->output_section;
bfd_size_type size = bfd_get_section_size_before_reloc (isection);
Reply to: