Compiling busybox to .s assembly file

walter harms wharms at bfs.de
Fri Feb 25 17:10:10 UTC 2011



Am 25.02.2011 16:22, schrieb Eric Schulte:
> walter harms <wharms at bfs.de> writes:
> 
>> Am 24.02.2011 19:42, schrieb Eric Schulte:
>>> walter harms <wharms at bfs.de> writes:
>>>
>>>> Am 24.02.2011 18:17, schrieb Eric Schulte:
>>>>> Hello,
>>>>>
>>>>> I'm hoping to generate a compiled text asm file (gcc -S) of the busybox
>>>>> executable.  I've looked at scripts/showasm, but it uses objdump the
>>>>> output of which could not (easily) then be edited and linked to generate
>>>>> an executable.
>>>>>
>>>>> I've spend a good deal of time mucking around in the Makefile, but
>>>>> having never fully felt comfortable with Makefiles even in relatively
>>>>> simple cases, the busybox Makefile is largely opaque to me.
>>>>>
>>>>> If anyone can offer a suggestion, or point me in the right direction I
>>>>> will be very appreciative.  Once I get this working if there is any
>>>>> interest I would be happy to wrap it up in a script which could be
>>>>> included in scripts/ -- although I'm not sure that such functionality
>>>>> would be generally useful.
>>>>>
>>>>> Thanks -- Eric
>>>>>
>>>>
>>>> hi Eric,
>>>> i am not sure what you want to archive but --save-temps will keep all
>>>> tmp files including asm. (see: man 1 gcc)
>>>>
>>>> re,
>>>>  wh
>>>>
>>>
>>> Hi Walter,
>>>
>>> Adding "--save-temps" to the "CFLAGS := $(CFLAGS)" line in the Makefile
>>> has indeed left me with *many* .s files.  Now I just have to figure out
>>> how to link these .s files into an executable.
>>>
>>> As for the purpose, I'm hoping to use evolutionary computation over the
>>> assembly code to automatically make changes to the busybox executable.
>>> This technique has been used successfully to fix bugs in a number of
>>> programs [1], I'd like to see if it can be used to do the same with
>>> busybox, or possibly to shrink the size of the busybox executable.
>>>
>>> Thanks -- Eric
>>>
>>> Footnotes: 
>>> [1]  http://epr.adaptive.cs.unm.edu/
>>>
>>
>> sound very interessting, i did this 20 year ago (not with programms but parameters).
>> an yes --save-temps will generate a lot of files but this is due to the build process
>> but it should give you a good starting point.
>>
>> IMHO it should work to cat all *.c together and call gcc directly. I have to admit
>> that i never tried that.
>>
> 
> Hi Walter,
> 
> This would be an appealing option.  I tried consolidating all .c files
> into a single file, and collecting this file with all .h files into a
> single directory.  Unfortunately calls to gcc would routinely fail --
> apparently due to missing dependencies most likely files expected to
> live at certain places in the file system relative to the original
> location of the .c files.
> 
> Thanks -- Eric
> 


to bad, sorry,

re,
 wh


More information about the busybox mailing list