This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug bootstrap/13486] build dies in link step


------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]