>Number:         9219
>Category:       other
>Synopsis:       gcc-3.2.1/binutils-2.13.1 problem with perl-5.8.0
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          wrong-code
>Submitter-Id:   net
>Arrival-Date:   Tue Jan 07 11:16:00 PST 2003
>Closed-Date:
>Last-Modified:
>Originator:     Warren Dodge
>Release:        3.2.1
>Organization:
>Environment:
System: SunOS darwin 5.5.1 Generic_103640-36 sun4u sparc SUNW,Ultra-1
Architecture: sun4

        
host: sparc-sun-solaris2.5.1
build: sparc-sun-solaris2.5.1
target: sparc-sun-solaris2.5.1
configured with: ../gcc-3.2.1/configure --prefix=/proj/wdt/gnu_sun5.1/gcc-3.2.1 
--with-local-prefix=/proj/wdt/gnu_sun5.1/gcc-3.2.1 --with-gnu-ld 
--with-ld=/proj/wdt/sun5.1/bin/ld --with-gnu-nm --with-nm=/proj/wdt/sun5.1/bin/nm 
--with-gnu-as --with-as=/proj/wdt/sun5.1/bin/as --enable-threads=posix --enable-shared 
--disable-nls --enable-languages=objc,c++ --disable-libgcj
>Description:

I have been having problems in getting perl-5.8.0 to build and run
properly. It will build but on a few of the tests in make test it
fails. It seems to be failing in an area having to do with loading
dynamic libraries. 

I am sending this to see if you have any ideas on what may be
wrong. Included below is a copy of what I sent to the perl team for
reference. 

I hope this is an appropriate method to obtain information

_____________________________________________________________________________

I have tried a number of tests to try and locate this problem. I
"think" I have narrowed it down to something in
gcc-3.2.1/binutils-2.13.1  

Below is a summary of what I have done and some of the messages from
debug sessions.

At this point I need some ideas on how to proceed. Again, this is a
solaris 2.5.1 issue. I have the same setup for solaris 8 and
everything works fine.

P.S Details are needed. You helping a hardware engineer not a software
guru.
_____________________________________________________________________________

I build perl with Sun CC and  the tests ran fine
I build perl with no shared libraries and the tests ran fine

I statically loaded the perl ByteLoader Cwd ... files and the tests passed

I then used a precompiled gcc-2.8.1 to compile it as I had originally
configured it and the tests passed. (gcc version 2.9-redhat-980810)
The as and ld seem to be version 2.13.1

So I then built gcc-3.2.1 again without anything special. 

../gcc-3.2.1/configure 
--prefix=/proj/wdt/gnu_sun5.1/gcc-3.2.1_test 
--with-local-prefix=/proj/wdt/gnu_sun5.1/gcc-3.2.1_test 
--with-gnu-ld 
--with-ld=/proj/wdt/sun5.1/bin/ld 
--with-gnu-nm 
--with-nm=/proj/wdt/sun5.1/bin/nm 
--with-gnu-as 
--with-as=/proj/wdt/sun5.1/bin/as 
--enable-threads=posix 
--enable-shared 
--disable-nls 
--enable-languages=objc,c++ 
--disable-libgcj

Then reconfigured perl using that gcc and it fails.

I then rebuild gcc using Suns LD and AS , recompiled perl and the
tests run.

__________________________________________________________________________

I noticed these warning as I built perl.

NOTE: You are using GNU as(1).  GNU as(1) might not build Perl.  If you
have trouble, you can use /usr/ccs/bin/as by including -B/usr/ccs/bin/
in your /proj/wdt/gnu_sun5.1/gcc-3.2.1_test/bin/gcc command.  (Note that the trailing 
"/" is required.)

./Configure: Configured: not found
Found GNU ld='Configured'

NOTE: You are using GNU ld(1).  GNU ld(1) might not build Perl.  If you
have trouble, you can use /usr/ccs/bin/ld by including -B/usr/ccs/bin/
in your /proj/wdt/gnu_sun5.1/gcc-3.2.1_test/bin/gcc command.  (Note that the trailing 
"/" is required.)

I will try to use GNU ld by passing in the -Wl,-E flag, but if that
doesn't work, you should use -B/usr/ccs/bin/ instead.

Does this literally mean build perl or perhaps does it reach into
running perl?

_____________________________________________________________________________

Here again is a truss -f of the following test command
truss -f ../perl -I../lib ../ext/DB_File/t/db-btree.t

17423:  stat("../lib/auto/Fcntl/Fcntl.so", 0x0010D798)  = 0
17423:  stat("../lib/auto/Fcntl/Fcntl.bs", 0x0010D798)  = 0
17423:  open("../lib/auto/Fcntl/Fcntl.so", O_RDONLY)    = 4
17423:  fstat(4, 0xEFFFE73C)                            = 0
17423:  mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0xEF760000
17423:  mmap(0x00000000, 81920, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0xEF540000
17423:  munmap(0xEF544000, 57344)                       = 0
17423:  mmap(0xEF552000, 6452, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 
4, 8192) = 0xEF552000
17423:  close(4)                                        = 0
17423:  mprotect(0xEF540000, 13554, PROT_READ|PROT_WRITE|PROT_EXEC) = 0
17423:  mprotect(0xEF540000, 13554, PROT_READ|PROT_EXEC) = 0
17423:  munmap(0xEF760000, 8192)                        = 0
17423:  brk(0x001AFE10)                                 = 0
17423:  brk(0x001B1E10)                                 = 0
17423:  brk(0x001B1E10)                                 = 0
17423:  brk(0x001B3E10)                                 = 0
17423:  brk(0x001B3E10)                                 = 0
17423:  brk(0x001B5E10)                                 = 0
17423:  brk(0x001B5E10)                                 = 0
17423:  brk(0x001B7E10)                                 = 0
17423:  stat("../lib/auto/DB_File/DB_File.so", 0x0010D798) = 0
17423:  stat("../lib/auto/DB_File/DB_File.bs", 0x0010D798) = 0
17423:  open("../lib/auto/DB_File/DB_File.so", O_RDONLY) = 4
17423:  fstat(4, 0xEFFFE73C)                            = 0
17423:  mmap(0x00000000, 8192, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0xEF760000
17423:  mmap(0x00000000, 483328, PROT_READ|PROT_EXEC, MAP_PRIVATE, 4, 0) = 0xEF4C0000
17423:  munmap(0xEF524000, 65536)                       = 0
17423:  mmap(0xEF534000, 3456, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 
4, 409600) = 0xEF534000
17423:  open("/dev/zero", O_RDONLY)                     = 5
17423:  mmap(0x00000000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE, 5, 0) = 
0xEF630000
17423:  close(4)                                        = 0
17423:      Incurred fault #6, FLTBOUNDS  %pc = 0xEF7D7500
17423:        siginfo: SIGSEGV SEGV_ACCERR addr=0xEF51F810
17423:      Received signal #11, SIGSEGV [default]
17423:        siginfo: SIGSEGV SEGV_ACCERR addr=0xEF51F810
17423:          *** process killed ***

_____________________________________________________________________________
Here is a little gdb info

gdb ./perl
GNU gdb 5.3
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "sparc-sun-solaris2.5.1"...(no debugging symbols found)...
(gdb) run -I./lib  ext/DB_File/t/db-btree.t
Starting program: 
/proj/wdtold/warrend/gnusrc/perl-5.8.0/perl-5.8.0_sun5.1.baregcc/perl -I./lib  
ext/DB_File/t/db-btree.t
(no debugging symbols found)...
(no debugging symbols found)...
(no debugging symbols found)...
(no debugging symbols found)...
(no debugging symbols found)...
(no debugging symbols found)...
(no debugging symbols found)...
(no debugging symbols found)...
(no debugging symbols found)...
Error while mapping shared library sections:
../lib/auto/Fcntl/Fcntl.so: No such file or directory.
Error while reading shared library symbols:
../lib/auto/Fcntl/Fcntl.so: No such file or directory.
Error while reading shared library symbols:
../lib/auto/Fcntl/Fcntl.so: No such file or directory.

Program received signal SIGSEGV, Segmentation fault.
0xef7d7500 in ?? ()
(gdb) bt
#0  0xef7d7500 in ?? ()
#1  0xef7d1940 in ?? ()
#2  0xef7c3e8c in ?? ()
#3  0xef7cdc94 in ?? ()
#4  0xef7cdd98 in ?? ()
#5  0xef7cde7c in ?? ()
#6  0x00023194 in XS_DynaLoader_dl_load_file ()
#7  0x0007c154 in Perl_pp_entersub ()
#8  0x000745c8 in Perl_runops_standard ()
#9  0x00027000 in S_call_body ()
#10 0x00026cf8 in Perl_call_sv ()
#11 0x0002a3dc in S_call_list_body ()
#12 0x00029f88 in Perl_call_list ()
#13 0x0005305c in Perl_newATTRSUB ()
#14 0x0004ef24 in Perl_utilize ()
#15 0x00046548 in Perl_yyparse ()
#16 0x00025f50 in S_parse_body ()
#17 0x00025168 in perl_parse ()
#18 0x00022f08 in main ()


        
>How-To-Repeat:
        Breaks everytime I build perl 5.8.0
>Fix:
        Don't use the binutils.
>Release-Note:
>Audit-Trail:
>Unformatted:

Reply via email to