@@ -169,11 +169,6 @@ void CisaBinary::initKernel(int kernelIndex, VISAKernelImpl * kernel)
169169
170170 int nameLen = (int ) strlen (kernel->getName ());
171171
172- MUST_BE_TRUE (nameLen <= COMMON_ISA_MAX_FILENAME_LENGTH,
173- " Kernel Name exceeds maximum length allowed.\n " );
174-
175-
176-
177172 if (this ->getMajorVersion ())
178173 {
179174 if (kernel->getIsKernel ())
@@ -187,8 +182,10 @@ void CisaBinary::initKernel(int kernelIndex, VISAKernelImpl * kernel)
187182
188183 if (kernel->getIsKernel ())
189184 {
190- m_header.kernels [kernelIndex].name_len = (unsigned char ) nameLen;
191- memcpy_s (&m_header.kernels [kernelIndex].name , COMMON_ISA_MAX_FILENAME_LENGTH, kernel->getName (), m_header.kernels [kernelIndex].name_len );
185+ m_header.kernels [kernelIndex].name_len = (unsigned short ) nameLen;
186+ m_header.kernels [kernelIndex].name = (char *)m_mem.alloc (nameLen + 1 );
187+ m_header.kernels [kernelIndex].name [nameLen] = 0 ;
188+ memcpy_s (m_header.kernels [kernelIndex].name , m_header.kernels [kernelIndex].name_len , kernel->getName (), m_header.kernels [kernelIndex].name_len );
192189
193190 m_header.kernels [kernelIndex].offset = 0 ; // will be set later during finalize
194191 m_header.kernels [kernelIndex].size = kernel->getCisaBinarySize ();
@@ -211,9 +208,10 @@ void CisaBinary::initKernel(int kernelIndex, VISAKernelImpl * kernel)
211208 if (!kernel->getIsKernel ())
212209 {
213210 m_header.functions [functionIndex].linkage = 0 ; // deprecated and MBZ
214- m_header.functions [functionIndex].name_len = (unsigned char ) nameLen;
215- memcpy_s (&m_header.functions [functionIndex].name , COMMON_ISA_MAX_FILENAME_LENGTH, kernel->getName (), m_header.functions [functionIndex].name_len );
216-
211+ m_header.functions [functionIndex].name_len = (unsigned short ) nameLen;
212+ m_header.functions [functionIndex].name = (char *)m_mem.alloc (nameLen + 1 );
213+ memcpy_s (m_header.functions [functionIndex].name , m_header.functions [functionIndex].name_len , kernel->getName (), m_header.functions [functionIndex].name_len );
214+ m_header.functions [functionIndex].name [nameLen] = 0 ;
217215 m_header.functions [functionIndex].offset = 0 ; // will be set later during finalize
218216 m_header.functions [functionIndex].size = kernel->getCisaBinarySize ();
219217 m_header.functions [functionIndex].cisa_binary_buffer = kernel->getCisaBinaryBuffer (); // buffer containing entire kernel
@@ -256,8 +254,7 @@ int CisaBinary::finalizeCisaBinary()
256254 for (int i = 0 ; i < m_header.num_kernels ; i++)
257255 {
258256 writeInToCisaHeaderBuffer (&m_header.kernels [i].name_len , sizeof (m_header.kernels [i].name_len ));
259-
260- writeInToCisaHeaderBuffer (&m_header.kernels [i].name , m_header.kernels [i].name_len );
257+ writeInToCisaHeaderBuffer (m_header.kernels [i].name , m_header.kernels [i].name_len );
261258
262259 // setting offset to the compiled cisa binary kernel
263260 // to correct offset in final cisa binary
@@ -313,8 +310,7 @@ int CisaBinary::finalizeCisaBinary()
313310 {
314311 writeInToCisaHeaderBuffer (&m_header.functions [i].linkage , sizeof (m_header.functions [i].linkage ));
315312 writeInToCisaHeaderBuffer (&m_header.functions [i].name_len , sizeof (m_header.functions [i].name_len ));
316-
317- writeInToCisaHeaderBuffer (&m_header.functions [i].name , m_header.functions [i].name_len );
313+ writeInToCisaHeaderBuffer (m_header.functions [i].name , m_header.functions [i].name_len );
318314
319315 // setting offset to the compiled cisa binary kernel
320316 // to correct offset in final cisa binary
0 commit comments