of Patches for HP-UX support on IA64

Jim Wilson wilson@cygnus.com
Wed Mar 14 16:00:00 GMT 2001


This looks OK.  I'm not too concerned about the exact contents of the hpux
files, as I don't have access to ia64-hpux.  And you aren't touching any of
the linux or aix5 files, so you can't be breaking those.

Do we have copyright assignments for you and Reva?  Presumably you don't have
write access, so I will need to check this in?

There are a number of minor things that could be improved here.

>The only thing I did not do was to put the definition of
>ASM_OUTPUT_DWARF_OFFSET in ia64.h instead of hpux.h.

This is a known problem, we just never got around to implementing it for
linux as we didn't need it.  I will put this on my todo list.

+ #undef CPP_SPEC
+ #define CPP_SPEC "\

Ideally, you should not be overriding the ia64.h CPP_SPEC definition.  This
means that next time I change this macro, the hpux port will be broken,
unless I remember to change all copies of this macro.

Better is to modify the ia64.h file to include OS_CPP_SPEC in CPP_SPEC,
and define OS_CPP_SPEC to empty.  Then in hpux.h you define OS_CPP_SPEC
to include all of the hpux specific stuff you need.  See for instance
SUBTARGET_CPP_SPEC in config/mips/mips.h.  At the same time, we may also need
an ENDIAN_SPEC just like the mips port to fix endianness assumptions in ia64.h.

+ #undef ASM_SPEC
+ #define ASM_SPEC "-x %{mconstant-gp} %{mauto-pic}"

I think this needs to be moved to ia64/sysv4.h, as the aix/linux/hpux ports
all needed to define this.  This is probably something I should do.

+ #define JMP_BUF_SIZE  (8 * 76)

This disagrees with the linux.h file.  The linux.h file is correct.
I think this is moot though, since we shouldn't be using setjmp or
builtin_setjmp anymore.  Also, this is another thing that should be moved to
sysv4.h.  

Jim



More information about the Gcc-patches mailing list