develooper Front page | perl.perl5.porters | Postings from January 2003

[perl #20609] MY_CXT macros and modules with multiple object files

From:
Salvador "Fandi�o"
Date:
January 29, 2003 19:44
Subject:
[perl #20609] MY_CXT macros and modules with multiple object files
Message ID:
rt-20609-49886.15.6860957711883@bugs6.perl.org
# New Ticket Created by  Salvador Fandiño 
# Please include the string:  [perl #20609]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt2/Ticket/Display.html?id=20609 >


This is a bug report for perl from sfandino@yahoo.com,
generated with the help of perlbug 1.34 running under perl
v5.8.0.


-----------------------------------------------------------------
[Please enter your report here]

The MY_CXT family of macros to add local thread storage
to modules are designed to be used from a single object
(*.o) file.

i.e., imagine an extension module with two files file1.xs
and file2.xs, and that both modules need to access MY_CXT.

When the extension is compiled in a non-threaded perl,
MY_CXT gets defined as my_cxt, and my_cxt is

  "static my_cxt_t *my_cxt"

in file1.xs and so as it is "static" it is not accessible
from file2.c

To correct it, my_cxt should not be defined as static
anymore and a new macro has to be added to declare it
in other objects.

Bye,

- Salva



[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
    category=library
    severity=low
---
Site configuration information for perl v5.8.0:

Configured by salva at Fri Jan 24 21:02:39 GMT 2003.

Summary of my perl5 (revision 5.0 version 8 subversion 0)
configuration:
  Platform:
    osname=linux, osvers=2.4.20,
archname=i686-linux-thread-multi
    uname='linux cabo 2.4.20 #9 sat jan 11 13:16:56 gmt
2003 i686 unknown '
    config_args='-Dusethreads'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=define use5005threads=undef
useithreads=define usemultiplicity=define
    useperlio=define d_sfio=undef uselargefiles=undef
usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE
-DDEBUGGING -fno-strict-aliasing -I/usr/local/include',
    optimize='-g',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -DDEBUGGING
-fno-strict-aliasing -I/usr/local/include'
    ccversion='', gccversion='2.95.4 20011002 (Debian
prerelease)', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8,
byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define,
longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8,
Off_t='off_t', lseeksize=4
    alignbytes=4, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lnsl -ldl -lm -lpthread -lc -lcrypt -lutil
    perllibs=-lnsl -ldl -lm -lpthread -lc -lcrypt -lutil
    libc=/lib/libc-2.2.5.so, so=so, useshrplib=true,
libperl=libperl.so
    gnulibc_version='2.2.5'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef,
ccdlflags='-rdynamic
-Wl,-rpath,/usr/local/perl/threads/lib/5.8.0/i686-linux-thread-multi/CORE'
    cccdlflags='-fpic', lddlflags='-shared
-L/usr/local/lib'

Locally applied patches:
    

---
@INC for perl v5.8.0:
   
/usr/local/perl/threads/lib/5.8.0/i686-linux-thread-multi
    /usr/local/perl/threads/lib/5.8.0
   
/usr/local/perl/threads/lib/site_perl/5.8.0/i686-linux-thread-multi
    /usr/local/perl/threads/lib/site_perl/5.8.0
    /usr/local/perl/threads/lib/site_perl
    .

---
Environment for perl v5.8.0:
    HOME=/home/salva
    LANG=C
    LANGUAGE (unset)
    LC_COLLATE=es_ES
    LC_CTYPE=es_ES
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
   
PATH=/usr/local/perl/threads/bin:~/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:/usr/local/mysql/bin:~svn/bin
    PERL_BADLANG (unset)
    SHELL=/bin/bash





nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About