David Schleef wrote:
> 
> On Tue, Feb 22, 2000 at 12:51:11PM +0000, Stuart Hughes wrote:
> >
> > Note also the following compiler feature:
> >
> > If have in your RT code:
> >
> >       char buf[12] = "mystring";
> >
> > You get an error, due to an implicit call to memset.
> 
> Nope.  gcc-2.7.2.3 outputs assembly instructions that perform
> the memcpy, even with very long strings.

Hi Dave, 

That's weird, this is what I get (gcc version 2.7.2.3).  If I compile
the code below using:

cc -O2 -g -D__KERNEL__ -DMODULE -c -o para_mod.o para.c

and then try to insmod para_mod.o, I get the following:

./para_mod.o: unresolved symbol memset

If I comment out the first version and uncomment the second, everything
works ???

Any ideas ??

Regards, Stuart


// System headers.
#include <linux/module.h>
#include <asm/io.h>

int init_module(void)
{
    char buf[12] = "test";              // fails, calls implicit memset
//    char *buf = "test";               // Okay
    printk(buf);

    return 0;
}

void cleanup_module(void)
{
}


-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/

Reply via email to