This is the mail archive of the binutils@sourceware.org mailing list for the binutils 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]

Help with mcmodel=medium


Hello -

I'm dealing with an old Fortran code that statically declares its arrays and we're now pushing beyond the 2GB data section limit. So, we're attempting to compile with the medium memory model.

Unfortunately, we're running into trouble linking to the HDF 4 library. We're using pgf95 as our fortran compiler and gcc 4.1.1 as our C compiler. Using '-mcmodel=medium' with pgf95 and "-fPIC -mcmodel=medium" with gcc. During link we get:

/usr/bin/ld /usr/lib64/crt1.o /usr/lib64/crti.o /nfs/local/pgi/linux86-64/7.1-6/libso/trace_init.o /usr/lib/gcc/x86_64-redhat-linux/4.1.1/crtbegin.o /nfs/local/pgi/linux86-64/7.1-6/libso/f90main.o -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 /nfs/local/pgi/linux86-64/7.1-6/lib/pgi.ld -L/nfs/local/pgi/linux86-64/7.1-6/libso -L/usr/pgi/7.1-6/share_objects/lib64 -L/nfs/local/pgi/linux86-64/7.1-6/lib -L/usr/lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.1.1 main.o io.o init_a1d.o init_a3d.o init_con.o /data/cora1/clouds/COMMAS.ag/nested_main/Solver/solver.a /opt/local/netcdf-pgf64/lib/libnetcdff.a /opt/local/netcdf-pgf64/lib/libnetcdf.a /opt/local/hdf-pgf64-medium/lib/libdf.a -ljpeg -lz -rpath /nfs/local/pgi/linux86-64/7.1-6/libso -rpath /usr/pgi/7.1-6/share_objects/lib64 -rpath /nfs/local/pgi/linux86-64/7.1-6/lib -o init -lpgf90 -lpgf90_rpm1 -lpgf902 -lpgf90rtl -lpgftnrtl -lnspgc -lpgc -lrt -lpthread -lm -lgcc -lc -lgcc /usr/lib/gcc/x86_64-redhat-linux/4.1.1/crtend.o /usr/lib64/crtn.o
/opt/local/hdf-pgf64-medium/lib/libdf.a(dfsd.o): In function `DFSDgetdims':
/scratch/orion/HDF4.2r3/hdf/src/dfsd.c:244: relocation truncated to fit: R_X86_64_PC32 against `.bss'
/opt/local/hdf-pgf64-medium/lib/libdf.a(dfsd.o): In function `DFSDgetdatastrs':
/scratch/orion/HDF4.2r3/hdf/src/dfsd.c:315: relocation truncated to fit: R_X86_64_PC32 against `.bss'
/opt/local/hdf-pgf64-medium/lib/libdf.a(dfsd.o): In function `DFSDgetdimstrs':
/scratch/orion/HDF4.2r3/hdf/src/dfsd.c:389: relocation truncated to fit: R_X86_64_PC32 against `.bss'
/opt/local/hdf-pgf64-medium/lib/libdf.a(dfsd.o): In function `DFSDgetdatalen':
/scratch/orion/HDF4.2r3/hdf/src/dfsd.c:460: relocation truncated to fit: R_X86_64_PC32 against `.bss'
/opt/local/hdf-pgf64-medium/lib/libdf.a(dfsd.o): In function `DFSDgetdimlen':
/scratch/orion/HDF4.2r3/hdf/src/dfsd.c:508: relocation truncated to fit: R_X86_64_PC32 against `.bss'
/opt/local/hdf-pgf64-medium/lib/libdf.a(dfsd.o): In function `DFSDgetdimscale':
/scratch/orion/HDF4.2r3/hdf/src/dfsd.c:563: relocation truncated to fit: R_X86_64_PC32 against `.bss'
/opt/local/hdf-pgf64-medium/lib/libdf.a(dfsd.o): In function `DFSDgetrange':
/scratch/orion/HDF4.2r3/hdf/src/dfsd.c:642: relocation truncated to fit: R_X86_64_PC32 against `.bss'
/scratch/orion/HDF4.2r3/hdf/src/dfsd.c:655: relocation truncated to fit: R_X86_64_PC32 against `.bss'
/opt/local/hdf-pgf64-medium/lib/libdf.a(dfsd.o): In function `DFSDsetlengths':
/scratch/orion/HDF4.2r3/hdf/src/dfsd.c:747: relocation truncated to fit: R_X86_64_PC32 against `.bss'
/opt/local/hdf-pgf64-medium/lib/libdf.a(dfsd.o): In function `DFSDsetdims':
/scratch/orion/HDF4.2r3/hdf/src/dfsd.c:798: relocation truncated to fit: R_X86_64_PC32 against `.bss'
/scratch/orion/HDF4.2r3/hdf/src/dfsd.c:802: additional relocation overflows omitted from the output



$ ld --version GNU ld version 2.17.50.0.6-2.el5 20061020

Any ideas as to what is going on?

Thanks!

--
Orion Poplawski
Technical Manager                     303-415-9701 x222
NWRA/CoRA Division                    FAX: 303-415-9702
3380 Mitchell Lane                  orion@cora.nwra.com
Boulder, CO 80301              http://www.cora.nwra.com


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