This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug bootstrap/13486] build dies in link step
- From: "gnu at usd dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 25 Dec 2003 04:40:33 -0000
- Subject: [Bug bootstrap/13486] build dies in link step
- References: <20031224211336.13486.gnu@usd.com>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From gnu at usd dot com 2003-12-25 04:40 -------
Subject: Re: build dies in link step
I don't think this is a binutils problem now. A 'plain' build on
Solaris-7 still dies.
Per your earlier suggestion:
On my sparc-sun-solaris2.7 machine I have now built and installed
binutils-2.14.90
build-gcc> which as
/tools/local.sparc-sun-solaris2.7/bin/as
build-gcc>
build-gcc> as --version
GNU assembler 2.14.90 20031225
Copyright 2002 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the
terms of
the GNU General Public License. This program has absolutely no
warranty.
This assembler was configured for a target of `sparc-sun-solaris2.7'.
build-gcc>
build-gcc> which ld
/tools/local.sparc-sun-solaris2.7/bin/ld
build-gcc> ld --version
GNU ld version 2.14.90 20031225
Copyright 2002 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the
terms of
the GNU General Public License. This program has absolutely no
warranty.
build-gcc>
build-gcc> ld --help >ld.out
My 'configure' invocation is very simple:
+ /bin/sh ../configure --prefix=/tools/local.sparc-sun-solaris2.7
The build still dies with the same error:
2803 make[3]: Entering directory
`/sd/c0t8d0/opt1/web/sites/ftp.gnu.org/gnu/gcc/gcc-3.4-20031224/build.sparc-sun-solaris2.7/gcc'
2804 make[3]: Leaving directory
`/sd/c0t8d0/opt1/web/sites/ftp.gnu.org/gnu/gcc/gcc-3.4-20031224/build.sparc-sun-solaris2.7/gcc'
2805
/sd/c0t8d0/opt1/web/sites/ftp.gnu.org/gnu/gcc/gcc-3.4-20031224/build.sparc-sun-solaris2.7/gcc/xgcc
-B/sd/c0t8d0/opt1/web/sit
2805
es/ftp.gnu.org/gnu/gcc/gcc-3.4-20031224/build.sparc-sun-solaris2.7/gcc/
-B/tools/local.sparc-sun-solaris2.7/sparc-sun-solari
2805 s2.7/bin/
-B/tools/local.sparc-sun-solaris2.7/sparc-sun-solaris2.7/lib/
-isystem /tools/local.sparc-sun-solaris2.7/sparc-sun
2805 -solaris2.7/include -isystem
/tools/local.sparc-sun-solaris2.7/sparc-sun-solaris2.7/sys-include
-O2 -DIN_GCC -W -Wall -W
2805 write-strings -Wstrict-prototypes -Wmissing-prototypes
-Wold-style-definition -isystem ./include -fPIC -g -DHAVE_GTHR_DEFA
2805 ULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -shared
-nodefaultlibs -Wl,-h,libgcc_s.so.1 -Wl,-z,text -Wl,-z,defs
-Wl,-M,libgcc
2805 /./libgcc.map -o libgcc_s.so.1 libgcc/./_muldi3.o
libgcc/./_negdi2.o libgcc/./_lshrdi3.o libgcc/./_ashldi3.o libgcc/./_ash
2805 rdi3.o libgcc/./_cmpdi2.o libgcc/./_ucmpdi2.o
libgcc/./_floatdidf.o libgcc/./_floatdisf.o libgcc/./_fixunsdfsi.o
libgcc/./_f
2805 ixunssfsi.o libgcc/./_fixunsdfdi.o libgcc/./_fixdfdi.o
libgcc/./_fixunssfdi.o libgcc/./_fixsfdi.o libgcc/./_fixxfdi.o libgcc
2806 /./_fixunsxfdi.o libgcc/./_floatdixf.o
libgcc/./_fixunsxfsi.o libgcc/./_fixtfdi.o libgcc/./_fixunstfdi.o
libgcc/./_floatditf
2806 .o libgcc/./_clear_cache.o libgcc/./_trampoline.o
libgcc/./__main.o libgcc/./_absvsi2.o libgcc/./_absvdi2.o
libgcc/./_addvsi
2806 3.o libgcc/./_addvdi3.o libgcc/./_subvsi3.o
libgcc/./_subvdi3.o libgcc/./_mulvsi3.o libgcc/./_mulvdi3.o
libgcc/./_negvsi2.o
2806 libgcc/./_negvdi2.o libgcc/./_ctors.o libgcc/./_ffssi2.o
libgcc/./_ffsdi2.o libgcc/./_clz.o libgcc/./_clzsi2.o libgcc/./_clz
2806 di2.o libgcc/./_ctzsi2.o libgcc/./_ctzdi2.o
libgcc/./_popcount_tab.o libgcc/./_popcountsi2.o
libgcc/./_popcountdi2.o libgcc/
2806 ./_paritysi2.o libgcc/./_paritydi2.o libgcc/./_divdi3.o
libgcc/./_moddi3.o libgcc/./_udivdi3.o libgcc/./_umoddi3.o libgcc/./
2806 _udiv_w_sdiv.o libgcc/./_udivmoddi4.o libgcc/./unwind-dw2.o
libgcc/./unwind-dw2-fde.o libgcc/./unwind-sjlj.o libgcc/./gthr-
2806 gnat.o libgcc/./unwind-c.o -lc && rm -f libgcc_s.so && ln -s
libgcc_s.so.1 libgcc_s.so
2808
/tools/local.sparc-sun-solaris2.7/sparc-sun-solaris2.7/bin/ld:libgcc/./libgcc.map:
file format not recognized; treating as l
2808 inker script
2809
/tools/local.sparc-sun-solaris2.7/sparc-sun-solaris2.7/bin/ld:libgcc/./libgcc.map:1:
parse error
2810 collect2: ld returned 1 exit status
2811 make[2]: *** [libgcc_s.so] Error 1
2812 make[2]: Leaving directory
`/sd/c0t8d0/opt1/web/sites/ftp.gnu.org/gnu/gcc/gcc-3.4-20031224/build.sparc-sun-solaris2.7/gcc'
2813 make[1]: *** [stmp-multilib] Error 2
2814 make[1]: Leaving directory
`/sd/c0t8d0/opt1/web/sites/ftp.gnu.org/gnu/gcc/gcc-3.4-20031224/build.sparc-sun-solaris2.7/gcc'
2815 make: *** [all-gcc] Error 2
Attached is another copy of
.../gcc-3.4-20031224/build.sparc-sun-solaris2.7/gcc/libgcc/libgcc.map
Again it is complaining about the argument: -Wl,-M,libgcc/./libgcc.map
As I understand the usage message (see ld.out):
-M, --print-map Print map file on standard output
-Map FILE Write a map file
A '-M' by itself will emit a map to stdout.
A '-Map' argument can be followed by a map-file filename (like
'libgcc/./libgcc.map')
Is not the purpose here to generate a link map?
If so, shouldn't this argument be formed as follows:
-Wl,-Map libgcc/./libgcc.map
Any new ideas?
pinskia at gcc dot gnu dot org wrote:
>------- Additional Comments From pinskia at gcc dot gnu dot org 2003-12-24 22:09 -------
>The map is right (and works with my binutils version, 2.14.90 20031208) so this must be a binutils
>problem.
>
>
>
GCC_3.0 {
global:
_Unwind_GetDataRelBase;
__register_frame_table;
__ucmpdi2;
__addvsi3;
_Unwind_GetTextRelBase;
_Unwind_GetLanguageSpecificData;
__fixunssfdi;
__floatdidf;
__register_frame_info_bases;
__deregister_frame_info;
_Unwind_DeleteException;
__subvdi3;
_Unwind_GetRegionStart;
_Unwind_Resume;
__clear_cache;
__negvsi2;
__cmpdi2;
__ashldi3;
__deregister_frame_info_bases;
__register_frame_info_table;
__absvsi2;
__register_frame_info_table_bases;
_Unwind_Find_FDE;
__ffsdi2;
_Unwind_ForcedUnwind;
_Unwind_GetGR;
__subvsi3;
__register_frame_info;
__ashrdi3;
_Unwind_GetIP;
__floatditf;
__lshrdi3;
__mulvdi3;
__muldi3;
__udivdi3;
__udivmoddi4;
__umoddi3;
__divdi3;
__addvdi3;
__moddi3;
_Unwind_RaiseException;
__negvdi2;
__mulvsi3;
__fixtfdi;
__fixdfdi;
__fixunsdfsi;
__deregister_frame;
_Unwind_SetGR;
__negdi2;
__fixsfdi;
__fixunstfdi;
__register_frame;
_Unwind_SetIP;
__fixunssfsi;
__floatdisf;
__fixunsdfdi;
__absvdi2;
local:
*;
};
GCC_3.3 {
global:
_Unwind_GetCFA;
_Unwind_FindEnclosingFunction;
_Unwind_Resume_or_Rethrow;
_Unwind_Backtrace;
} GCC_3.0;
GCC_3.3.1 {
global:
__gcc_personality_v0;
} GCC_3.3;
GCC_3.4 {
global:
__paritysi2;
__clzsi2;
__ctzsi2;
__popcountdi2;
__popcountsi2;
__paritydi2;
__clzdi2;
__ctzdi2;
} GCC_3.3.1;
Usage: ld [options] file...
Options:
-a KEYWORD Shared library control for HP/UX compatibility
-A ARCH, --architecture ARCH
Set architecture
-b TARGET, --format TARGET Specify target for following input files
-c FILE, --mri-script FILE Read MRI format linker script
-d, -dc, -dp Force common symbols to be defined
-e ADDRESS, --entry ADDRESS Set start address
-E, --export-dynamic Export all dynamic symbols
-EB Link big-endian objects
-EL Link little-endian objects
-f SHLIB, --auxiliary SHLIB Auxiliary filter for shared object symbol table
-F SHLIB, --filter SHLIB Filter for shared object symbol table
-g Ignored
-G SIZE, --gpsize SIZE Small data size (if no size, same as --shared)
-h FILENAME, -soname FILENAME
Set internal name of shared library
-I PROGRAM, --dynamic-linker PROGRAM
Set PROGRAM as the dynamic linker to use
-l LIBNAME, --library LIBNAME
Search for library LIBNAME
-L DIRECTORY, --library-path DIRECTORY
Add DIRECTORY to library search path
-m EMULATION Set emulation
-M, --print-map Print map file on standard output
-n, --nmagic Do not page align data
-N, --omagic Do not page align data, do not make text readonly
--no-omagic Page align data, make text readonly
-o FILE, --output FILE Set output file name
-O Optimize output file
-Qy Ignored for SVR4 compatibility
-q, --emit-relocs Generate relocations in final output
-r, -i, --relocatable Generate relocatable output
-R FILE, --just-symbols FILE
Just link symbols (if directory, same as --rpath)
-s, --strip-all Strip all symbols
-S, --strip-debug Strip debugging symbols
--strip-discarded Strip symbols in discarded sections
--no-strip-discarded Do not strip symbols in discarded sections
-t, --trace Trace file opens
-T FILE, --script FILE Read linker script
-u SYMBOL, --undefined SYMBOL
Start with undefined reference to SYMBOL
--unique [=SECTION] Don't merge input [SECTION | orphan] sections
-Ur Build global constructor/destructor tables
-v, --version Print version information
-V Print version and emulation information
-x, --discard-all Discard all local symbols
-X, --discard-locals Discard temporary local symbols (default)
--discard-none Don't discard any local symbols
-y SYMBOL, --trace-symbol SYMBOL
Trace mentions of SYMBOL
-Y PATH Default search path for Solaris compatibility
-(, --start-group Start a group
-), --end-group End a group
--accept-unknown-input-arch Accept input files whose architecture cannot be determined
--no-accept-unknown-input-arch
Reject input files whose architecture is unknown
-assert KEYWORD Ignored for SunOS compatibility
-Bdynamic, -dy, -call_shared
Link against shared libraries
-Bstatic, -dn, -non_shared, -static
Do not link against shared libraries
-Bsymbolic Bind global references locally
--check-sections Check section addresses for overlaps (default)
--no-check-sections Do not check section addresses for overlaps
--cref Output cross reference table
--defsym SYMBOL=EXPRESSION Define a symbol
--demangle [=STYLE] Demangle symbol names [using STYLE]
--embedded-relocs Generate embedded relocs
-fini SYMBOL Call SYMBOL at unload-time
--force-exe-suffix Force generation of file with .exe suffix
--gc-sections Remove unused sections (on some targets)
--no-gc-sections Don't remove unused sections (default)
--help Print option help
-init SYMBOL Call SYMBOL at load-time
-Map FILE Write a map file
--no-define-common Do not define Common storage
--no-demangle Do not demangle symbol names
--no-keep-memory Use less memory and more disk I/O
--no-undefined Do not allow unresolved references in object files
--allow-shlib-undefined Allow unresolved references in shared libaries
--no-allow-shlib-undefined Do not allow unresolved references in shared libs
--allow-multiple-definition Allow multiple definitions
--no-undefined-version Disallow undefined version
--no-warn-mismatch Don't warn about mismatched input files
--no-whole-archive Turn off --whole-archive
--noinhibit-exec Create an output file even if errors occur
-nostdlib Only use library directories specified on
the command line
--oformat TARGET Specify target of output file
-qmagic Ignored for Linux compatibility
--relax Relax branches on certain targets
--retain-symbols-file FILE Keep only symbols listed in FILE
-rpath PATH Set runtime shared library search path
-rpath-link PATH Set link time shared library search path
-shared, -Bshareable Create a shared library
-pie, --pic-executable Create a position independent executable
--sort-common Sort common symbols by size
--spare-dynamic-tags COUNT How many tags to reserve in .dynamic section
--split-by-file [=SIZE] Split output sections every SIZE octets
--split-by-reloc [=COUNT] Split output sections every COUNT relocs
--stats Print memory usage statistics
--target-help Display target specific options
--task-link SYMBOL Do task level linking
--traditional-format Use same format as native linker
--section-start SECTION=ADDRESS
Set address of named section
-Tbss ADDRESS Set address of .bss section
-Tdata ADDRESS Set address of .data section
-Ttext ADDRESS Set address of .text section
--unresolved-symbols=<method>
How to handle unresolved symbols. <method> is:
ignore-all, report-all, ignore-in-object-files,
ignore-in-shared-libs
--verbose Output lots of information during link
--version-script FILE Read version information script
--version-exports-section SYMBOL
Take export symbols list from .exports, using
SYMBOL as the version.
--warn-common Warn about duplicate common symbols
--warn-constructors Warn if global constructors/destructors are seen
--warn-multiple-gp Warn if the multiple GP values are used
--warn-once Warn only once per undefined symbol
--warn-section-align Warn if start of section changes due to alignment
--warn-unresolved-symbols Report unresolved symbols as warnings
--error-unresolved-symbols Report unresolved symbols as errors
--fatal-warnings Treat warnings as errors
--whole-archive Include all objects from following archives
--wrap SYMBOL Use wrapper functions for SYMBOL
ld: supported targets: elf32-sparc elf64-sparc a.out-sunos-big elf64-little elf64-big elf32-little elf32-big srec symbolsrec tekhex binary ihex
ld: supported emulations: elf32_sparc elf64_sparc
ld: emulation specific options:
elf32_sparc:
-Bgroup Selects group name lookup rules for DSO
--disable-new-dtags Disable new dynamic tags
--enable-new-dtags Enable new dynamic tags
--eh-frame-hdr Create .eh_frame_hdr section
-z combreloc Merge dynamic relocs into one section and sort
-z defs Report unresolved symbols in object files.
-z execstack Mark executable as requiring executable stack
-z initfirst Mark DSO to be initialized first at runtime
-z interpose Mark object to interpose all DSOs but executable
-z loadfltr Mark object requiring immediate process
-z muldefs Allow multiple definitions
-z nocombreloc Don't merge dynamic relocs into one section
-z nocopyreloc Don't create copy relocs
-z nodefaultlib Mark object not to use default search paths
-z nodelete Mark DSO non-deletable at runtime
-z nodlopen Mark DSO not available to dlopen
-z nodump Mark DSO not available to dldump
-z noexecstack Mark executable as not requiring executable stack
-z now Mark object non-lazy runtime binding
-z origin Mark object requiring immediate $ORIGIN processing
at runtime
-z KEYWORD Ignored for Solaris compatibility
elf64_sparc:
-Bgroup Selects group name lookup rules for DSO
--disable-new-dtags Disable new dynamic tags
--enable-new-dtags Enable new dynamic tags
--eh-frame-hdr Create .eh_frame_hdr section
-z combreloc Merge dynamic relocs into one section and sort
-z defs Report unresolved symbols in object files.
-z execstack Mark executable as requiring executable stack
-z initfirst Mark DSO to be initialized first at runtime
-z interpose Mark object to interpose all DSOs but executable
-z loadfltr Mark object requiring immediate process
-z muldefs Allow multiple definitions
-z nocombreloc Don't merge dynamic relocs into one section
-z nocopyreloc Don't create copy relocs
-z nodefaultlib Mark object not to use default search paths
-z nodelete Mark DSO non-deletable at runtime
-z nodlopen Mark DSO not available to dlopen
-z nodump Mark DSO not available to dldump
-z noexecstack Mark executable as not requiring executable stack
-z now Mark object non-lazy runtime binding
-z origin Mark object requiring immediate $ORIGIN processing
at runtime
-z KEYWORD Ignored for Solaris compatibility
Report bugs to bug-binutils@gnu.org
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=13486