Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Feb 2001 13:55:29 -0800 (PST)
From:      John Wilson <john_wilson100@excite.com>
To:        Jordan Hubbard <jkh@winston.osd.bsdi.com>
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: operator new with C++ and pthreads
Message-ID:  <28330970.981842130266.JavaMail.imail@pugsly.excite.com>

next in thread | raw e-mail | index | archive | help
Thanks for your reply, Jordan.   -fno-builtin doesn't seem to work.  
Consider the following simple scenario:

--------
my_new.h
--------

#include <sys/types.h>

inline void *operator new(size_t size);

---------
my_new.cc
---------

#include <stdio.h>
#include <stdlib.h>

#include "my_new.h"

inline void *operator new(size_t size)
{
        printf("my new was called with size = %u\n", size);
        return malloc(size);
}


-----------
new_test.cc
-----------

#include "my_new.h"

class Foo
{
        int a, b;
};


int
main(int argc, char *argv[])
{
        Foo *p;

        p = new Foo;

        return 0;
}


Compile it as follows:

g++ -fno-builtin -c -o my_new.o my_new.cc
g++ -fno-builtin -c -o new_test.o new_test.cc
g++ -fno-builtin -o new_test new_test.o my_new.o


new_test doesn't print anything (which it should, if it were linked with
my_new.o)

John Wilson



On Sat, 10 Feb 2001 08:53:26 -0800, Jordan Hubbard wrote:

>  > but gcc (g++) doesn't seem to want to link them in, and uses its own
>  > __builtin_new and __builtin_delete instead.
>  
>  You need to compile everything with -fno-builtin so that g++ won't
>  try to use its own versions but yours instead.
>  
>  - Jordan





_______________________________________________________
Send a cool gift with your E-Card
http://www.bluemountain.com/giftcenter/




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?28330970.981842130266.JavaMail.imail>