[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: objprelink patch for freebsd
From:       Bradley T Hughes <bhughes () trolltech ! com>
Date:       2001-12-04 13:39:17
[Download RAW message or body]

On Tuesday 04 December 2001 14:11, Bradley T Hughes wrote:

And of course, it helps if I post the correct patch.  This is the corerct 
one:

--- objprelink.c~       Tue Dec  4 12:34:01 2001
+++ objprelink.c        Tue Dec  4 14:10:09 2001
@@ -239,12 +239,12 @@
 is_vt_section(bfd *abfd, asection *p)
 {
   const char *name = bfd_section_name(abfd, p);
-  static const char prefix[] = ".gnu.linkonce.d.__vt_";
+  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 (!strncmp(name, prefix, sizeof(prefix)-1))
-      return name + sizeof(prefix)-6;
+      return name + sizeof(prefix)-4;
   return false;
 }

> in case someone is interested, this make objprelink work on freebsd:
>
> --- objprelink.c        Tue Dec  4 14:10:09 2001
> +++ objprelink.c~       Tue Dec  4 12:34:01 2001
> @@ -239,12 +239,12 @@
>  is_vt_section(bfd *abfd, asection *p)
>  {
>    const char *name = bfd_section_name(abfd, p);
> -  static const char prefix[] = ".gnu.linkonce.d._vt";
> +  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 (!strncmp(name, prefix, sizeof(prefix)-1))
> -      return name + sizeof(prefix)-4;
> +      return name + sizeof(prefix)-6;
>    return false;
>  }
>
> The reason it didn't work before is because the virtual table symbol
> prefixes were different from those hard coded in the source.
>
> Enjoy...

-- 
--
Bradley T. Hughes <bhughes@trolltech.com>
Trolltech AS - Waldemar Thranes gt. 98 N-0175 Oslo, Norway
Office: +47 21604892
Mobile: +47 92019781

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic