Article View: gnu.gcc.help
Article #51669gcc 2.3.3 and alpha-osf odd assembly problem
From: Paul Tatarsky
Date: Tue, 20 Apr 1993 16:49
Date: Tue, 20 Apr 1993 16:49
77 lines
3774 bytes
3774 bytes
I know that 2.3.1 compiled with a configure alpha-dec-osf,
but for some reason, 2.3.3 is giving me the following problem:
BOX: DEC Alpha 3000/400
OS: OSF/1 1.2 rev 10
LOCAL: 1. configure alpha-dec-osf
2. changed the verstamp macro to match /usr/include/stamp.h
3. in rtl.def there is a macro conflict over the meaning of ABS
which is defined in /usr/include/asm.h to mean:
#define ABS(x, y)
which then conflicts with line 713 of rtl.def:
/* Absolute value */
DEF_RTL_EXPR(ABS, "abs", "e", '1')
Current hack is an #undef ABS in front of that declare.
Don't know if this is a really bad idea or not.
4. removed the -g items from the Makefile to cut down on warnings
about "this version doesn't support"
make LANGUAGES=c
....(no problems until we hit the first xcc build of libgcc.a)
for file in .. ; do if [ x${file} != x.. ]; then name=`echo ${file} | sed -e 's/[.]c$//' -e 's/[.]asm$//'`; echo ${name}; if [ ${name}.asm = ${file} ]; then cp ${file} ${name}.s || exit 1; file=${name}.s; else true; fi; cc -O -I. -I. -I./config -c ${file}; if [ $? -eq 0 ] ; then true; else exit 1; fi; ar qc tmplibgcc1.a ${name}.o; if [ $? -eq 0 ] ; then true; else exit 1; fi; rm -f ${name}.[so]; else true; fi; done
mv tmplibgcc1.a libgcc1.a
if [ -f /usr/include/limits.h ] ; then cat ./limitx.h ./glimits.h ./limity.h > xlimits.h; else cat ./glimits.h > xlimits.h; fi
if [ -f libgcc2.ready ] ; then true; else touch libgcc2.ready; fi
rm -f tmplibgcc2.a
set -e; for name in _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2
_lshrdi3 _lshldi3 _ashldi3 _ashrdi3 _udiv_w_sdiv _udivmoddi4 _cmpdi2
_ucmpdi2
_floatdidf _floatdisf _fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi
_fixunssfdi _fixsfdi __gcc_bcmp _varargs _eprintf _builtin_new _caps_New
_builtin_del _bb _shtab _clear_cache _trampoline __main _exit _ctors;
do echo ${name}; ./xgcc -B./ -O2 -DIN_GCC -I. -I. -I./config -c
-DL${name} ./libgcc2.c -o ${name}.o; if [ $? -eq 0 ] ; then true;
else exit 1; fi; ar rc tmplibgcc2.a ${name}.o; rm -f ${name}.o; done
_muldi3
_divdi3
_moddi3
_udivdi3
_umoddi3
_negdi2
_lshrdi3
_lshldi3
_ashldi3
_ashrdi3
_udiv_w_sdiv
_udivmoddi4
libmld--as1: Error: /tmp/cc003584.s, line 5: .mask must have pcreg from .frame set if any bits are set in .mask or .fmask
The relevant assembly code being questioned is:
line 266:
.text
.align 3
.globl __udivmoddi4
.ent __udivmoddi4 2
__udivmoddi4:
ldgp $29,0($27)
lda $30,-32($30)
.frame $30,32,$26
stq $9,0($30)
stq $10,8($30)
stq $11,16($30)
stq $12,24($30)
.mask 0x1e00,-32
sra $17,32,$28
sra $16,32,$8
addl $17,$31,$17
Outside the scope of my knowledge to fix this, and Alpha assembly
wizards? Patch for gcc?
Paul Tatarsky email: paul@cse.ucsc.edu
UC Santa Cruz
CIS/CE Board
Technical Staff
Technical Details
Message-ID:
<1r19jeINNa4b@darkstar.UCSC.EDU>Path:
arc1-ca.pugleaf.net!gmd.de!newsserver.jvnc.net!howland.reston.ans.net!agate!darkstar.UCSC.EDU!aztec!paulShow Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 11318c,d424d6f57764cbb9,start X-Google-Attributes: gid11318c,public X-Google-Thread: fee84,d424d6f57764cbb9,start X-Google-Attributes: gidfee84,public X-Google-ArrivalTime: 1993-04-20 09:56:47 PST Path: arc1-ca.pugleaf.net!gmd.de!newsserver.jvnc.net!howland.reston.ans.net!agate!darkstar.UCSC.EDU!aztec!paul From: paul@aztec.ucsc.edu ( Paul Tatarsky) Newsgroups: gnu.gcc.help,comp.unix.osf.osf1 Subject: gcc 2.3.3 and alpha-osf odd assembly problem Date: 20 Apr 1993 16:49:50 GMT Organization: UC Santa Cruz CIS/CE Lines: 77 Distribution: world Message-ID: <1r19jeINNa4b@darkstar.UCSC.EDU> Reply-To: paul@terra.ucsc.edu NNTP-Posting-Host: aztec.ucsc.edu