powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как перекомпилировать Linux RTL?
25 сообщений из 68, страница 1 из 3
Как перекомпилировать Linux RTL?
    #39995047
Фотография Maxim Rusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу перекомпилировать Linux RTL. Пишу:

dcclinux64.exe -y System.pas

Ругается, что нет "ex.inc".

Если сделать пустой "ex.inc", ругается:

System.pas(3616) Error: E2065 Unsatisfied forward or external declaration: '_delphipersonalityroutine'

В исходниках такой коммент:

// The personality routine for DWARF exception information is based on the code from libc++abi

Что это за байда, Any idea?

RTL для Windows прекрасно компилируется...
...
Рейтинг: 0 / 0
Как перекомпилировать Linux RTL?
    #39995052
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
system.pas еще ни одному "смертному" не удалось перекомпилять. Там такие магические пассы встроены, что даже публичный компилятор не справится.

Буду с интересом наблюдать за прогрессом.
...
Рейтинг: 0 / 0
Как перекомпилировать Linux RTL?
    #39995054
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ядро линукса будет проще собрать.
...
Рейтинг: 0 / 0
Как перекомпилировать Linux RTL?
    #39995068
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Rusov,

Как же его пересобрать, если файлов не хватает... Может в 10.4.1 уже есть?
...
Рейтинг: 0 / 0
Как перекомпилировать Linux RTL?
    #39995074
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Rusov
Хочу перекомпилировать Linux RTL.


А в чем сакральный смысл сего действа?
...
Рейтинг: 0 / 0
Как перекомпилировать Linux RTL?
    #39995081
wadman
system.pas еще ни одному "смертному" не удалось перекомпилять.


Да что вы такое говорите))) В тележке лежит чистый компилятор Delphi с исходниками, где идёт компиляция system.pas

Самый главный SetOpt86.bat
Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
@echo off

if exist "%CD%\tmp86\all.dcu" goto end

set urlU="tmp86";"source\rtl\common";"source\rtl\win";"source\data";"source\data\ado";"source\data\cloud";"source\data\datasnap";"source\data\datasnap\connectors";"source\data\datasnap\proxygen";"source\data\dbx";"source\data\dsnap";"source\data\ems";"source\data\ems\desktopconsole";"source\data\firedac";"source\data\rest";"source\data\rest\restdebugger";"source\data\vclctrls";"source\databinding";"source\databinding\components";"source\databinding\engine";"source\databinding\graph";"source\DataExplorer";"source\DUnit";"source\DUnit\Contrib";"source\DUnit\Contrib\DUnitWizard";"source\DUnit\Contrib\DUnitWizard\Docs";"source\DUnit\Contrib\DUnitWizard\Source";"source\DUnit\Contrib\DUnitWizard\Source\Common";"source\DUnit\Contrib\DUnitWizard\Source\Common\dunit";"source\DUnit\Contrib\DUnitWizard\Source\DelphiExperts";"source\DUnit\Contrib\DUnitWizard\Source\DelphiExperts\Common";"source\DUnit\Contrib\DUnitWizard\Source\DelphiExperts\DUnitProject";"source\DUnit\Contrib\DUnitWizard\Source\DelphiExperts\DUnitProject\dunit";"source\DUnit\Contrib\DUnitWizard\Source\DelphiExperts\DUnitProject\dunit\Examples";"source\DUnit\Contrib\XMLReporting";"source\DUnit\Contrib\XPGen";"source\DUnit\doc";"source\DUnit\doc\images";"source\DUnit\doc\tutorial_files";"source\DUnit\etc";"source\DUnit\examples";"source\DUnit\examples\ChecklessTests";"source\DUnit\examples\cmdline";"source\DUnit\examples\embeddable";"source\DUnit\examples\HaltRepeating";"source\DUnit\examples\MemLeakDetect";"source\DUnit\examples\registration";"source\DUnit\examples\registry";"source\DUnit\examples\registry\Step1";"source\DUnit\examples\registry\Step2";"source\DUnit\examples\registry\Step3";"source\DUnit\examples\structure";"source\DUnit\examples\structure\diffunit";"source\DUnit\examples\structure\sameunit";"source\DUnit\examples\testexception";"source\DUnit\examples\TListTest";"source\DUnit\helpsrc";"source\DUnit\src";"source\DUnit\src\images";"source\DUnit\tests";"source\DunitX";"source\DunitX\Tests";"source\Experts";"source\FlatBox2D";"source\fmx";"source\IBX";"source\indy";"source\indy\abstraction";"source\indy\implementation";"source\Indy10";"source\Indy10\Core";"source\Indy10\Protocols";"source\Indy10\System";"source\indyimpl";"source\internet";"source\Property Editors";"source\Property Editors\Indy10";"source\Property Editors\__history";"source\rtl";"source\rtl\net";"source\rtl\osx";"source\rtl\posix";"source\rtl\posix\osx";"source\rtl\win\winrt";"source\soap";"source\soap\wsdlimporter";"source\tethering";"source\Tools";"source\Tools\FireUIAppPreview";"source\Tools\FireUIAppPreview\Assets";"source\Tools\FireUIAppPreview\Assets\Android";"source\Tools\FireUIAppPreview\Assets\Icons";"source\Tools\FireUIAppPreview\Assets\iPad";"source\Tools\FireUIAppPreview\Assets\iPhone";"source\ToolsAPI";"source\vcl";"source\vcl\AppAnalytics";"source\Visualizers";"source\xml"

set urlI="source\rtl\sys";%urlU%


set Args1=-NU"tmp86"   -W-  -H- -I%urlI% -U%urlU%;"source\rtl\sys" -O"tmp86\obj"  -R"res" -$W- -$D0 -$L- -$Y- --no-config -M -Q -Z 

Compiler86.exe %Args1% -y -B "source\rtl\sys\System.pas" -V- "source\rtl\sys\System.SysUtils.pas" "source\rtl\sys\System.Variants.pas" "source\rtl\sys\System.Sharemem.pas" 

set Args2=-NU"tmp86"   -W-  -H- -I%urlI% -U%urlU% -O"tmp86\obj"  -R"res" -$W- -$D0 -$L- -$Y-  -M -Q -Z -AGenerics.Collections=System.Generics.Collections;Generics.Defaults=System.Generics.Defaults;WinTypes=Winapi.Windows;WinProcs=Winapi.Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE  -NSrtl;system;vcl;winapi;system.win

Compiler86.exe %Args2% -B source\all.pas


:end



bat для сборки GUI
Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
@echo off

del Project1.exe

set OldDir=%CD%
cd "%CD%\..\"

call SetOpt86.bat

echo Compile project

%Compiler% %Atd% -CG -JL "%OldDir%\Unit1.pas" "%OldDir%\Project1.dpr"

pause



Для консоли
Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
@echo off

del console.exe

set OldDir=%CD%
cd "%CD%\..\"

call SetOpt86.bat

echo Compile project

%Compiler% %Atd% -CC -JL "%OldDir%\console.dpr"

pause



Для библиотеки
Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
@echo off

del MiniPackVCL.dll

set OldDir=%CD%
cd "%CD%\..\"

call SetOpt86.bat

echo Compile project

%Compiler% %Atd% -E%OldDir% -JL "%OldDir%\MiniPackVCL.dpr"

pause

...
Рейтинг: 0 / 0
Как перекомпилировать Linux RTL?
    #39995082
А да, там ещё такой батник есть, это и есть SetOpt86.bat

Код: powershell
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
if exist "tmp86\all.dcu" goto endCompile

echo Compile source dirs

call Compile86.bat

:endCompile

set url="tmp86";"source\rtl\win";"source\rtl\sys";"source\data";"source\data\ado";"source\data\cloud";"source\data\datasnap";"source\data\datasnap\connectors";"source\data\datasnap\proxygen";"source\data\dbx";"source\data\dsnap";"source\data\ems";"source\data\ems\desktopconsole";"source\data\firedac";"source\data\rest";"source\data\rest\restdebugger";"source\data\vclctrls";"source\databinding";"source\databinding\components";"source\databinding\engine";"source\databinding\graph";"source\DataExplorer";"source\DUnit";"source\DUnit\Contrib";"source\DUnit\Contrib\DUnitWizard";"source\DUnit\Contrib\DUnitWizard\Docs";"source\DUnit\Contrib\DUnitWizard\Source";"source\DUnit\Contrib\DUnitWizard\source\Common";"source\DUnit\Contrib\DUnitWizard\source\Common\dunit";"source\DUnit\Contrib\DUnitWizard\source\DelphiExperts";"source\DUnit\Contrib\DUnitWizard\source\DelphiExperts\Common";"source\DUnit\Contrib\DUnitWizard\source\DelphiExperts\DUnitProject";"source\DUnit\Contrib\DUnitWizard\source\DelphiExperts\DUnitProject\dunit";"source\DUnit\Contrib\DUnitWizard\source\DelphiExperts\DUnitProject\dunit\Examples";"source\DUnit\Contrib\XMLReporting";"source\DUnit\Contrib\XPGen";"source\DUnit\doc";"source\DUnit\doc\images";"source\DUnit\doc\tutorial_files";"source\DUnit\etc";"source\DUnit\examples";"source\DUnit\examples\ChecklessTests";"source\DUnit\examples\cmdline";"source\DUnit\examples\embeddable";"source\DUnit\examples\HaltRepeating";"source\DUnit\examples\MemLeakDetect";"source\DUnit\examples\registration";"source\DUnit\examples\registry";"source\DUnit\examples\registry\Step1";"source\DUnit\examples\registry\Step2";"source\DUnit\examples\registry\Step3";"source\DUnit\examples\structure";"source\DUnit\examples\structure\diffunit";"source\DUnit\examples\structure\sameunit";"source\DUnit\examples\testexception";"source\DUnit\examples\TListTest";"source\DUnit\helpsrc";"source\DUnit\src";"source\DUnit\src\images";"source\DUnit\tests";"source\DunitX";"source\DunitX\Tests";"source\Experts";"source\FlatBox2D";"source\fmx";"source\IBX";"source\indy";"source\indy\abstraction";"source\indy\implementation";"source\Indy10";"source\Indy10\Core";"source\Indy10\Protocols";"source\Indy10\System";"source\indyimpl";"source\internet";"source\Property Editors";"source\Property Editors\Indy10";"source\Property Editors\__history";"source\rtl";"source\rtl\common";"source\rtl\net";"source\rtl\osx";"source\rtl\posix";"source\rtl\posix\osx";"source\rtl\win\winrt";"source\soap";"source\soap\wsdlimporter";"source\tethering";"source\Tools";"source\Tools\FireUIAppPreview";"source\Tools\FireUIAppPreview\Assets";"source\Tools\FireUIAppPreview\Assets\Android";"source\Tools\FireUIAppPreview\Assets\Icons";"source\Tools\FireUIAppPreview\Assets\iPad";"source\Tools\FireUIAppPreview\Assets\iPhone";"source\ToolsAPI";"source\vcl";"source\vcl\AppAnalytics";"source\Visualizers";"source\xml"

set Atd=-NU"tmp86" -W- -H- -$I-  -I%url% -U%url% -O"tmp86\obj" -R"res"  -Z -NSrtl;system;vcl;winapi;system.win 

set Compiler=Compiler86.exe



А тот что выше, это Compile86.bat
...
Рейтинг: 0 / 0
Как перекомпилировать Linux RTL?
    #39995125
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВсеРазумный
где идёт компиляция system.pas

Дак удалось?
...
Рейтинг: 0 / 0
Как перекомпилировать Linux RTL?
    #39995141
Фотография Maxim Rusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВсеРазумный,

1. Что такое Compiler86.exe ?

2. Вопрос в перекомпляции RTL для _Linux_. Вы пытались?
...
Рейтинг: 0 / 0
Как перекомпилировать Linux RTL?
    #39995245
wadman,

Удалось. Первая компиляция всего происходит за 0.74 сек и 14.53 сек. И сам проект от 0.20 секунд, до 0.40



Maxim Rusov
1. Что такое Compiler86.exe ?


Думаю из картинки выше, видно.


Maxim Rusov
2. Вопрос в перекомпляции RTL для _Linux_. Вы пытались?

Думаю, просто надо взять компилятор линкус, который использует Delphi и таким же образом скомпилировать
...
Рейтинг: 0 / 0
Как перекомпилировать Linux RTL?
    #39995255
Fr0sT-Brutal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прям интересно стало, для чего сие
...
Рейтинг: 0 / 0
Как перекомпилировать Linux RTL?
    #39995256
Fr0sT-Brutal,

Внести свои правки в код RTL
...
Рейтинг: 0 / 0
Как перекомпилировать Linux RTL?
    #39995257
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВсеРазумный
Думаю, просто надо взять компилятор линкус

Ты не думай, а попробуй...

Под Android, кстати, тоже не собирается - нет файла LocalTypes.inc, если правильно помню.

Fr0sT-Brutal
Прям интересно стало, для чего сие

Например, отключить дефолтный жирный RTTI. Без пересборки RTL сделать этого не получится.
...
Рейтинг: 0 / 0
Как перекомпилировать Linux RTL?
    #39995259
Kazantsev Alexey

Ты не думай, а попробуй...


Не установлен компилятор такой, по причине ненадобности. Попробовалбы.
...
Рейтинг: 0 / 0
Как перекомпилировать Linux RTL?
    #39995262
Фотография Maxim Rusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попрорбовал забить на эту _delphipersonalityroutine:

Код: pascal
1.
2.
3.
4.
5.
function _delphipersonalityroutine(Version: Integer; actions: _Unwind_Action; 
  exceptionClass: UInt64; var exceptionObject: _Unwind_Exception; context: PUnwind_Context): _Unwind_Reason_Code; cdecl;
begin
  Result := _URC_NO_REASON;
end;



Откомпилировалось

S:\Vcl\RTL>C:\BDX104\bin\dcclinux64.exe -y -b -q System.pas
Embarcadero Delphi for Linux 64 bit compiler version 34.0
Copyright (c) 1983,2020 Embarcadero Technologies, Inc.
System.pas(24761) Hint: H2077 Value assigned to 'ResultCode' never used
56683 lines, 0.81 seconds.


Но все равно не равно не работает как надо. Все-таки она для чего-то нужна :(
Отреверсить что-ли?... Тоска...
...
Рейтинг: 0 / 0
Как перекомпилировать Linux RTL?
    #39995284
ziv-2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Rusov,
Гляди в librtlhelper.a может там она находится.
...
Рейтинг: 0 / 0
Как перекомпилировать Linux RTL?
    #39995291
Фотография Maxim Rusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ziv-2014,

Даже если она там находится - чем это поможет? Собственно, я ее asm-листинг уже получил:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
ex.inc.41: 
000000000041E820 55               push   rbp
000000000041E821 4889E5           mov    rbp,rsp
000000000041E824 4881EC10010000   sub    rsp,0x110
000000000041E82B 4C8945E0         mov    QWORD PTR [rbp-0x20],r8
000000000041E82F 48894DE8         mov    QWORD PTR [rbp-0x18],rcx
000000000041E833 488955F0         mov    QWORD PTR [rbp-0x10],rdx
000000000041E837 8975F8           mov    DWORD PTR [rbp-0x8],esi
000000000041E83A 897DFC           mov    DWORD PTR [rbp-0x4],edi
ex.inc.42: 
000000000041E83D 817DFC01000000   cmp    DWORD PTR [rbp-0x4],0x1
000000000041E844 751A             jne    0x41e860 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+64>
000000000041E846 488B45E8         mov    rax,QWORD PTR [rbp-0x18]
000000000041E84A 483D00000000     cmp    rax,0x0
000000000041E850 740E             je     0x41e860 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+64>
000000000041E852 488D45E0         lea    rax,[rbp-0x20]
000000000041E856 483D00000000     cmp    rax,0x0
000000000041E85C 750E             jne    0x41e86c <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+76>
000000000041E85E EB00             jmp    0x41e860 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+64>
ex.inc.43: 
000000000041E860 C745DC03000000   mov    DWORD PTR [rbp-0x24],0x3
000000000041E867 E9A8040000       jmp    0x41ed14 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+1268>
ex.inc.44: 
000000000041E86C 488B45F0         mov    rax,QWORD PTR [rbp-0x10]
000000000041E870 48B948504C4454424D45 movabs rcx,0x454d4254444c5048
000000000041E87A 4829C8           sub    rax,rcx
000000000041E87D 0F94C2           sete   dl
000000000041E880 8855DB           mov    BYTE PTR [rbp-0x25],dl
ex.inc.45: 
000000000041E883 807DDB00         cmp    BYTE PTR [rbp-0x25],0x0
000000000041E887 48898510FFFFFF   mov    QWORD PTR [rbp-0xf0],rax
000000000041E88E 7548             jne    0x41e8d8 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+184>
ex.inc.47: 
000000000041E890 488B45F0         mov    rax,QWORD PTR [rbp-0x10]
000000000041E894 48C1E808         shr    rax,0x8
000000000041E898 48B92B2B4343554E4700 movabs rcx,0x474e5543432b2b
000000000041E8A2 4829C8           sub    rax,rcx
000000000041E8A5 0F94C2           sete   dl
000000000041E8A8 8855DA           mov    BYTE PTR [rbp-0x26],dl
ex.inc.48: 
000000000041E8AB 807DDA00         cmp    BYTE PTR [rbp-0x26],0x0
000000000041E8AF 48898508FFFFFF   mov    QWORD PTR [rbp-0xf8],rax
000000000041E8B6 751E             jne    0x41e8d6 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+182>
ex.inc.49: 
000000000041E8B8 488B45F0         mov    rax,QWORD PTR [rbp-0x10]
000000000041E8BC 48B9002B2B4343554E47 movabs rcx,0x474e5543432b2b00
000000000041E8C6 4829C8           sub    rax,rcx
000000000041E8C9 0F94C2           sete   dl
000000000041E8CC 8855DA           mov    BYTE PTR [rbp-0x26],dl
000000000041E8CF 48898500FFFFFF   mov    QWORD PTR [rbp-0x100],rax
000000000041E8D6 EB04             jmp    0x41e8dc <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+188>
ex.inc.52: 
000000000041E8D8 C645DA00         mov    BYTE PTR [rbp-0x26],0x0
ex.inc.53: 
000000000041E8DC 8B45F8           mov    eax,DWORD PTR [rbp-0x8]
000000000041E8DF 2501000000       and    eax,0x1
000000000041E8E4 3D00000000       cmp    eax,0x0
000000000041E8E9 0F84A5000000     je     0x41e994 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+372>
000000000041E8EF 488DBD18FFFFFF   lea    rdi,[rbp-0xe8]
ex.inc.68: 
000000000041E8F6 8B75F8           mov    esi,DWORD PTR [rbp-0x8]
000000000041E8F9 8A45DB           mov    al,BYTE PTR [rbp-0x25]
000000000041E8FC 488B4DE8         mov    rcx,QWORD PTR [rbp-0x18]
000000000041E900 4C8B45E0         mov    r8,QWORD PTR [rbp-0x20]
000000000041E904 0FB6D0           movzx  edx,al
000000000041E907 E8B4D40000       call   0x42bdc0 <System.ScanEHTable(int, bool, _Unwind_Exception&, _Unwind_Context*)>
000000000041E90C 48BA3000000000000000 movabs rdx,0x30
000000000041E916 488D8D18FFFFFF   lea    rcx,[rbp-0xe8]
000000000041E91D 488D7DA8         lea    rdi,[rbp-0x58]
000000000041E921 4889CE           mov    rsi,rcx
000000000041E924 E8578AFFFF       call   0x417380 <memcpy@plt>;
ex.inc.69: 
000000000041E929 817DD006000000   cmp    DWORD PTR [rbp-0x30],0x6
000000000041E930 7557             jne    0x41e989 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+361>
000000000041E932 807DDB00         cmp    BYTE PTR [rbp-0x25],0x0
000000000041E936 7451             je     0x41e989 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+361>
ex.inc.71: 
000000000041E938 488B45E8         mov    rax,QWORD PTR [rbp-0x18]
000000000041E93C 480520000000     add    rax,0x20
000000000041E942 480590FFFFFF     add    rax,0xffffffffffffff90
000000000041E948 488945A0         mov    QWORD PTR [rbp-0x60],rax
ex.inc.72: 
000000000041E94C 488B45A8         mov    rax,QWORD PTR [rbp-0x58]
000000000041E950 89C1             mov    ecx,eax
000000000041E952 488B45A0         mov    rax,QWORD PTR [rbp-0x60]
000000000041E956 894828           mov    DWORD PTR [rax+0x28],ecx
ex.inc.73: 
000000000041E959 488B45B0         mov    rax,QWORD PTR [rbp-0x50]
000000000041E95D 488B55A0         mov    rdx,QWORD PTR [rbp-0x60]
000000000041E961 48894230         mov    QWORD PTR [rdx+0x30],rax
ex.inc.74: 
000000000041E965 488B45B8         mov    rax,QWORD PTR [rbp-0x48]
000000000041E969 488B55A0         mov    rdx,QWORD PTR [rbp-0x60]
000000000041E96D 48894238         mov    QWORD PTR [rdx+0x38],rax
ex.inc.75: 
000000000041E971 488B45C0         mov    rax,QWORD PTR [rbp-0x40]
000000000041E975 488B55A0         mov    rdx,QWORD PTR [rbp-0x60]
000000000041E979 48894240         mov    QWORD PTR [rdx+0x40],rax
ex.inc.76: 
000000000041E97D 488B45C8         mov    rax,QWORD PTR [rbp-0x38]
000000000041E981 488B55A0         mov    rdx,QWORD PTR [rbp-0x60]
000000000041E985 48894248         mov    QWORD PTR [rdx+0x48],rax
ex.inc.78: 
000000000041E989 8B45D0           mov    eax,DWORD PTR [rbp-0x30]
000000000041E98C 8945DC           mov    DWORD PTR [rbp-0x24],eax
000000000041E98F E980030000       jmp    0x41ed14 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+1268>
ex.inc.80: 
000000000041E994 8B45F8           mov    eax,DWORD PTR [rbp-0x8]
000000000041E997 2502000000       and    eax,0x2
000000000041E99C 3D00000000       cmp    eax,0x0
000000000041E9A1 0F8466030000     je     0x41ed0d <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+1261>
ex.inc.84: 
000000000041E9A7 8B45F8           mov    eax,DWORD PTR [rbp-0x8]
000000000041E9AA 2504000000       and    eax,0x4
000000000041E9AF 3D00000000       cmp    eax,0x0
000000000041E9B4 0F84E8020000     je     0x41eca2 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+1154>
ex.inc.86: 
000000000041E9BA 807DDB00         cmp    BYTE PTR [rbp-0x25],0x0
000000000041E9BE 0F8493000000     je     0x41ea57 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+567>
000000000041E9C4 488D45A8         lea    rax,[rbp-0x58]
ex.inc.90: 
000000000041E9C8 488B4DE8         mov    rcx,QWORD PTR [rbp-0x18]
000000000041E9CC 4881C120000000   add    rcx,0x20
000000000041E9D3 4881C190FFFFFF   add    rcx,0xffffffffffffff90
000000000041E9DA 48894DA0         mov    QWORD PTR [rbp-0x60],rcx
ex.inc.91: 
000000000041E9DE 488B4DA0         mov    rcx,QWORD PTR [rbp-0x60]
000000000041E9E2 48634928         movsxd rcx,DWORD PTR [rcx+0x28]
000000000041E9E6 48894DA8         mov    QWORD PTR [rbp-0x58],rcx
ex.inc.92: 
000000000041E9EA 488B4DA0         mov    rcx,QWORD PTR [rbp-0x60]
000000000041E9EE 488B4930         mov    rcx,QWORD PTR [rcx+0x30]
000000000041E9F2 48894DB0         mov    QWORD PTR [rbp-0x50],rcx
ex.inc.93: 
000000000041E9F6 488B4DA0         mov    rcx,QWORD PTR [rbp-0x60]
000000000041E9FA 488B4938         mov    rcx,QWORD PTR [rcx+0x38]
000000000041E9FE 48894DB8         mov    QWORD PTR [rbp-0x48],rcx
ex.inc.94: 
000000000041EA02 488B4DA0         mov    rcx,QWORD PTR [rbp-0x60]
000000000041EA06 488B4940         mov    rcx,QWORD PTR [rcx+0x40]
000000000041EA0A 48894DC0         mov    QWORD PTR [rbp-0x40],rcx
ex.inc.95: 
000000000041EA0E 488B4DA0         mov    rcx,QWORD PTR [rbp-0x60]
000000000041EA12 488B4948         mov    rcx,QWORD PTR [rcx+0x48]
000000000041EA16 48894DC8         mov    QWORD PTR [rbp-0x38],rcx
ex.inc.96: 
000000000041EA1A 488B4DE8         mov    rcx,QWORD PTR [rbp-0x18]
000000000041EA1E 488B75E0         mov    rsi,QWORD PTR [rbp-0x20]
000000000041EA22 4889CF           mov    rdi,rcx
000000000041EA25 4889C2           mov    rdx,rax
000000000041EA28 E8D3D90000       call   0x42c400 <System.SetRegisters(_Unwind_Exception&, _Unwind_Context*, System.TScanResults&)>
000000000041EA2D BF01000000       mov    edi,0x1
000000000041EA32 48B80000000000000000 movabs rax,0x0
ex.inc.101: 
000000000041EA3C 488B4DA0         mov    rcx,QWORD PTR [rbp-0x60]
000000000041EA40 4C8B4140         mov    r8,QWORD PTR [rcx+0x40]
000000000041EA44 4889C6           mov    rsi,rax
000000000041EA47 4889C2           mov    rdx,rax
000000000041EA4A 4889C1           mov    rcx,rax
000000000041EA4D E8EEBD0000       call   0x42a840 <System._DbgExcNotify(int, void*, System.SmallString<(unsigned char)255>*, void*, void*)>
000000000041EA52 E942020000       jmp    0x41ec99 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+1145>
ex.inc.104: 
000000000041EA57 807DDA00         cmp    BYTE PTR [rbp-0x26],0x0
000000000041EA5B 0F8436020000     je     0x41ec97 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+1143>
ex.inc.106: 
000000000041EA61 488B45E8         mov    rax,QWORD PTR [rbp-0x18]
000000000041EA65 480520000000     add    rax,0x20
000000000041EA6B 480588FFFFFF     add    rax,0xffffffffffffff88
000000000041EA71 48894598         mov    QWORD PTR [rbp-0x68],rax
ex.inc.107: 
000000000041EA75 488B45E8         mov    rax,QWORD PTR [rbp-0x18]
000000000041EA79 480520000000     add    rax,0x20
000000000041EA7F 48894590         mov    QWORD PTR [rbp-0x70],rax
ex.inc.109: 
000000000041EA83 488B4598         mov    rax,QWORD PTR [rbp-0x68]
000000000041EA87 488B7808         mov    rdi,QWORD PTR [rax+0x8]
000000000041EA8B E840C60000       call   0x42b0d0 <System.isDelphiType(NativeUInt)>
000000000041EA90 3C00             cmp    al,0x0
000000000041EA92 740A             je     0x41ea9e <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+638>
ex.inc.110: 
000000000041EA94 488B4590         mov    rax,QWORD PTR [rbp-0x70]
000000000041EA98 48894588         mov    QWORD PTR [rbp-0x78],rax
000000000041EA9C EB46             jmp    0x41eae4 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+708>
000000000041EA9E 488D0523783F00   lea    rax,[rip+0x3f7823]        # 0x8162c8 <System.ExceptObjProc>
ex.inc.113: 
000000000041EAA5 48813800000000   cmp    QWORD PTR [rax],0x0
000000000041EAAC 742C             je     0x41eada <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+698>
000000000041EAAE 488D0513783F00   lea    rax,[rip+0x3f7813]        # 0x8162c8 <System.ExceptObjProc>
ex.inc.115: 
000000000041EAB5 488B7DF0         mov    rdi,QWORD PTR [rbp-0x10]
000000000041EAB9 FF10             call   QWORD PTR [rax]
000000000041EABB 48894588         mov    QWORD PTR [rbp-0x78],rax
ex.inc.116: 
000000000041EABF 488B4598         mov    rax,QWORD PTR [rbp-0x68]
000000000041EAC3 4881781000000000 cmp    QWORD PTR [rax+0x10],0x0
000000000041EACB 740B             je     0x41ead8 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+696>
ex.inc.117: 
000000000041EACD 488B7D90         mov    rdi,QWORD PTR [rbp-0x70]
000000000041EAD1 488B4598         mov    rax,QWORD PTR [rbp-0x68]
000000000041EAD5 FF5010           call   QWORD PTR [rax+0x10]
000000000041EAD8 EB08             jmp    0x41eae2 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+706>
ex.inc.120: 
000000000041EADA 48C7458800000000 mov    QWORD PTR [rbp-0x78],0x0
000000000041EAE2 EB00             jmp    0x41eae4 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+708>
ex.inc.123: 
000000000041EAE4 48817D8800000000 cmp    QWORD PTR [rbp-0x78],0x0
000000000041EAEC 0F8444010000     je     0x41ec36 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+1046>
000000000041EAF2 488D05676D3F00   lea    rax,[rip+0x3f6d67]        # 0x815860 <System.RaiseExceptObjProc>
ex.inc.125: 
000000000041EAF9 48813800000000   cmp    QWORD PTR [rax],0x0
000000000041EB00 741B             je     0x41eb1d <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+765>
000000000041EB02 488D05576D3F00   lea    rax,[rip+0x3f6d57]        # 0x815860 <System.RaiseExceptObjProc>
000000000041EB09 488D8D58FFFFFF   lea    rcx,[rbp-0xa8]
ex.inc.127: 
000000000041EB10 488B5588         mov    rdx,QWORD PTR [rbp-0x78]
000000000041EB14 48895580         mov    QWORD PTR [rbp-0x80],rdx
ex.inc.128: 
000000000041EB18 4889CF           mov    rdi,rcx
000000000041EB1B FF10             call   QWORD PTR [rax]
ex.inc.130: 
000000000041EB1D E8EE1A0000       call   0x420610 <System.AllocateRaiseFrame()>
000000000041EB22 48B948504C4454424D45 movabs rcx,0x454d4254444c5048
000000000041EB2C 488945A0         mov    QWORD PTR [rbp-0x60],rax
ex.inc.131: 
000000000041EB30 488B4588         mov    rax,QWORD PTR [rbp-0x78]
000000000041EB34 488B55A0         mov    rdx,QWORD PTR [rbp-0x60]
000000000041EB38 48894210         mov    QWORD PTR [rdx+0x10],rax
ex.inc.132: 
000000000041EB3C 488B45A0         mov    rax,QWORD PTR [rbp-0x60]
000000000041EB40 48C7400800000000 mov    QWORD PTR [rax+0x8],0x0
ex.inc.133: 
000000000041EB48 488B45A0         mov    rax,QWORD PTR [rbp-0x60]
000000000041EB4C 48894850         mov    QWORD PTR [rax+0x50],rcx
ex.inc.134: 
000000000041EB50 488B45A0         mov    rax,QWORD PTR [rbp-0x60]
000000000041EB54 488B4D88         mov    rcx,QWORD PTR [rbp-0x78]
000000000041EB58 48894860         mov    QWORD PTR [rax+0x60],rcx
ex.inc.135: 
000000000041EB5C 488B45A0         mov    rax,QWORD PTR [rbp-0x60]
000000000041EB60 48C7406800000000 mov    QWORD PTR [rax+0x68],0x0
ex.inc.136: 
000000000041EB68 488B45A0         mov    rax,QWORD PTR [rbp-0x60]
000000000041EB6C 48898550FFFFFF   mov    QWORD PTR [rbp-0xb0],rax
000000000041EB73 E81893FFFF       call   0x417e90 <Sysinit._GetTls()>
000000000041EB78 488DBD18FFFFFF   lea    rdi,[rbp-0xe8]
000000000041EB7F 488D0D6A9A3E00   lea    rcx,[rip+0x3e9a6a]        # 0x8085f0 <System.RaiseListPtr>
000000000041EB86 488D1553933E00   lea    rdx,[rip+0x3e9353]        # 0x807ee0 <Sysinit.TlsStart>
000000000041EB8D 4829D1           sub    rcx,rdx
000000000041EB90 4801C8           add    rax,rcx
000000000041EB93 48898548FFFFFF   mov    QWORD PTR [rbp-0xb8],rax
000000000041EB9A 488B8548FFFFFF   mov    rax,QWORD PTR [rbp-0xb8]
000000000041EBA1 488B00           mov    rax,QWORD PTR [rax]
000000000041EBA4 488B8D50FFFFFF   mov    rcx,QWORD PTR [rbp-0xb0]
000000000041EBAB 488901           mov    QWORD PTR [rcx],rax
000000000041EBAE 488B8550FFFFFF   mov    rax,QWORD PTR [rbp-0xb0]
000000000041EBB5 488B8D48FFFFFF   mov    rcx,QWORD PTR [rbp-0xb8]
000000000041EBBC 488901           mov    QWORD PTR [rcx],rax
ex.inc.138: 
000000000041EBBF 8B75F8           mov    esi,DWORD PTR [rbp-0x8]
000000000041EBC2 448A45DB         mov    r8b,BYTE PTR [rbp-0x25]
000000000041EBC6 488B45E8         mov    rax,QWORD PTR [rbp-0x18]
000000000041EBCA 488B4DE0         mov    rcx,QWORD PTR [rbp-0x20]
000000000041EBCE 410FB6D0         movzx  edx,r8b
000000000041EBD2 48898DF8FEFFFF   mov    QWORD PTR [rbp-0x108],rcx
000000000041EBD9 4889C1           mov    rcx,rax
000000000041EBDC 4C8B85F8FEFFFF   mov    r8,QWORD PTR [rbp-0x108]
000000000041EBE3 E8D8D10000       call   0x42bdc0 <System.ScanEHTable(int, bool, _Unwind_Exception&, _Unwind_Context*)>
000000000041EBE8 48BA3000000000000000 movabs rdx,0x30
000000000041EBF2 488D8518FFFFFF   lea    rax,[rbp-0xe8]
000000000041EBF9 488D4DA8         lea    rcx,[rbp-0x58]
000000000041EBFD 4889CF           mov    rdi,rcx
000000000041EC00 4889C6           mov    rsi,rax
000000000041EC03 E87887FFFF       call   0x417380 <memcpy@plt>;
ex.inc.139: 
000000000041EC08 817DD006000000   cmp    DWORD PTR [rbp-0x30],0x6
000000000041EC0F 7405             je     0x41ec16 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+1014>
ex.inc.140: 
000000000041EC11 E82AC20000       call   0x42ae40 <System._Halt0()>
000000000041EC16 488D45A8         lea    rax,[rbp-0x58]
ex.inc.141: 
000000000041EC1A 488B4DA0         mov    rcx,QWORD PTR [rbp-0x60]
000000000041EC1E 4881C150000000   add    rcx,0x50
000000000041EC25 488B75E0         mov    rsi,QWORD PTR [rbp-0x20]
000000000041EC29 4889CF           mov    rdi,rcx
000000000041EC2C 4889C2           mov    rdx,rax
000000000041EC2F E8CCD70000       call   0x42c400 <System.SetRegisters(_Unwind_Exception&, _Unwind_Context*, System.TScanResults&)>
000000000041EC34 EB5F             jmp    0x41ec95 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+1141>
000000000041EC36 488DBD18FFFFFF   lea    rdi,[rbp-0xe8]
ex.inc.146: 
000000000041EC3D 8B75F8           mov    esi,DWORD PTR [rbp-0x8]
000000000041EC40 8A45DB           mov    al,BYTE PTR [rbp-0x25]
000000000041EC43 488B4DE8         mov    rcx,QWORD PTR [rbp-0x18]
000000000041EC47 4C8B45E0         mov    r8,QWORD PTR [rbp-0x20]
000000000041EC4B 0FB6D0           movzx  edx,al
000000000041EC4E E86DD10000       call   0x42bdc0 <System.ScanEHTable(int, bool, _Unwind_Exception&, _Unwind_Context*)>
000000000041EC53 48BA3000000000000000 movabs rdx,0x30
000000000041EC5D 488D8D18FFFFFF   lea    rcx,[rbp-0xe8]
000000000041EC64 488D7DA8         lea    rdi,[rbp-0x58]
000000000041EC68 4889CE           mov    rsi,rcx
000000000041EC6B E81087FFFF       call   0x417380 <memcpy@plt>;
ex.inc.147: 
000000000041EC70 817DD006000000   cmp    DWORD PTR [rbp-0x30],0x6
000000000041EC77 7405             je     0x41ec7e <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+1118>
ex.inc.148: 
000000000041EC79 E8C2C10000       call   0x42ae40 <System._Halt0()>
000000000041EC7E 488D45A8         lea    rax,[rbp-0x58]
ex.inc.149: 
000000000041EC82 488B4DE8         mov    rcx,QWORD PTR [rbp-0x18]
000000000041EC86 488B75E0         mov    rsi,QWORD PTR [rbp-0x20]
000000000041EC8A 4889CF           mov    rdi,rcx
000000000041EC8D 4889C2           mov    rdx,rax
000000000041EC90 E86BD70000       call   0x42c400 <System.SetRegisters(_Unwind_Exception&, _Unwind_Context*, System.TScanResults&)>
000000000041EC95 EB00             jmp    0x41ec97 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+1143>
000000000041EC97 EB00             jmp    0x41ec99 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+1145>
ex.inc.157: 
000000000041EC99 C745DC07000000   mov    DWORD PTR [rbp-0x24],0x7
000000000041ECA0 EB72             jmp    0x41ed14 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+1268>
000000000041ECA2 488DBD18FFFFFF   lea    rdi,[rbp-0xe8]
ex.inc.159: 
000000000041ECA9 8B75F8           mov    esi,DWORD PTR [rbp-0x8]
000000000041ECAC 8A45DB           mov    al,BYTE PTR [rbp-0x25]
000000000041ECAF 488B4DE8         mov    rcx,QWORD PTR [rbp-0x18]
000000000041ECB3 4C8B45E0         mov    r8,QWORD PTR [rbp-0x20]
000000000041ECB7 0FB6D0           movzx  edx,al
000000000041ECBA E801D10000       call   0x42bdc0 <System.ScanEHTable(int, bool, _Unwind_Exception&, _Unwind_Context*)>
000000000041ECBF 48BA3000000000000000 movabs rdx,0x30
000000000041ECC9 488D8D18FFFFFF   lea    rcx,[rbp-0xe8]
000000000041ECD0 488D7DA8         lea    rdi,[rbp-0x58]
000000000041ECD4 4889CE           mov    rsi,rcx
000000000041ECD7 E8A486FFFF       call   0x417380 <memcpy@plt>;
ex.inc.160: 
000000000041ECDC 817DD006000000   cmp    DWORD PTR [rbp-0x30],0x6
000000000041ECE3 7520             jne    0x41ed05 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+1253>
000000000041ECE5 488D45A8         lea    rax,[rbp-0x58]
ex.inc.162: 
000000000041ECE9 488B4DE8         mov    rcx,QWORD PTR [rbp-0x18]
000000000041ECED 488B75E0         mov    rsi,QWORD PTR [rbp-0x20]
000000000041ECF1 4889CF           mov    rdi,rcx
000000000041ECF4 4889C2           mov    rdx,rax
000000000041ECF7 E804D70000       call   0x42c400 <System.SetRegisters(_Unwind_Exception&, _Unwind_Context*, System.TScanResults&)>
ex.inc.163: 
000000000041ECFC C745DC07000000   mov    DWORD PTR [rbp-0x24],0x7
000000000041ED03 EB0F             jmp    0x41ed14 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+1268>
ex.inc.165: 
000000000041ED05 8B45D0           mov    eax,DWORD PTR [rbp-0x30]
000000000041ED08 8945DC           mov    DWORD PTR [rbp-0x24],eax
000000000041ED0B EB07             jmp    0x41ed14 <System._delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*)+1268>
ex.inc.167: 
000000000041ED0D C745DC03000000   mov    DWORD PTR [rbp-0x24],0x3
ex.inc.168: 
000000000041ED14 8B45DC           mov    eax,DWORD PTR [rbp-0x24]
000000000041ED17 4881C410010000   add    rsp,0x110
000000000041ED1E 5D               pop    rbp
000000000041ED1F C3               ret    




168 строк шибко секретного кода, чтобы его включить в исходники.
Кто возьмется отреверсить? С меня коньяк.
...
Рейтинг: 0 / 0
Как перекомпилировать Linux RTL?
    #39995296
ziv-2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Rusov,
Нужно правильно описать external _delphipersonalityroutine из librtlhelper.a.
Потому что у вас не правильно функция описана. Дальше откомпилировать и норм.

Может как-то так:
Код: pascal
1.
2.
function _delphiPersonalityRoutine(Version: Integer; actions: _Unwind_Action; exceptionClass: UInt64;
    var exceptionObject: _Unwind_Exception; context: PUnwind_Context): _Unwind_Reason_Code; cdecl; external 'librtlhelper.a';
...
Рейтинг: 0 / 0
Как перекомпилировать Linux RTL?
    #39995297
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster
Maxim Rusov
Хочу перекомпилировать Linux RTL.


А в чем сакральный смысл сего действа?
...
Рейтинг: 0 / 0
Как перекомпилировать Linux RTL?
    #39995300
Фотография Maxim Rusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ziv-2014,

Так это же Linux. Как к нему external подключить?
...
Рейтинг: 0 / 0
Как перекомпилировать Linux RTL?
    #39995301
Фотография Maxim Rusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Arefiev,

Ну глюки же править. Раз они сами не хотят.

Товарищ Канту мне сказал что это слишком сложно для него...

https://quality.embarcadero.com/browse/RSP-29358
...
Рейтинг: 0 / 0
Как перекомпилировать Linux RTL?
    #39995302
ziv-2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: pascal
1.
2.
3.
4.
5.
6.
7.
function _delphiPersonalityRoutine(Version: Integer; actions: _Unwind_Action; exceptionClass: UInt64;
    var exceptionObject: _Unwind_Exception; context: PUnwind_Context): _Unwind_Reason_Code; cdecl; external 'librtlhelper.a' name '_delphiPersonalityRoutine';

или 

function _delphiPersonalityRoutine(Version: Integer; actions: _Unwind_Action; exceptionClass: UInt64;
    var exceptionObject: _Unwind_Exception; context: PUnwind_Context): _Unwind_Reason_Code; cdecl; external 'librtlhelper_PIC.a' name '_delphiPersonalityRoutine';
...
Рейтинг: 0 / 0
Как перекомпилировать Linux RTL?
    #39995307
ziv-2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Rusov
ziv-2014,

Так это же Linux. Как к нему external подключить?


Разработчики подключают. Наверное также, как в других ос.


В System.Rtti.pas
Описано так
Код: pascal
1.
2.
procedure RawInvoke(CodeAddress: Pointer; ParamBlock: PParamBlock);
  external RTLHelperLibName name 'rtti_raw_invoke';
...
Рейтинг: 0 / 0
Как перекомпилировать Linux RTL?
    #39995316
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Maxim Rusov
168 строк шибко секретного кода, чтобы его включить в исходники.

Секретность ни при чём, просто просто забыли файл добавить. Первый раз что ли? Напиши им.
...
Рейтинг: 0 / 0
Как перекомпилировать Linux RTL?
    #39995324
Фотография Maxim Rusov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ziv-2014,

Не, не проканало. System.pas компилируется, но при компиляции программы - ошибка:

[DCC Error] E2597 S:\Vcl\RTL\System.o:System:function System::_delphipersonalityroutine(int, int, unsigned long long, _Unwind_Exception&, _Unwind_Context*): error: undefined reference to '_delphipersonalityroutine'
...
Рейтинг: 0 / 0
25 сообщений из 68, страница 1 из 3
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Как перекомпилировать Linux RTL?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]