linux-user: Move target_to_host_errno_table[] setup out of ioctl loop
The code to initialise the target_to_host_errno_table[] array was accidentally inside the loop through checking and initialising all the supported ioctls. This was harmless but meant that we reinitialised the array several hundred times on startup. Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
5f72307d90
commit
dd6e957a14
@ -4606,6 +4606,12 @@ void syscall_init(void)
|
||||
#undef STRUCT
|
||||
#undef STRUCT_SPECIAL
|
||||
|
||||
/* Build target_to_host_errno_table[] table from
|
||||
* host_to_target_errno_table[]. */
|
||||
for (i = 0; i < ERRNO_TABLE_SIZE; i++) {
|
||||
target_to_host_errno_table[host_to_target_errno_table[i]] = i;
|
||||
}
|
||||
|
||||
/* we patch the ioctl size if necessary. We rely on the fact that
|
||||
no ioctl has all the bits at '1' in the size field */
|
||||
ie = ioctl_entries;
|
||||
@ -4625,11 +4631,6 @@ void syscall_init(void)
|
||||
(size << TARGET_IOC_SIZESHIFT);
|
||||
}
|
||||
|
||||
/* Build target_to_host_errno_table[] table from
|
||||
* host_to_target_errno_table[]. */
|
||||
for (i=0; i < ERRNO_TABLE_SIZE; i++)
|
||||
target_to_host_errno_table[host_to_target_errno_table[i]] = i;
|
||||
|
||||
/* automatic consistency check if same arch */
|
||||
#if (defined(__i386__) && defined(TARGET_I386) && defined(TARGET_ABI32)) || \
|
||||
(defined(__x86_64__) && defined(TARGET_X86_64))
|
||||
|
Loading…
Reference in New Issue
Block a user