Int mib[4];
SysRes sres;
vki_size_t len;
- Char *bp, *eb;
+ Char *bp;
+ Char *eb;
struct vki_kinfo_file *kf;
static HChar *buf = NULL;
static SizeT bufsiz = 0;
eb = filedesc_buf + len;
while (bp < eb) {
kf = (struct vki_kinfo_file *)bp;
- if (kf->vki_kf_fd == fd)
+ if (kf->vki_kf_fd == fd) {
break;
+ }
bp += kf->vki_kf_structsize;
}
- if (bp >= eb || *kf->vki_kf_path == '\0')
+ if (bp >= eb || *kf->vki_kf_path == '\0') {
VG_(strncpy)( buf, "[unknown]", bufsiz );
- else
+ } else {
VG_(strncpy)( buf, kf->vki_kf_path, bufsiz );
+ }
*result = buf;
return True;
#else
* so that filedesc_buf is still valid for fd */
Bool VG_(resolve_filemode) ( Int fd, Int * result )
{
- Char *bp, *eb;
+ Char *bp;
+ Char *eb;
struct vki_kinfo_file *kf;
/* Walk though the list. */
eb = filedesc_buf + sizeof(filedesc_buf);
while (bp < eb) {
kf = (struct vki_kinfo_file *)bp;
- if (kf->vki_kf_fd == fd)
+ if (kf->vki_kf_fd == fd) {
break;
+ }
bp += kf->vki_kf_structsize;
}
- if (bp >= eb)
+ if (bp >= eb) {
*result = -1;
- else
+ } else {
*result = kf->vki_kf_flags;
+ }
return True;
}
#else
/* Use gcc's built-in setjmp/longjmp. longjmp must not restore signal
mask state, but does need to pass "val" through. jumped must be a
volatile UWord. */
-#define SCHEDSETJMP(tid, jumped, stmt) \
- do { \
- ThreadState * volatile _qq_tst = VG_(get_ThreadState)(tid); \
- \
- (jumped) = VG_MINIMAL_SETJMP(_qq_tst->sched_jmpbuf); \
- if ((jumped) == ((UWord)0)) { \
- vg_assert(!_qq_tst->sched_jmpbuf_valid); \
- _qq_tst->sched_jmpbuf_valid = True; \
- stmt; \
- } else if (VG_(clo_trace_sched)) \
- VG_(printf)("SCHEDSETJMP(line %d) tid %u, jumped=%lu\n", \
- __LINE__, tid, jumped); \
- vg_assert(_qq_tst->sched_jmpbuf_valid); \
- _qq_tst->sched_jmpbuf_valid = False; \
+#define SCHEDSETJMP(tid, jumped, stmt) \
+ do { \
+ ThreadState * volatile _qq_tst = VG_(get_ThreadState)(tid); \
+ \
+ (jumped) = VG_MINIMAL_SETJMP(_qq_tst->sched_jmpbuf); \
+ if ((jumped) == ((UWord)0)) { \
+ vg_assert(!_qq_tst->sched_jmpbuf_valid); \
+ _qq_tst->sched_jmpbuf_valid = True; \
+ stmt; \
+ } else if (VG_(clo_trace_sched)) \
+ VG_(printf)("SCHEDSETJMP(line %d) tid %u, jumped=%lu\n", \
+ __LINE__, tid, jumped); \
+ vg_assert(_qq_tst->sched_jmpbuf_valid); \
+ _qq_tst->sched_jmpbuf_valid = False; \
} while(0)
{
ThreadState* tst;
struct vki_ucontext *uc;
- int rflags;
+ ULong rflags;
PRINT("sys_sigreturn ( %#" FMT_REGWORD "x )", ARG1);
PRE_REG_READ1(long, "sigreturn",
the guest registers written by VG_(sigframe_destroy). */
rflags = LibVEX_GuestAMD64_get_rflags(&tst->arch.vex);
SET_STATUS_from_SysRes( VG_(mk_SysRes_amd64_freebsd)( tst->arch.vex.guest_RAX,
- tst->arch.vex.guest_RDX, (rflags & 1) != 0 ? True : False) );
+ tst->arch.vex.guest_RDX, (rflags & 1U) != 0U ? True : False) );
/*
* Signal handler might have changed the signal mask. Respect that.
/* Translate a struct modify_ldt_ldt_s to a VexGuestX86SegDescr */
static
-void translate_to_hw_format ( /* IN */ void* base,
- /* OUT */ VexGuestX86SegDescr* out)
+void translate_to_hw_format( /* IN */ void* base,
+ /* OUT */ VexGuestX86SegDescr* out)
{
UInt entry_1, entry_2;
UInt base_addr = (UInt) base;
vg_assert(8 == sizeof(VexGuestX86SegDescr));
- if (0)
+ if (0) {
VG_(printf)("translate_to_hw_format: base %p\n", base );
+ }
/* Allow LDTs to be cleared by the user. */
if (base == 0) {
Int i;
vg_assert(src);
vg_assert(dst);
- for (i = 0; i < VEX_GUEST_X86_LDT_NENT; i++)
+ for (i = 0; i < VEX_GUEST_X86_LDT_NENT; i++) {
dst[i] = src[i];
+ }
}
/* Copy contents between two existing GDTs. */
Int i;
vg_assert(src);
vg_assert(dst);
- for (i = 0; i < VEX_GUEST_X86_GDT_NENT; i++)
+ for (i = 0; i < VEX_GUEST_X86_GDT_NENT; i++) {
dst[i] = src[i];
+ }
}
/* Free this thread's DTs, if it has any. */
{
vg_assert(sizeof(HWord) == sizeof(void*));
- if (0)
+ if (0) {
VG_(printf)("deallocate_LGDTs_for_thread: "
"ldt = 0x%llx, gdt = 0x%llx\n",
vex->guest_LDT, vex->guest_GDT );
+ }
if (vex->guest_LDT != (HWord)NULL) {
free_LDT_or_GDT( (VexGuestX86SegDescr*)vex->guest_LDT );
Wine). */
for (idx = 1; idx < VEX_GUEST_X86_GDT_NENT; idx++) {
if (gdt[idx].LdtEnt.Words.word1 == 0
- && gdt[idx].LdtEnt.Words.word2 == 0)
+ && gdt[idx].LdtEnt.Words.word2 == 0) {
break;
+ }
}
- if (idx == VEX_GUEST_X86_GDT_NENT)
+ if (idx == VEX_GUEST_X86_GDT_NENT) {
return VG_(mk_SysRes_Error)( VKI_ESRCH );
+ }
} else if (idx < 0 || idx == 0 || idx >= VEX_GUEST_X86_GDT_NENT) {
/* Similarly, reject attempts to use GDT[0]. */
return VG_(mk_SysRes_Error)( VKI_EINVAL );