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
-
[perl #20609] MY_CXT macros and modules with multiple object files
by Salvador "Fandi�o"