BusyBox Bug and Patch Tracking
BusyBox
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0000538 [uClibc] Architecture Specific block always 11-10-05 10:49 01-19-06 05:28
Reporter dg6nee View Status public  
Assigned To uClibc
Priority normal Resolution fixed  
Status closed   Product Version 0.9.28
Summary 0000538: crt1.S under armnommu / uCLinux, startup code
Description The current startup code for armnommu is broken and cannot be used with ucLinux, the parameters are passed in a different way. Additionally there is no support for constructors/destructors. This blocks developing embedded applications, at least for armnommu under uCLinux

The attached patch fixed this for me and also adds support for constructors/destructors.
Additional Information
Attached Files  uclibc-0.9.28_crt1.S.diff [^] (1,514 bytes) 11-10-05 10:49

- Relationships

- Notes
(0000677)
vapier
11-10-05 11:04

the _init/_fini code should be in crti.S, not crt1.S

also, your changes affect not just uClinux, but normal MMU arm systems too ...
would your changes break arm MMU ?
 
(0000678)
dg6nee
11-10-05 11:36

ok, there is a libc/sysdeps/linux/arm/crti.S, but I don't have any idea what this code should do and how it could ever have worked!? Maybe you want to replace it with my code...

The situation with the init code is similar. I have checked the following three places:

1. uclinux kernel, 2.4.31-uc0, armnommu
   uclinux/include/asm-armnommu/proc-armv/processor.h,
   macro "start_thread"
   R0 = argc
   R1 = argv
   R2 = envp
   R10 = data segment base

2. uclinux kernel, 2.4.31-uc0, arm
   uclinux/include/asm-armnommu/proc-armv/processor.h,
   R0 = argc
   R1 = argv
   R2 = envp

3. standard linux kernel, 2.6.13, arm
   include/asm/arm/processor.h
   R0 = argc
   R1 = argv
   R2 = envp

Therefore I guess that my attempt can't be too wrong. I rather guess that nobody else has really used the previous version...
 
(0000679)
vapier
11-10-05 11:54

the crt code isnt responsible for looping over the constructors/deconstructors

as for testing, arm/mmu is heavily tested while we rarely get feedback about arm/nommu/uclinux
 
(0000951)
vapier
01-19-06 05:28

crt1 in uClibc svn handles armnommu now
 

- Issue History
Date Modified Username Field Change
11-10-05 10:49 dg6nee New Issue
11-10-05 10:49 dg6nee Status new => assigned
11-10-05 10:49 dg6nee Assigned To  => uClibc
11-10-05 10:50 dg6nee File Added: uclibc-0.9.28_crt1.S.diff
11-10-05 11:04 vapier Note Added: 0000677
11-10-05 11:36 dg6nee Note Added: 0000678
11-10-05 11:36 dg6nee Issue Monitored: dg6nee
11-10-05 11:54 vapier Note Added: 0000679
01-19-06 05:28 vapier Note Added: 0000951
01-19-06 05:28 vapier Status assigned => closed
01-19-06 05:28 vapier Resolution open => fixed


Copyright © 2000 - 2006 Mantis Group
Powered by Mantis Bugtracker