This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH] IA64 VMS
- From: Nick Clifton <nickc at redhat dot com>
- To: Douglas B Rupp <rupp at gnat dot com>
- Cc: binutils at sourceware dot org
- Date: Thu, 04 Dec 2008 13:19:06 +0000
- Subject: Re: [PATCH] IA64 VMS
- References: <4930BA9E.50509@gnat.com>
Hi Douglas,
The patch is mostly OK, but I did have a few problems getting it to
build. For example:
.../bfd/vmsutil.c: In function 'vms_file_stats_name':
.../bfd/vmsutil.c:252: error: integer constant is too large for 'long'
type
which I fixed by changing:
+#define VMS_EPOCH_OFFSET 35067168000000000
to:
+#define VMS_EPOCH_OFFSET 35067168000000000LL
Also:
.../gas/config/tc-ia64.c: In function 'ia64_elf_section_letter':
.../gas/config/tc-ia64.c:848: error: overflow in implicit constant
conversion
.../gas/config/tc-ia64.c:850: error: overflow in implicit constant
conversion
Which does not appear to have a simple fix, since the attribute value
that this function returns is intended to be a 'long' and the constant
values that are triggering the above error messages are 'long long's.
(Note - I am building on a 32-bit host...)
There are also some formatting issues in the patch:
+ ia64*-*-*vms*)
+ # No gdb or ld support yet.
+ noconfigdirs="$noconfigdirs ${libgcj} tix readline mmalloc libgui
itcl gdb ld"
++ ;;
Something went wrong with the above fragment - you have an extraneous
'+' character at the start of the last line.
+int
+vms_file_stats_name (filename, cdt, siz, rfo, ver)
+ const char *filename;
+ long long *cdt;
+ long *siz;
+ char *rfo;
+ int *ver;
We are switching to ISO C standard formatting for the binutils sources,
so please could you include a function's parameter types in the function
declaration. Ie:
+int
+vms_file_stats_name (const char *filename,
+ long long *cdt,
+ long *siz,
+ char *rfo,
+ int *ver)
Also we are no longer using the PTR and PARAMS macros, so please could
you change code like this:
+static void elfNN_vms_post_process_headers
+ PARAMS ((bfd *abfd, struct bfd_link_info *info));
to:
+static void elfNN_vms_post_process_headers
+ bfd *, struct bfd_link_info *);
Comments should be treated as sentances, so:
+ /* create the .note section. */
should start with a capital letter:
+ /* Create the .note section. */
Cheers
Nick