cvs commit: src/lib/libarchive Makefile archive_read_support_format_iso9660.c archive_write_set_format_ustar.c

Tim Kientzle kientzle at FreeBSD.org
Sat Nov 25 21:39:28 PST 2006


kientzle    2006-11-26 05:39:28 UTC

  FreeBSD src repository

  Modified files:
    lib/libarchive       Makefile 
                         archive_read_support_format_iso9660.c 
                         archive_write_set_format_ustar.c 
  Log:
  Unbreak libarchive on arm.  Two parts of libarchive relied on a
  traditional shortcut of defining on-disk layouts using structures of
  character arrays. Unfortunately, as recently discussed on cvs-all@,
  this usage is not actually sanctioned by the standards and
  specifically fails on GCC/arm (unless your data structures happen to
  be "naturally aligned").
  
  The new code defines offsets/sizes for data fields and accesses
  them using explicit pointer arithmetic, instead of casting to
  a structure and accessing structure fields.  In particular,
  the new code is now clean with WARNS=6 on arm.
  
  MFC after: 14 days
  
  Revision  Changes    Path
  1.55      +0 -5      src/lib/libarchive/Makefile
  1.15      +156 -105  src/lib/libarchive/archive_read_support_format_iso9660.c
  1.18      +128 -87   src/lib/libarchive/archive_write_set_format_ustar.c


More information about the cvs-src mailing list