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]

Re: [PATCH] IA64 VMS


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


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