FreeBSD Bugzilla – Attachment 166856 Details for
Bug 207091
[exp-run] installing ELF Tool Chain elfcopy in place of binutils objcopy
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
copy of libpe_utils to avoid diff issues
libpe_utils.c (text/x-c), 2.00 KB, created by
Ed Maste
on 2016-02-10 22:20:33 UTC
(
hide
)
Description:
copy of libpe_utils to avoid diff issues
Filename:
MIME Type:
Creator:
Ed Maste
Created:
2016-02-10 22:20:33 UTC
Size:
2.00 KB
patch
obsolete
>/*- > * Copyright (c) 2016 Kai Wang > * All rights reserved. > * > * Redistribution and use in source and binary forms, with or without > * modification, are permitted provided that the following conditions > * are met: > * 1. Redistributions of source code must retain the above copyright > * notice, this list of conditions and the following disclaimer. > * 2. Redistributions in binary form must reproduce the above copyright > * notice, this list of conditions and the following disclaimer in the > * documentation and/or other materials provided with the distribution. > * > * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND > * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE > * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT > * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY > * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF > * SUCH DAMAGE. > */ > >#include <sys/param.h> >#include <assert.h> >#include <errno.h> >#include <string.h> >#include <unistd.h> > >#include "_libpe.h" > >ELFTC_VCSID("$Id: libpe_utils.c 3312 2016-01-10 09:23:51Z kaiwang27 $"); > >off_t >libpe_align(PE *pe, off_t off, size_t align) >{ > off_t n; > > assert(align > 0 && (align & (align - 1)) == 0); > > n = roundup(off, align); > if (n > off) { > if (libpe_pad(pe, n - off) < 0) > return (-1); > } > > return (n); >} > >int >libpe_pad(PE *pe, size_t pad) >{ > char tmp[128]; > size_t s; > > memset(tmp, 0, sizeof(tmp)); > for (; pad > 0; pad -= s) { > s = pad > sizeof(tmp) ? sizeof(tmp) : pad; > if (write(pe->pe_fd, tmp, s) != (ssize_t) s) { > errno = EIO; > return (-1); > } > } > > return (0); >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 207091
:
166851
|
166852
|
166856
|
166857
|
166986