Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mips #1

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open

Mips #1

wants to merge 2 commits into from

Conversation

piet-delaney
Copy link
Contributor

Could you look at theses changes for supporting MIPS and X86?

-piet

[email protected]

Pete Delaney added 2 commits September 21, 2012 20:39
Doubled the numnber of .config variables modified by the Makefile.
Thanks to Brendan Kirby for his help on the sed overuse of the '|' token.

Signed-off-by: Pete Delaney <[email protected]>
1. Added patches to check for system call numbers in busy box lib:

   A. Currently needed for:
      i)  X86
      ii) MIPS when compiled with -D_MIPS_SIM= which is correct.

   B. Sorry about the white space at the EOL; wasn't trivial to remove.
      Might be re-doing the patch in the near future.

   C. Will look into using syscall(__NR_restart_syscall:0)
      to set errno correctly.


2. Updated Makefile:

   A. Now supports ARCH X86.

   B. Builds MIPS ARCH with _MIPS_SIM_ABI32:
      i) Was building with -D_MIPS_SIM=_MIPS_SIM_NABI32 to get around
         a problem with system call numbers not being defined for ABI32.
         Likely deserves a better fix.

3. Disabled Vi use of signals:

   A. X86 librarys are missing siglongjmp() and sigsetjmp() symbols
      in android-ndk-r8b. Simply disabled for arm, x86, and mips for now.
      Expect a new NDK shortly. Not a problem for arm and mips.

Signed-off-by: Pete Delaney <[email protected]>
@tias
Copy link
Owner

tias commented Jan 23, 2013

Hi Piet,

Looks great, I've merged most of it (slightly split op).

The remaining two changes:

  • any specific reason to change sysroot to android-14?
  • what's with the ifdef __ calls?
    if MIPS doesn't support any of the syscalls then maybe the entire missing_syscalls.c file should be guarded with an #ifdef? And what happens with applets that would try to use one of those syscalls?

Kind regards,
Tias

@piet-delaney
Copy link
Contributor Author

On 01/23/2013 02:00 PM, Tias Guns wrote:

Hi Piet,

Looks great, I've merged most of it (slightly split op).

_That's nice to hear. I've never had to pull from a repo that I cloned
on github.
Is there a trivial procedure for that? Otherwise I'll just pull it from
your repo
on github. *_Perhaps you could let me know when it's a good time to pull.
*

The remaining two changes:

  • any specific reason to change sysroot to android-14?

Not that I recall. Seems like it would be nice to leave it a definable
constant.
*

**I just checked one of my android-busybox-ndk git repo's and it
looks like I was using android-9 then and the later repo pointing
**to git hub uses android-14. **
**
_Looks like for LTP Android development I'm also using _android-14
*for the r8b release.

  • 30 if [ "$RELEASE" = "r8b" ]; then**
    ** 31 SYSROOT=${NDK_ROOT}/platforms/android-14/arch-$ARCH
  • 32 case $ARCH in
    33 "arm")
    34 HOST=arm-linux
    35
    PREFIX=$NDK_ROOT/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-
    36 ;;
    37 "mips")
    38 HOST=mipsel-linux
    39
    PREFIX=$NDK_ROOT/toolchains/mipsel-linux-android-4.6/prebuilt/linux-x86/bin/mipsel-linux-android-
    40 ;;
    41 "x86")
    42 HOST=x86-linux
    43
    PREFIX=$NDK_ROOT/toolchains/x86-4.6/prebuilt/linux-x86/bin/i686-linux-android-
    44 ;;
    45 esac
    46 else
    47 echo "RELEASE: '$RELEASE != 'r8b'; Update this script or change
    NDK versions."
    *
    * 48 exit 1
    49 fi

For Busybox it might be nice to just specify the $RELEASE and have the*
Makefile pick a likely good default __/SYSROOT;*/like I did above
for LTP.

I'm thinking of trying to use Lib-Portable with XBMC. My 1st shot at
XMBC used android-ndk-r7-crystax-5.beta3
*
*it seems to support a number of platforms:

  • /opt/android-ndk-r7-crystax-5.beta3/platforms
    ** android-14 android-3 android-4 android-5 android-8
    android-9

* ** what's with the ifdef __ calls? if MIPS doesn't support any of
the syscalls then maybe the entire missing_syscalls.c file should
be guarded with an #ifdef? And what happens with applets that
would try to use one of those syscalls?

__I think that's not likely the best solution. _The LTP test show that
all of the syscall(NR, ...) for ARM**
are working for MIPS when we do Lib-Portable mapping of just a few of
the non-portable syscall() numbers.

My guess is that __NR_semctl __NR_semop __NR_shmctl __NR_msgctl
weren't tested. I doubt they are

**supported on Android. **
**
I've got a private git repo for LTP running on Android and could add
you as a collaborator. I got

the ok to add the LTP gatekeeper Cyril Hrubis as a collaborator a few
months ago. I could also
send you the LPT results
for MIPS, ARM, and/or Lib-Portable it your
interested. LTP is now handling
all of the LTP test with Lib-Portable as it handles with ARM on Android
in QEMU simulation.

Doing a quick check of the ARM LTP results for _/semop/_showedthey
they always fail.
Interesting as they are in the latest AOSP bionic:

*
piet@ubuntu-piet-2:~/src/Development/bionic$ git grep semop
libc/kernel/arch-arm/asm/unistd.h:#define __NR_semop
(__NR_SYSCALL_BASE+298)
libc/kernel/arch-mips/asm/unistd.h:#define __NR_semop (__NR_Linux + 63)
libc/kernel/arch-mips/asm/unistd.h:#define __NR_semop (__NR_Linux + 63)

piet@ubuntu-piet-2:~/src/Development/bionic$ *git grep semctl *
libc/kernel/arch-arm/asm/unistd.h:#define __NR_semctl

(__NR_SYSCALL_BASE+300)
libc/kernel/arch-mips/asm/unistd.h:#define __NR_semctl (__NR_Linux + 64)
libc/kernel/arch-mips/asm/unistd.h:#define __NR_semctl (__NR_Linux + 64)

_Notice that _semctland semopare not defined for X86 and only
twice for MI
PS.**
**
Looking at bionic/libc/kernel/arch-mips/asm/unistd.h semctl is
defined at:

22 #if _MIPS_SIM == _MIPS_SIM_ABI32
...
459 #endif

462 #if _MIPS_SIM == _MIPS_SIM_ABI64
...
545 #define __NR_semctl (__NR_Linux + 64)
...
847 #endif

851 #if _MIPS_SIM == _MIPS_SIM_NABI32
...
934 #define __NR_semctl (__NR_Linux + 64)
...
1242 #endif

I believe the old O32/MIPS_SIM_ABI32 is used for QEMU, which is where
I'm using LPT
*
**on the Android Simulator. Perhaps the O32/MIPS_SIM_ABI32 combines the **
sema syscalls into on syscall. I recall when I did some porting of V7
to Programmers

Work Bench back in 1982 or so that AT&T was doing multiple kernel
functions

with one system call. I never really liked it.
**
Checking out the Android NDK, the situation looks similar:
*
piet@ubuntu-piet-2:/opt/android-ndk-r8b$ git grep semctl
platforms/android-14/arch-arm/usr/include/asm/unistd.h:#define
__NR_semctl (__NR_SYSCALL_BASE+300)
platforms/android-14/arch-mips/usr/include/asm/unistd.h:#define
__NR_semctl (__NR_Linux + 64)
platforms/android-14/arch-mips/usr/include/asm/unistd.h:#define
__NR_semctl (__NR_Linux + 64)
platforms/android-14/arch-portable/usr/include/asm/unistd.h:#define
__NR_semctl (__NR_SYSCALL_BASE+300)
platforms/android-3/arch-arm/usr/include/asm/unistd.h:#define
__NR_semctl (__NR_SYSCALL_BASE+300)
platforms/android-4/arch-arm/usr/include/asm/unistd.h:#define
__NR_semctl (__NR_SYSCALL_BASE+300)
platforms/android-5/arch-arm/usr/include/asm/unistd.h:#define
__NR_semctl (__NR_SYSCALL_BASE+300)
platforms/android-8/arch-arm/usr/include/asm/unistd.h:#define
__NR_semctl (__NR_SYSCALL_BASE+300)
platforms/android-9/arch-arm/usr/include/asm/unistd.h:#define
__NR_semctl (__NR_SYSCALL_BASE+300)
platforms/android-9/arch-mips/usr/include/asm/unistd.h:#define
__NR_semctl (__NR_Linux + 64)
platforms/android-9/arch-mips/usr/include/asm/unistd.h:#define
__NR_semctl (__NR_Linux + 64)
piet@ubuntu-piet-2:/opt/android-ndk-r8b$

The Linux kernel likely supports these syscalls(), thought it might be
indirect
with syscall(),__thought looking around with Google I didn't confirm
that.__If the
numbers aren't defined in the kernel I expect the syscall() won't be
able to do it,
so *
*__NR_semctl for a kernel compiled for the Old ABI likely will fail.

*Looking at the kernel instances of say __NR_semctl:

arch/alpha/include/asm/unistd.h:#define __NR_semctl 204
arch/arm/include/asm/unistd.h:#define __NR_semctl
(__NR_SYSCALL_BASE+300)
arch/avr32/include/asm/unistd.h:#define __NR_semctl 272
arch/blackfin/include/asm/unistd.h:#define __NR_semctl 331
arch/ia64/include/asm/unistd.h:#define __NR_semctl 1108
arch/microblaze/include/asm/unistd.h:#define __NR_semctl 28 /* ok */
arch/mips/include/asm/unistd.h:#define __NR_semctl
(__NR_Linux + 64)
arch/mips/include/asm/unistd.h:#define __NR_semctl
(__NR_Linux + 64)
arch/parisc/include/asm/unistd.h:#define __NR_semctl
(__NR_Linux + 187)
arch/sh/include/asm/unistd_64.h:#define __NR_semctl 239
arch/xtensa/include/asm/unistd.h:#define __NR_semctl 164
include/asm-generic/unistd.h:#define __NR_semctl 191
include/asm-generic/unistd.h:__SC_COMP(__NR_semctl, sys_semctl,
compat_sys_semctl)

*LTP has been a useful test on system call working, and off hand the
results seems to be
that syscall(senop) at least has issues:
*

Log.Results.ARM.LTP_RUN_ON-2012_Oct_26-05h_23m_33s:semop01
FAIL 2
Log.Results.ARM.LTP_RUN_ON-2012_Oct_26-05h_23m_33s:semop02
FAIL 2
Log.Results.ARM.LTP_RUN_ON-2012_Oct_26-05h_23m_33s:semop03
FAIL 2
Log.Results.ARM.LTP_RUN_ON-2012_Oct_26-05h_23m_33s:semop04
FAIL 2
Log.Results.ARM.LTP_RUN_ON-2012_Oct_26-05h_23m_33s:semop05
FAIL 2

Looking at the kernel #defines for*_**_NR_semctl*we have a similar
situation
and in the Android NDK and Android's Bionic definitions:

17 #if _MIPS_SIM == _MIPS_SIM_ABI32
18
19 /*
20 * Linux o32 style syscalls are in the range from 4000 to 4999.
21 _/
22 #define _NR_Linux 4000
376 #endif /
_MIPS_SIM == _MIPS_SIM_ABI32 */

  • 381 #if _MIPS_SIM == _MIPS_SIM_ABI64
    382
    383 /*
    384 * Linux 64-bit syscalls are in the range from 5000 to 5999.
    385 _/
    ...
    451 #define __NR_semctl (_NR_Linux + 64)
    ...
    699 #endif /
    _MIPS_SIM == _MIPS_SIM_ABI64 */

    704 #if _MIPS_SIM == _MIPS_SIM_NABI32
    ...
    774 #define __NR_semctl (__NR_Linux + 64)
    ...
    1027 #endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */

In summary, the #ifdef's seem resonable to me, thought a good*
comment explaining this would likely be helpfulfor Developers.

BTW, a question on Busybox. Where is the mount command support going?
I wanted to mount a NFS root with Android but the normal busybox doesn't
support it. I noticed noticed that CyanogenMod support NFS root mounts
and was plaining some day to look at their busybox:

https://github.com/CyanogenMod/android_external_busybox

Have you explored this path at all?

Nice to hear from ya Tias.
**
*-piet

Kind regards,
Tias


Reply to this email directly or view it on GitHub
#1 (comment).

MIPS Email: Pete Delaney [email protected]
Google-EMail: Piet Delaney [email protected]
Office Phone: (408) 530-5175
Fax: (408) 530-5157
Skype SIP: (408) 215-1345 Googel Voice Internet Calls
Skype #: (408) 215-1545
Skype: piet-delaney
Cell: (408) 646-8557 T-Mobel (100 mins/month)
Home Land Line: (408) 243-8872

@piet-delaney
Copy link
Contributor Author

On 01/23/2013 06:43 PM, Pete/Piet Delaney wrote:

On 01/23/2013 02:00 PM, Tias Guns wrote:

Hi Piet,

Looks great, I've merged most of it (slightly split op).

_That's nice to hear. I've never had to pull from a repo that I cloned
on github.
Is there a trivial procedure for that? Otherwise I'll just pull it
from your repo
on github. *_Perhaps you could let me know when it's a good time to pull.
*

The remaining two changes:

  • any specific reason to change sysroot to android-14?

Not that I recall. Seems like it would be nice to leave it a
definable constant.
*

**I just checked one of my android-busybox-ndk git repo's and it
looks like I was using android-9 then and the later repo pointing
**to git hub uses android-14. **
**
_Looks like for LTP Android development I'm also using _android-14
*for the r8b release.

  • 30 if [ "$RELEASE" = "r8b" ]; then**
    ** 31 SYSROOT=${NDK_ROOT}/platforms/android-14/arch-$ARCH
  • 32 case $ARCH in
    33 "arm")
    34 HOST=arm-linux
    35
    PREFIX=$NDK_ROOT/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-
    36 ;;
    37 "mips")
    38 HOST=mipsel-linux
    39
    PREFIX=$NDK_ROOT/toolchains/mipsel-linux-android-4.6/prebuilt/linux-x86/bin/mipsel-linux-android-
    40 ;;
    41 "x86")
    42 HOST=x86-linux
    43
    PREFIX=$NDK_ROOT/toolchains/x86-4.6/prebuilt/linux-x86/bin/i686-linux-android-
    44 ;;
    45 esac
    46 else
    47 echo "RELEASE: '$RELEASE != 'r8b'; Update this script or
    change NDK versions."
    *
    * 48 exit 1
    49 fi

For Busybox it might be nice to just specify the $RELEASE and have the*
Makefile pick a likely good default __/SYSROOT;*/like I did
above for LTP.

I'm thinking of trying to use Lib-Portable with XBMC. My 1st shot at
XMBC used android-ndk-r7-crystax-5.beta3
*
*it seems to support a number of platforms:

  • /opt/android-ndk-r7-crystax-5.beta3/platforms
    ** android-14 android-3 android-4 android-5 android-8
    android-9

* ** what's with the ifdef __ calls? if MIPS doesn't support any of
the syscalls then maybe the entire missing_syscalls.c file should
be guarded with an #ifdef? And what happens with applets that
would try to use one of those syscalls?

__I think that's not likely the best solution. _The LTP test show that
all of the syscall(NR, ...) for ARM**
are working for MIPS when we do Lib-Portable mapping of just a few
of the non-portable syscall() numbers.

My guess is that __NR_semctl __NR_semop __NR_shmctl __NR_msgctl
weren't tested. I doubt they are

**supported on Android. **
**
I've got a private git repo for LTP running on Android and could add
you as a collaborator. I got

the ok to add the LTP gatekeeper Cyril Hrubis as a collaborator a
few months ago. I could also
send you the LPT results
for MIPS, ARM, and/or Lib-Portable it your
interested. LTP is now handling
all of the LTP test with Lib-Portable as it handles with ARM on
Android in QEMU simulation.

Doing a quick check of the ARM LTP results for _/semop/_showedthey
they always fail.
Interesting as they are in the latest AOSP bionic:

*
piet@ubuntu-piet-2:~/src/Development/bionic$ git grep semop
libc/kernel/arch-arm/asm/unistd.h:#define __NR_semop
(__NR_SYSCALL_BASE+298)
libc/kernel/arch-mips/asm/unistd.h:#define __NR_semop (__NR_Linux

    libc/kernel/arch-mips/asm/unistd.h:#define __NR_semop (__NR_Linux

    piet@ubuntu-piet-2:~/src/Development/bionic$ *git grep semctl *
    libc/kernel/arch-arm/asm/unistd.h:#define __NR_semctl
    (__NR_SYSCALL_BASE+300)
    libc/kernel/arch-mips/asm/unistd.h:#define __NR_semctl (__NR_Linux

    libc/kernel/arch-mips/asm/unistd.h:#define __NR_semctl (__NR_Linux

_Notice that _semctland semopare not defined for X86 and only
twice for MI
PS.**
**
Looking at bionic/libc/kernel/arch-mips/asm/unistd.h semctl is
defined at:

22 #if _MIPS_SIM == _MIPS_SIM_ABI32
...
459 #endif

462 #if _MIPS_SIM == _MIPS_SIM_ABI64
...
545 #define __NR_semctl (__NR_Linux + 64)
...
847 #endif

851 #if _MIPS_SIM == _MIPS_SIM_NABI32
...
934 #define __NR_semctl (__NR_Linux + 64)
...
1242 #endif

I believe the old O32/MIPS_SIM_ABI32 is used for QEMU, which is where
I'm using LPT
*
**on the Android Simulator. Perhaps the O32/MIPS_SIM_ABI32 combines
the **
sema syscalls into on syscall. I recall when I did some porting of
V7 to Programmers

Work Bench back in 1982 or so that AT&T was doing multiple kernel
functions

with one system call. I never really liked it.
*
*
Imentioned this issue to Chris Dearman about an hour ago and he just
pointed out that *ipc(2)
was in fact used toindirectly support the semaphore operations:

"The MIPS O32 kernel does not have an explicit semctl(2) system

call. Instead it is implemented through ipc(2) (__NR_ipc).

The N32 and N64 kernels do have an explicit semctl(2) system call. I

don't know the full history behind this."

Thought you might be interested in that last minute fact.*


*-piet


Checking out the Android NDK, the situation looks similar:
*
piet@ubuntu-piet-2:/opt/android-ndk-r8b$ git grep semctl
platforms/android-14/arch-arm/usr/include/asm/unistd.h:#define
__NR_semctl (__NR_SYSCALL_BASE+300)
platforms/android-14/arch-mips/usr/include/asm/unistd.h:#define
__NR_semctl (__NR_Linux + 64)
platforms/android-14/arch-mips/usr/include/asm/unistd.h:#define
__NR_semctl (__NR_Linux + 64)
platforms/android-14/arch-portable/usr/include/asm/unistd.h:#define
__NR_semctl (__NR_SYSCALL_BASE+300)
platforms/android-3/arch-arm/usr/include/asm/unistd.h:#define
__NR_semctl (__NR_SYSCALL_BASE+300)
platforms/android-4/arch-arm/usr/include/asm/unistd.h:#define
__NR_semctl (__NR_SYSCALL_BASE+300)
platforms/android-5/arch-arm/usr/include/asm/unistd.h:#define
__NR_semctl (__NR_SYSCALL_BASE+300)
platforms/android-8/arch-arm/usr/include/asm/unistd.h:#define
__NR_semctl (__NR_SYSCALL_BASE+300)
platforms/android-9/arch-arm/usr/include/asm/unistd.h:#define
__NR_semctl (__NR_SYSCALL_BASE+300)
platforms/android-9/arch-mips/usr/include/asm/unistd.h:#define
__NR_semctl (__NR_Linux + 64)
platforms/android-9/arch-mips/usr/include/asm/unistd.h:#define
__NR_semctl (__NR_Linux + 64)
piet@ubuntu-piet-2:/opt/android-ndk-r8b$

The Linux kernel likely supports these syscalls(), thought it might
be indirect
with syscall(),__thought looking around with Google I didn't confirm
that.__If the
numbers aren't defined in the kernel I expect the syscall() won't be
able to do it,
so *
*__NR_semctl for a kernel compiled for the Old ABI likely will fail.

*Looking at the kernel instances of say __NR_semctl:

arch/alpha/include/asm/unistd.h:#define __NR_semctl 204
arch/arm/include/asm/unistd.h:#define __NR_semctl
(__NR_SYSCALL_BASE+300)
arch/avr32/include/asm/unistd.h:#define __NR_semctl 272
arch/blackfin/include/asm/unistd.h:#define __NR_semctl 331
arch/ia64/include/asm/unistd.h:#define __NR_semctl 1108
arch/microblaze/include/asm/unistd.h:#define __NR_semctl 28 /*
ok */
arch/mips/include/asm/unistd.h:#define __NR_semctl
(__NR_Linux + 64)
arch/mips/include/asm/unistd.h:#define __NR_semctl
(__NR_Linux + 64)
arch/parisc/include/asm/unistd.h:#define __NR_semctl
(__NR_Linux + 187)
arch/sh/include/asm/unistd_64.h:#define __NR_semctl 239
arch/xtensa/include/asm/unistd.h:#define __NR_semctl 164
include/asm-generic/unistd.h:#define __NR_semctl 191
include/asm-generic/unistd.h:__SC_COMP(__NR_semctl, sys_semctl,
compat_sys_semctl)

*LTP has been a useful test on system call working, and off hand the
results seems to be
that syscall(senop) at least has issues:
*

Log.Results.ARM.LTP_RUN_ON-2012_Oct_26-05h_23m_33s:semop01
FAIL 2
Log.Results.ARM.LTP_RUN_ON-2012_Oct_26-05h_23m_33s:semop02
FAIL 2
Log.Results.ARM.LTP_RUN_ON-2012_Oct_26-05h_23m_33s:semop03
FAIL 2
Log.Results.ARM.LTP_RUN_ON-2012_Oct_26-05h_23m_33s:semop04
FAIL 2
Log.Results.ARM.LTP_RUN_ON-2012_Oct_26-05h_23m_33s:semop05
FAIL 2

Looking at the kernel #defines for*_**_NR_semctl*we have a similar
situation
and in the Android NDK and Android's Bionic definitions:

17 #if _MIPS_SIM == _MIPS_SIM_ABI32
18
19 /*
20 * Linux o32 style syscalls are in the range from 4000 to 4999.
21 _/
22 #define _NR_Linux 4000
376 #endif /
_MIPS_SIM == _MIPS_SIM_ABI32 */

  • 381 #if _MIPS_SIM == _MIPS_SIM_ABI64
    382
    383 /*
    384 * Linux 64-bit syscalls are in the range from 5000 to 5999.
    385 _/
    ...
    451 #define __NR_semctl (_NR_Linux + 64)
    ...
    699 #endif /
    _MIPS_SIM == _MIPS_SIM_ABI64 */

    704 #if _MIPS_SIM == _MIPS_SIM_NABI32
    ...
    774 #define __NR_semctl (__NR_Linux + 64)
    ...
    1027 #endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */

In summary, the #ifdef's seem resonable to me, thought a good*
comment explaining this would likely be helpfulfor Developers.

BTW, a question on Busybox. Where is the mount command support going?
I wanted to mount a NFS root with Android but the normal busybox doesn't
support it. I noticed noticed that CyanogenMod support NFS root mounts
and was plaining some day to look at their busybox:

https://github.com/CyanogenMod/android_external_busybox

Have you explored this path at all?

Nice to hear from ya Tias.
**
*-piet

Kind regards,
Tias


Reply to this email directly or view it on GitHub
#1 (comment).

MIPS Email: Pete Delaney [email protected]
Google-EMail: Piet Delaney [email protected]
Office Phone: (408) 530-5175
Fax: (408) 530-5157
Skype SIP: (408) 215-1345 Googel Voice Internet Calls
Skype #: (408) 215-1545
Skype: piet-delaney
Cell: (408) 646-8557 T-Mobel (100 mins/month)
Home Land Line: (408) 243-8872

MIPS Email: Pete Delaney [email protected]
Google-EMail: Piet Delaney [email protected]
Office Phone: (408) 530-5175
Fax: (408) 530-5157
Skype SIP: (408) 215-1345 Googel Voice Internet Calls
Skype #: (408) 215-1545
Skype: piet-delaney
Cell: (408) 646-8557 T-Mobel (100 mins/month)
Home Land Line: (408) 243-8872

dorimanx pushed a commit to dorimanx/android-busybox-ndk that referenced this pull request Sep 21, 2016
function                                             old     new   delta
less_main                                           2535    2540      +5

Signed-off-by: Denys Vlasenko <[email protected]>
dorimanx pushed a commit to dorimanx/android-busybox-ndk that referenced this pull request Nov 21, 2016
Upstream commit:

    Date: Thu, 4 Oct 2007 22:15:10 +0800
    [PARSER] Fix parsing of ${#tias#1}

    Previously dash treated ${#tias#1} as a length operation.  This patch fixes that.

    Test case:

        set -- a
        echo ${#tias#1}OK

    Old result:

        1OK

    New result:

        OK

This was a real bug in ash (but not in hush).

Signed-off-by: Denys Vlasenko <[email protected]>
mostafa-z pushed a commit to mostafa-z/android-busybox-ndk that referenced this pull request Jul 26, 2017
… (closing) it

function                                             old     new   delta
setup_redirects                                      200     245     +45
append_squirrel                                        -      41     +41
save_fds_on_redirect                                 256     221     -35
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/1 up/down: 86/-35)             Total: 51 bytes

Signed-off-by: Denys Vlasenko <[email protected]>
dorimanx pushed a commit to dorimanx/android-busybox-ndk that referenced this pull request Jul 30, 2017
… (closing) it

function                                             old     new   delta
setup_redirects                                      200     245     +45
append_squirrel                                        -      41     +41
save_fds_on_redirect                                 256     221     -35
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/1 up/down: 86/-35)             Total: 51 bytes

Signed-off-by: Denys Vlasenko <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants