lcsname = os.path.join(os.path.dirname(self.output), 'ukernel.lcs') fo = open(lcsname, 'w') fo.write('SECTIONS {\n') for S in sections: fo.write(S.get_section_spec()) fo.write('}\n') fo.close() rangesname = os.path.join(os.path.dirname(self.output), 'ukernel_ranges.s') fo = open(rangesname, 'w') for S in sections: fo.write(S.get_range_code()) fo.close() cmd = [ self.compiler, self.machine, '-o', self.output, '-T', lcsname, '-Wl,-r', '-nostdlib', rangesname ] + self.args + ['-lgcc'] run_program(cmd) return 0 if __name__ == '__main__': from lib.qurt import run_script run_script(BuildKernel().main) # Signatures of the files that this depends on # 46a31eb420b1999d63d43a1df42e94ca /local/mnt/workspace/CRMBuilds/CDSP.VT.2.0-00249-SDM710-2_20201030_052916/b/cdsp_proc/core/kernel/qurt/build/face_cdsp_user/qdsp6/670.cdsp.prod/install/computev65_SRM/scripts/lib/qurt.py
shdr2 = Elf32SectionHeader(None, sh_name=strtab.index('.rodata\0'), sh_type=Elf32SectionHeader.SHT_PROGBITS, sh_flags=Elf32SectionHeader.SHF_ALLOC, sh_addr=self.physaddr, sh_offset=4096, sh_size=totalsize, sh_link=0, sh_info=0, sh_addralign=4096, sh_entsize=0) outfile.write(ehdr.output()) outfile.write(phdr.output()) outfile.write(shdr0.output()) outfile.write(shdr1.output()) outfile.write(shdr2.output()) outfile.write(strtab) outfile.flush() outfile.close() return 0 if __name__ == '__main__': from lib.qurt import run_script run_script(QurtRamfsBuilder().main) # Signatures of the files that this depends on # 46a31eb420b1999d63d43a1df42e94ca /local/mnt/workspace/CRMBuilds/ADSP.VT.5.0-00526-SDM710-1_20201217_021900/b/adsp_proc/core/kernel/qurt/build/sensor_img/qdsp6/670.adsp.prod/install/ADSPv65MP/scripts/lib/qurt.py
str(target[0]), '-s', str(target[1]), '-o', str(target[2]) ] + [str(s) for s in source]) def CheckEmitter(target, source, env): return target, source def Checker(env, *ls): return env.ObjCheckBuilder( ['$BUILD_DIR/result', '$BUILD_DIR/stats.txt', '$BUILD_DIR/out'], env.Flatten([get_objects(str(d)) for d in ls])) def exists(env): return env.Detect('obj_check_alignment') def generate(env): env.AddMethod(Checker, 'ObjCheckAlignment') env['BUILDERS']['ObjCheckBuilder'] = env.Builder(action=env.Action( CheckAction, cmdstr='Checking object alignment'), emitter=CheckEmitter) if __name__ == '__main__': from lib.qurt import run_script run_script(ObjCheckAlignment().main)
# If you are looking for the actual implementation of qurt-image-build.py: # qurt-image-build0.py: for non-secure builds # qurt-image-build1.py: for secure builds # import os, sys sys.path.append(os.path.dirname(__file__)) from lib.qurt import multiscript # # Import the definitions in qurt-image-build0.py under module name QIB0 # Import the definitions in qurt-image-build1.py under module name QIB1 # multiscript_args = multiscript(globals(), QIB0='qurt-image-build0.py', QIB1='qurt-image-build1.py') if multiscript_args: # # We are being run as a script. # multiscript_args is the value of sys.argv # from lib.qurt import run_script run_script(QIB0.QurtElfPatch().main) else: # # We are being imported # from QIB0 import *