LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 10-28-2018, 05:34 PM   #1
UGee
LQ Newbie
 
Registered: Oct 2018
Posts: 11

Rep: Reputation: Disabled
What kind of file is this ?? Need your help.


Hello People of linuxquestions.org,

I am as fresh as you can get it on this forum seeking for your help.
Hope some of you can help me out here.
I am trying to rebuild a billboard from a Sega Arcade game.
In the specs i read that the billboard is run by a Raspberry Pi model 3b.
Ofcourse also the software is neede to get things working.
I have some files and specially a file called: rpi-billboard.
That seems very good and if i look at the "raw" data i can see some things inside regarding linux files and raspberry. But also i see the directory mentioned with the files i have.
So if i (and then i mean you, because i don't have a clue) can figure out what kind of file this is then i maybe can get it to work.

To bad i cannot post attachments. But maybe someone knows how i can post the file so you can take a look at it.
It start like this:

ELF

Maybe it is already a clue.

I hope someone will give it a shot.

Best regards to you all.

UGee
 
Old 10-28-2018, 05:40 PM   #2
RandomTroll
Senior Member
 
Registered: Mar 2010
Distribution: Slackware
Posts: 1,953

Rep: Reputation: 270Reputation: 270Reputation: 270
the program
Code:
file
usually identifies the type of any file, for example
Code:
 file rpi-billboard
.
Quote:
ELF
is in the header of Linux executables.
 
1 members found this post helpful.
Old 10-28-2018, 06:09 PM   #3
UGee
LQ Newbie
 
Registered: Oct 2018
Posts: 11

Original Poster
Rep: Reputation: Disabled
Hey man.
Thank you for your quick reply. This is great.
Ok so far so good so that means i can execute this file from a raspberry pi linux environment?
How does one execute an ELF file from linux ?
I downloaded the raspbian image and installed it. Then i inserted a USB stick, mounted it and see the file.
But then ?? How do i execute it. I typed the name but that didn't do it.
Syntax Error Word unexpected: Expected "("
Something like that.

I had an idea. I put the file in wetransfer.
Maybe you can take a look.

https://we.tl/t-hJn0vwtobX

I hope it is allowed to paste a link to a file to look at ?
If not. Then i am sorry in advance about that, but please tell me then how to attach the file so people can help.

Best regards,

UGee
 
Old 10-28-2018, 06:18 PM   #4
scasey
LQ Veteran
 
Registered: Feb 2013
Location: Tucson, AZ, USA
Distribution: CentOS 7.9.2009
Posts: 5,725

Rep: Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211
That's a binary file. There's nothing to "look at" --and I, for one, am not going to download it.

Please post exactly what you entered to "run it" -- and exactly what the response was.
You can copy/past text into [code] tags.

Pretty hard to work with "something like that"

Also, what was the result of the file command that Random_Troll suggested in #2?

Last edited by scasey; 10-28-2018 at 06:19 PM.
 
Old 10-28-2018, 06:52 PM   #5
UGee
LQ Newbie
 
Registered: Oct 2018
Posts: 11

Original Poster
Rep: Reputation: Disabled
Hi scasey,

I can understand. I just thought that you all saw so many files already that you instantly would say Owwww that is that kind of file and so and so can you run it.
But to answer your question the File command gave the following answer:

rpi-billboard: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-armhf.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=............................, not stripped

(If the build ID is very important i will type it, but the Rpi is not next to my pc so i made a picture and typed the rest ;-).

Maybe you can give a little hint on how to proceed.

Thanks.

UGee

Last edited by UGee; 10-28-2018 at 06:55 PM.
 
Old 10-28-2018, 07:25 PM   #6
scasey
LQ Veteran
 
Registered: Feb 2013
Location: Tucson, AZ, USA
Distribution: CentOS 7.9.2009
Posts: 5,725

Rep: Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211Reputation: 2211
Quote:
Originally Posted by scasey View Post
Please post exactly what you entered to "run it" -- and exactly what the response was.
You can copy/past text into [code] tags.
???
 
Old 10-29-2018, 02:20 AM   #7
ondoho
LQ Addict
 
Registered: Dec 2013
Posts: 19,872
Blog Entries: 12

Rep: Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053
on the machine it was compiled for (i.e. the raspi), navigate to the directory containing the file, and try
Code:
./rpi-billboard
it's a little risky to exwecute unknown files, but i don't see how you ahve any choice here.
if i were you i would ask myself: where does this come from? who compiled it? where is the source?

oh, and also show us
Code:
ls -al rpi-billboard
 
Old 10-29-2018, 07:07 AM   #8
UGee
LQ Newbie
 
Registered: Oct 2018
Posts: 11

Original Poster
Rep: Reputation: Disabled
Just execting it by name gives:
-bash: rpi-billboard: command not found

Ls -al rpi-billboard gives:
-rw------- 1 pi pi 1278136 Oct 10 02:32 rpi-billboard

Any suggestions.

As i Read some more. This is a binary file which cannot be executed. Have to creatie the executable somehow ?
Just shouting out my noob thoughts. I am not a Linux guru ;-)
 
Old 10-29-2018, 07:22 AM   #9
kilgoretrout
Senior Member
 
Registered: Oct 2003
Posts: 2,986

Rep: Reputation: 388Reputation: 388Reputation: 388Reputation: 388
rpi-billboard doesn't have execute permissions. You can give it execute permissions by running:
Code:
$ sudo chmod +x rpi-billboard
Then check it with:
Code:
$ ls rpi-billboard
This time you should see "rwx" in the output instead of "-rw". You should then be able to run it with:
Code:
$ ./rpi-billboard
 
Old 10-29-2018, 07:36 AM   #10
UGee
LQ Newbie
 
Registered: Oct 2018
Posts: 11

Original Poster
Rep: Reputation: Disabled
Right kilgoretrout.... Guess i should have figured that out by myself :-(
Feel kinda stupid.
But Oke i will try that later if i get home.

Hopefully a better go with this info.

I will get back with the result.

Thanks in advance for all your great help.

UGee
 
Old 10-29-2018, 06:09 PM   #11
UGee
LQ Newbie
 
Registered: Oct 2018
Posts: 11

Original Poster
Rep: Reputation: Disabled
Great news guys.
With your help i was able to execute the file.
It starts up and a GUI is present.
So far so good.
I looked up the terminal log and saw that it connects to the game by opening an UDP port.
It searches for a billboard.config file and states that the UDP port in the config file is wrong/missing
So i have to figure out how it reads this config file and for what phrase it searches UDP=??? or UDPPort=???...
I guess i have to digg deaper into the executable file and decode it.
What do you guys say. Any chance of success in figuring out what the config file parameters are ?
Or do you have another idea ?
I tried /? behind the executable. Thought maybe it would give some parameters to give with it maybe a UDP port by hand ;-).
But now it didn't recognize the /? (or is this only a pc feature and not linux. don't know actually now that i am thinking).

So although i am not finished i want to thank you for your great help.

UGee
 
Old 10-31-2018, 01:12 AM   #12
ondoho
LQ Addict
 
Registered: Dec 2013
Posts: 19,872
Blog Entries: 12

Rep: Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053Reputation: 6053
^ i can only repeat myself:
Quote:
Originally Posted by ondoho View Post
if i were you i would ask myself: where does this come from? who compiled it? where is the source?
...and the documentation?
__________________

Quote:
Originally Posted by kilgoretrout View Post
rpi-billboard doesn't have execute permissions. You can give it execute permissions by running:
Code:
$ sudo chmod +x rpi-billboard
elevated privileges are not required here.
 
Old 11-01-2018, 06:22 PM   #13
UGee
LQ Newbie
 
Registered: Oct 2018
Posts: 11

Original Poster
Rep: Reputation: Disabled
Ok back at it.
i'm now at the place in the code where it loads the config file.
But i cannot figure out for what string it searches or how the parameters must be.
Have tried everything but cannot figure it out.
Not really into ARM C++....
I can understand some commands because i programmed a lot in assembly on different platforms but i cannot fire out the exact parameters.
If someone is willing to take a look, that would be great.
I tried several things but everytime it come with "Invalid UDP Port in config file"...

Thank you for your time in advance.
You are already a great help but i'm trying to figure this out also. Cannot stand it that i cannot find the exact parameters. What am i missing ?
Quotes ? Brackets ?

Code:
text:000240A4 ; void system_init()
.text:000240A4                 EXPORT system_init
.text:000240A4 system_init                             ; CODE XREF: main+24↑p
.text:000240A4                                         ; stream_init+28↑p
.text:000240A4                 LDR     R1, =(time_last.6970 - 0x240B4)
.text:000240A8                 STMFD   SP!, {R3-R5,LR}
.text:000240AC                 ADD     R1, PC, R1      ; time_last.6970
.text:000240B0                 ADD     R1, R1, #8      ; tp
.text:000240B4                 MOV     R0, #0          ; clock_id
.text:000240B8                 LDR     R5, =(_GLOBAL_OFFSET_TABLE_ - 0x240CC)
.text:000240BC                 BL      clock_gettime
.text:000240C0                 LDR     R3, =(system_info_ptr - 0xE025C)
.text:000240C4                 ADD     R5, PC, R5      ; _GLOBAL_OFFSET_TABLE_
.text:000240C8                 LDR     R4, [R5,R3]     ; system_info
.text:000240CC                 ADD     R0, R4, #0x2C   ; buf_ptr
.text:000240D0                 BL      system_get_ip_address
.text:000240D4                 BL      config_init
.text:000240D8                 LDR     R3, =(config_ptr - 0xE025C)
.text:000240DC                 LDR     R2, =(a171011 - 0x240E8)
.text:000240E0                 ADD     R2, PC, R2      ; "171011"
.text:000240E4                 STR     R2, [R4]
.text:000240E8                 LDR     R3, [R5,R3]     ; config
.text:000240EC                 ADD     R2, R3, #8
.text:000240F0                 LDRH    R0, [R3,#(config.udp_port - 0xE095C)]
.text:000240F4                 LDRH    R1, [R3,#(config.tcp_port - 0xE095C)]
.text:000240F8                 STR     R3, [R4,#(system_info.config - 0x7FABD0)]
.text:000240FC                 STRH    R0, [R4,#(system_info.ip_udp_port - 0x7FABD0)]
.text:00024100                 STRH    R1, [R4,#(system_info.ip_tcp_port - 0x7FABD0)]
.text:00024104                 STR     R2, [R4,#(system_info.background - 0x7FABD0)]
.text:00024108                 LDMFD   SP!, {R3-R5,PC}
.text:00024108 ; End of function system_init
.text:00024108
.text:00024108 ; ---------------------------------------------------------------------------
.text:0002410C off_2410C       DCD time_last.6970 - 0x240B4
.text:0002410C                                         ; DATA XREF: system_init↑r
.text:00024110 off_24110       DCD _GLOBAL_OFFSET_TABLE_ - 0x240CC
.text:00024110                                         ; DATA XREF: system_init+14↑r
.text:00024114 off_24114       DCD system_info_ptr - 0xE025C
.text:00024114                                         ; DATA XREF: system_init+1C↑r
.text:00024118 off_24118       DCD config_ptr - 0xE025C
.text:00024118                                         ; DATA XREF: system_init+34↑r
.text:0002411C off_2411C       DCD a171011 - 0x240E8   ; DATA XREF: system_init+38↑r
.text:0002411C                                         ; "171011"
.text:00024120
.text:00024120 ; =============== S U B R O U T I N E =======================================
.text:00024120
.text:00024120 ; Attributes: static
.text:00024120
.text:00024120 ; int __fastcall config_handler(void *user, const unsigned __int8 *section, const unsigned __int8 *name, const unsigned __int8 *value)
.text:00024120 config_handler                          ; DATA XREF: config_init+24↓o
.text:00024120                                         ; .text:off_253EC↓o
.text:00024120
.text:00024120 var_38          = -0x38
.text:00024120 var_34          = -0x34
.text:00024120 red             = -0x2C
.text:00024120 green           = -0x28
.text:00024120 blue            = -0x24
.text:00024120
.text:00024120 section = R1                            ; const unsigned __int8 *
.text:00024120 name = R2                               ; const unsigned __int8 *
.text:00024120 value = R3                              ; const unsigned __int8 *
.text:00024120 user = R0                               ; void *
.text:00024120                 STMFD   SP!, {R4-R10,LR}
.text:00024124                 MOV     R4, section
.text:00024128                 LDR     section, =(aSystem_0 - 0x2413C)
.text:0002412C section = R4                            ; const unsigned __int8 *
.text:0002412C                 SUB     SP, SP, #0x18
.text:00024130                 MOV     R10, user
.text:00024134 config_ptr = R0                         ; config_t *
.text:00024134                 ADD     R1, PC, R1      ; "system"
.text:00024138                 MOV     config_ptr, section ; s1
.text:0002413C config_ptr = R10                        ; config_t *
.text:0002413C                 MOV     R5, name
.text:00024140                 MOV     R7, value
.text:00024144                 BL      strcmp
.text:00024148                 LDR     R8, =_GLOBAL_OFFSET_TABLE_ ; PIC mode
.text:0002414C                 NOP
.text:00024150                 CMP     R0, #0
.text:00024154                 BNE     loc_2427C
.text:00024158                 LDR     R1, =(aMode - 0x24168)
.text:0002415C                 MOV     R0, name        ; s1
.text:00024160                 ADD     R1, PC, R1      ; "mode"
.text:00024164                 BL      strcmp
.text:00024168                 CMP     R0, #0
.text:0002416C                 BNE     loc_24264
.text:00024170                 LDR     R1, =(aFatal - 0x24180)
.text:00024174                 MOV     R0, value       ; s1
.text:00024178                 ADD     R1, PC, R1      ; "fatal"
.text:0002417C                 BL      strcmp
.text:00024180                 CMP     R0, #0
.text:00024184                 STREQB  R0, [config_ptr]
.text:00024188                 BEQ     loc_2424C
.text:0002418C                 LDR     R1, =(aAssert - 0x2419C)
.text:00024190                 MOV     R0, value       ; s1
.text:00024194                 ADD     R1, PC, R1      ; "assert"
.text:00024198                 BL      strcmp
.text:0002419C                 CMP     R0, #0
.text:000241A0                 MOVEQ   R3, #1
.text:000241A4                 STREQB  R3, [config_ptr]
.text:000241A8                 BEQ     loc_2424C
.text:000241AC                 LDR     R1, =(aError - 0x241BC)
.text:000241B0                 MOV     R0, value       ; s1
.text:000241B4                 ADD     R1, PC, R1      ; "error"
.text:000241B8                 BL      strcmp
.text:000241BC                 CMP     R0, #0
.text:000241C0                 MOVEQ   R3, #2
.text:000241C4                 STREQB  R3, [config_ptr]
.text:000241C8                 BEQ     loc_2424C
.text:000241CC                 LDR     R1, =(aWarn - 0x241DC)
.text:000241D0                 MOV     R0, value       ; s1
.text:000241D4                 ADD     R1, PC, R1      ; "warn"
.text:000241D8                 BL      strcmp
.text:000241DC                 CMP     R0, #0
.text:000241E0                 MOVEQ   R3, #3
.text:000241E4                 STREQB  R3, [config_ptr]
.text:000241E8                 BEQ     loc_2424C
.text:000241EC                 LDR     R1, =(aInfo - 0x241FC)
.text:000241F0                 MOV     R0, value       ; s1
.text:000241F4                 ADD     R1, PC, R1      ; "info"
.text:000241F8                 BL      strcmp
.text:000241FC                 CMP     R0, #0
.text:00024200                 MOVEQ   R3, #4
.text:00024204                 STREQB  R3, [config_ptr]
.text:00024208                 BEQ     loc_2424C
.text:0002420C                 LDR     R1, =(aDebug - 0x2421C)
.text:00024210                 MOV     R0, value       ; s1
.text:00024214                 ADD     R1, PC, R1      ; "debug"
.text:00024218                 BL      strcmp
.text:0002421C                 CMP     R0, #0
.text:00024220                 MOVEQ   R3, #5
.text:00024224                 STREQB  R3, [config_ptr]
.text:00024228                 BEQ     loc_2424C
.text:0002422C                 LDR     R1, =(aVerbose - 0x2423C)
.text:00024230                 MOV     R0, value       ; s1
.text:00024234                 ADD     R1, PC, R1      ; "verbose"
.text:00024238                 BL      strcmp
.text:0002423C                 CMP     R0, #0
.text:00024240                 BNE     loc_24264
.text:00024244                 MOV     R3, #6
.text:00024248                 STRB    R3, [config_ptr]
.text:0002424C
.text:0002424C loc_2424C                               ; CODE XREF: config_handler+68↑j
.text:0002424C                                         ; config_handler+88↑j ...
.text:0002424C                 LDR     R1, =(aSystem_0 - 0x2425C)
.text:00024250                 MOV     R0, section     ; s1
.text:00024254                 ADD     R1, PC, R1      ; "system"
.text:00024258                 BL      strcmp
.text:0002425C                 CMP     R0, #0
.text:00024260                 BNE     loc_2427C
.text:00024264
.text:00024264 loc_24264                               ; CODE XREF: config_handler+4C↑j
.text:00024264                                         ; config_handler+120↑j
.text:00024264                 LDR     R1, =(aCabinets - 0x24274)
.text:00024268                 MOV     R0, name        ; s1
.text:0002426C                 ADD     R1, PC, R1      ; "cabinets"
.text:00024270                 BL      strcmp
.text:00024274                 SUBS    R1, R0, #0      ; endptr
.text:00024278                 BEQ     loc_2465C
.text:0002427C
.text:0002427C loc_2427C                               ; CODE XREF: config_handler+34↑j
.text:0002427C                                         ; config_handler+140↑j ...
.text:0002427C                 LDR     R9, =(aNetwork - 0x2428C)
.text:00024280                 MOV     R0, section     ; s1
.text:00024284                 ADD     R9, PC, R9      ; "network"
.text:00024288                 MOV     R1, R9          ; s2
.text:0002428C                 BL      strcmp
.text:00024290                 CMP     R0, #0
.text:00024294                 BNE     loc_242E0
.text:00024298                 LDR     R1, =(aUdpPort - 0x242A8)
.text:0002429C                 MOV     R0, name        ; s1
.text:000242A0                 ADD     R1, PC, R1      ; "udp_port"
.text:000242A4                 BL      strcmp
.text:000242A8                 SUBS    R1, R0, #0      ; endptr
.text:000242AC                 BEQ     loc_24634
.text:000242B0
.text:000242B0 loc_242B0                               ; CODE XREF: config_handler+534↓j
.text:000242B0                 LDR     R1, =(aTcpPort - 0x242C0)
.text:000242B4                 MOV     R0, name        ; s1
.text:000242B8                 ADD     R1, PC, R1      ; "tcp_port"
.text:000242BC                 BL      strcmp
.text:000242C0                 SUBS    R1, R0, #0      ; endptr
.text:000242C4                 BEQ     loc_24608
.text:000242C8
.text:000242C8 loc_242C8                               ; CODE XREF: config_handler+50C↓j
.text:000242C8                 LDR     R1, =(aEndian - 0x242D8)
.text:000242CC                 MOV     R0, name        ; s1
.text:000242D0                 ADD     R1, PC, R1      ; "endian"
.text:000242D4                 BL      strcmp
.text:000242D8                 CMP     R0, #0
.text:000242DC                 BEQ     loc_244B0
.text:000242E0
.text:000242E0 loc_242E0                               ; CODE XREF: config_handler+174↑j
.text:000242E0                                         ; config_handler+3BC↓j ...
.text:000242E0                 LDR     R1, =(aBackground - 0x242F0)
.text:000242E4                 MOV     R0, section     ; s1
.text:000242E8                 ADD     R1, PC, R1      ; "background"
.text:000242EC                 BL      strcmp
.text:000242F0                 CMP     R0, #0
.text:000242F4                 BNE     loc_24310
.text:000242F8                 LDR     R1, =(aImage - 0x24308)
.text:000242FC                 MOV     R0, name        ; s1
.text:00024300                 ADD     R1, PC, R1      ; "image"
.text:00024304                 BL      strcmp
.text:00024308                 CMP     R0, #0
.text:0002430C                 BEQ     loc_247E0
.text:00024310
.text:00024310 loc_24310                               ; CODE XREF: config_handler+1D4↑j
.text:00024310                 LDR     R1, =(aBox - 0x24320)
.text:00024314                 MOV     R0, section     ; s1
.text:00024318                 ADD     R1, PC, R1      ; "box"
.text:0002431C                 MOV     R2, #3          ; n
.text:00024320                 BL      strncmp
.text:00024324                 CMP     R0, #0
.text:00024328                 BNE     loc_243A0
.text:0002432C                 LDRB    R6, [section,#3]
.text:00024330                 SUB     R6, R6, #0x31
.text:00024334                 UXTB    R6, R6
.text:00024338 item_no = R6                            ; uint8_t
.text:00024338                 CMP     item_no, #8
.text:0002433C                 BHI     loc_24394
.text:00024340 __s2 = R5                               ; const unsigned __int8 *
.text:00024340                 LDRB    R3, [__s2]
.text:00024344                 CMP     R3, #0x70
.text:00024348                 BEQ     loc_24670
.text:0002434C

Last edited by UGee; 11-02-2018 at 04:24 AM.
 
Old 11-01-2018, 06:22 PM   #14
UGee
LQ Newbie
 
Registered: Oct 2018
Posts: 11

Original Poster
Rep: Reputation: Disabled
Code:
.text:0002434C loc_2434C                               ; CODE XREF: config_handler+558↓j
.text:0002434C                                         ; config_handler+564↓j ...
.text:0002434C                 LDR     R1, =(aSize - 0x2435C)
.text:00024350                 MOV     R0, __s2        ; s1
.text:00024354                 ADD     R1, PC, R1      ; "size"
.text:00024358                 BL      strcmp
.text:0002435C                 CMP     R0, #0
.text:00024360                 BEQ     loc_248B0
.text:00024364                 LDR     R1, =(aColor - 0x24374)
.text:00024368                 MOV     R0, __s2        ; s1
.text:0002436C                 ADD     R1, PC, R1      ; "color"
.text:00024370                 BL      strcmp
.text:00024374                 CMP     R0, #0
.text:00024378                 BEQ     loc_24B58
.text:0002437C                 LDR     R1, =(aAlpha - 0x2438C)
.text:00024380                 MOV     R0, __s2        ; s1
.text:00024384                 ADD     R1, PC, R1      ; "alpha"
.text:00024388                 BL      strcmp
.text:0002438C                 SUBS    __s2, R0, #0
.text:00024390                 BEQ     loc_249F4
.text:00024394
.text:00024394 loc_24394                               ; CODE XREF: config_handler+21C↑j
.text:00024394                                         ; config_handler+2AC↓j ...
.text:00024394                 MOV     R0, #1
.text:00024398                 ADD     SP, SP, #0x18
.text:0002439C                 LDMFD   SP!, {section-config_ptr,PC}
.text:000243A0 ; ---------------------------------------------------------------------------
.text:000243A0
.text:000243A0 loc_243A0                               ; CODE XREF: config_handler+208↑j
.text:000243A0 name = R5                               ; const unsigned __int8 *
.text:000243A0                 LDR     R1, =(aImage - 0x243B0)
.text:000243A4                 MOV     R0, section     ; s1
.text:000243A8                 ADD     R1, PC, R1      ; "image"
.text:000243AC                 MOV     R2, #5          ; n
.text:000243B0                 BL      strncmp
.text:000243B4                 CMP     R0, #0
.text:000243B8                 BNE     loc_244E0
.text:000243BC                 LDRB    R6, [section,#5]
.text:000243C0                 SUB     R6, R6, #0x31
.text:000243C4                 UXTB    R6, R6
.text:000243C8 item_no = R6                            ; uint8_t
.text:000243C8                 CMP     item_no, #7
.text:000243CC                 BHI     loc_24394
.text:000243D0 __s2 = R5                               ; const unsigned __int8 *
.text:000243D0                 LDRB    R3, [__s2]
.text:000243D4                 CMP     R3, #0x70
.text:000243D8                 BNE     loc_247FC
.text:000243DC                 LDRB    R3, [__s2,#1]
.text:000243E0                 CMP     R3, #0x6F
.text:000243E4                 BNE     loc_247FC
.text:000243E8                 LDRB    R3, [__s2,#2]
.text:000243EC                 CMP     R3, #0x73
.text:000243F0                 BNE     loc_247FC
.text:000243F4                 LDRB    R3, [__s2,#3]
.text:000243F8                 CMP     R3, #0
.text:000243FC                 BNE     loc_247FC
.text:00024400                 LDR     R1, =(aDD_0 - 0x24410)
.text:00024404                 ADD     R2, SP, #0x38+green
.text:00024408                 ADD     R1, PC, R1      ; "%d,%d"
.text:0002440C                 ADD     R3, SP, #0x38+blue
.text:00024410                 MOV     R0, value
.text:00024414                 BL      __isoc99_sscanf
.text:00024418                 ADD     R3, config_ptr, item_no,LSL#3
.text:0002441C                 LDR     R1, [SP,#0x38+green]
.text:00024420                 ADD     item_no, item_no, #0x1D
.text:00024424                 LDR     R2, [SP,#0x38+blue]
.text:00024428                 STRH    R1, [R3,#0xE8]
.text:0002442C                 STRH    R2, [R3,#0xEA]
.text:00024430                 LDR     R0, [config_ptr,R6,LSL#3] ; clock_id
.text:00024434                 CMP     R0, #0
.text:00024438                 BNE     loc_24394
.text:0002443C                 LDR     R3, =(config_ptr - 0xE025C)
.text:00024440                 LDR     R3, [R8,R3]     ; config
.text:00024444                 LDRB    R3, [R3]
.text:00024448                 CMP     R3, #4
.text:0002444C                 BLS     loc_24394
.text:00024450                 LDR     R3, =(log_time_ptr - 0xE025C)
.text:00024454                 LDR     __s2, [R8,R3]   ; log_time
.text:00024458                 MOV     R1, R5          ; tp
.text:0002445C                 BL      clock_gettime
.text:00024460                 LDR     LR, [R5]
.text:00024464                 LDR     R2, =0x14F8B589
.text:00024468                 LDR     R3, [R5,#(log_time.tv_nsec - 0x4764EC)]
.text:0002446C                 MOV     R1, LR,ASR#31
.text:00024470                 SMULL   R0, R5, R2, LR
.text:00024474                 LDR     R12, =0x186A0
.text:00024478                 SMULL   R0, R2, R2, R3
.text:0002447C                 LDR     R0, =(__func__.6691 - 0x2448C)
.text:00024480                 RSB     R1, R1, R5,ASR#13
.text:00024484                 ADD     R0, PC, R0      ; "config_handler"
.text:00024488                 MUL     R1, R12, R1
.text:0002448C                 STR     R0, [SP,#0x38+var_38]
.text:00024490                 LDR     R0, =(a4u04uCSImagePo - 0x244AC)
.text:00024494                 MOV     R3, R3,ASR#31
.text:00024498                 RSB     R2, R3, R2,ASR#13
.text:0002449C                 STR     section, [SP,#0x38+var_34]
.text:000244A0                 RSB     R1, R1, LR
.text:000244A4                 ADD     R0, PC, R0      ; "%4u.%04u [%c] %s: image->pos is at 0,0 "...
.text:000244A8                 MOV     R3, #0x44
.text:000244AC                 B       loc_24A94
.text:000244B0 ; ---------------------------------------------------------------------------
.text:000244B0
.text:000244B0 loc_244B0                               ; CODE XREF: config_handler+1BC↑j
.text:000244B0 __s2 = R7                               ; const unsigned __int8 *
.text:000244B0 name = R5                               ; const unsigned __int8 *
.text:000244B0                 LDRB    R3, [__s2]
.text:000244B4                 CMP     R3, #0x62
.text:000244B8                 BNE     loc_244D4
.text:000244BC                 LDRB    R3, [__s2,#1]
.text:000244C0                 CMP     R3, #0x69
.text:000244C4                 BNE     loc_244D4
.text:000244C8                 LDRB    R3, [__s2,#2]
.text:000244CC                 CMP     R3, #0x67
.text:000244D0                 BEQ     loc_24AB4
.text:000244D4
.text:000244D4 loc_244D4                               ; CODE XREF: config_handler+398↑j
.text:000244D4                                         ; config_handler+3A4↑j
.text:000244D4                 LDR     R3, =0x4D2
.text:000244D8
.text:000244D8 loc_244D8                               ; CODE XREF: config_handler+9A8↓j
.text:000244D8                 STRH    R3, [config_ptr,#2]
.text:000244DC                 B       loc_242E0
.text:000244E0 ; ---------------------------------------------------------------------------
------------------------------------------------------------------
.text:00024608
.text:00024608 loc_24608                               ; CODE XREF: config_handler+1A4↑j
.text:00024608 name = R5                               ; const unsigned __int8 * ; base
.text:00024608                 MOV     R2, #0xA
.text:0002460C                 MOV     R0, value       ; nptr
.text:00024610                 BL      strtol
.text:00024614                 LDR     R1, =(aNetwork - 0x24620)
.text:00024618                 ADD     R1, PC, R1      ; "network"
.text:0002461C                 STRH    R0, [config_ptr,#6]
.text:00024620                 MOV     R0, section     ; s1
.text:00024624                 BL      strcmp
.text:00024628                 CMP     R0, #0
.text:0002462C                 BEQ     loc_242C8
.text:00024630                 B       loc_242E0
.text:00024634 ; ---------------------------------------------------------------------------

.text:00024CF0 ; ---------------------------------------------------------------------------
.text:00024CF4 off_24CF4       DCD aSystem_0 - 0x2413C ; DATA XREF: config_handler+8↑r
.text:00024CF4                                         ; "system"
.text:00024CF8 off_24CF8       DCD _GLOBAL_OFFSET_TABLE_
.text:00024CF8                                         ; DATA XREF: config_handler+28↑r
.text:00024CFC off_24CFC       DCD aMode - 0x24168     ; DATA XREF: config_handler+38↑r
.text:00024CFC                                         ; "mode"
.text:00024D00 off_24D00       DCD aFatal - 0x24180    ; DATA XREF: config_handler+50↑r
.text:00024D00                                         ; "fatal"
.text:00024D04 off_24D04       DCD aAssert - 0x2419C   ; DATA XREF: config_handler+6C↑r
.text:00024D04                                         ; "assert"
.text:00024D08 off_24D08       DCD aError - 0x241BC    ; DATA XREF: config_handler+8C↑r
.text:00024D08                                         ; "error"
.text:00024D0C off_24D0C       DCD aWarn - 0x241DC     ; DATA XREF: config_handler+AC↑r
.text:00024D0C                                         ; "warn"
.text:00024D10 off_24D10       DCD aInfo - 0x241FC     ; DATA XREF: config_handler+CC↑r
.text:00024D10                                         ; "info"
.text:00024D14 off_24D14       DCD aDebug - 0x2421C    ; DATA XREF: config_handler+EC↑r
.text:00024D14                                         ; "debug"
.text:00024D18 off_24D18       DCD aVerbose - 0x2423C  ; DATA XREF: config_handler+10C↑r
.text:00024D18                                         ; "verbose"
.text:00024D1C off_24D1C       DCD aSystem_0 - 0x2425C ; DATA XREF: config_handler:loc_2424C↑r
.text:00024D1C                                         ; "system"
.text:00024D20 off_24D20       DCD aCabinets - 0x24274 ; DATA XREF: config_handler:loc_24264↑r
.text:00024D20                                         ; "cabinets"
.text:00024D24 off_24D24       DCD aNetwork - 0x2428C  ; DATA XREF: config_handler:loc_2427C↑r
.text:00024D24                                         ; "network"
.text:00024D28 off_24D28       DCD aUdpPort - 0x242A8  ; DATA XREF: config_handler+178↑r
.text:00024D28                                         ; "udp_port"
.text:00024D2C off_24D2C       DCD aTcpPort - 0x242C0  ; DATA XREF: config_handler:loc_242B0↑r
.text:00024D2C                                         ; "tcp_port"
.text:00024D30 off_24D30       DCD aEndian - 0x242D8   ; DATA XREF: config_handler:loc_242C8↑r
.text:00024D30                                         ; "endian"
.text:00024D34 off_24D34       DCD aBackground - 0x242F0
.text:00024D34                                         ; DATA XREF: config_handler:loc_242E0↑r
.text:00024D34                                         ; "background"
.text:00024D38 off_24D38       DCD aImage - 0x24308    ; DATA XREF: config_handler+1D8↑r
.text:00024D38                                         ; "image"
.text:00024D3C off_24D3C       DCD aBox - 0x24320      ; DATA XREF: config_handler:loc_24310↑r
.text:00024D3C                                         ; "box"
.text:00024D40 off_24D40       DCD aSize - 0x2435C     ; DATA XREF: config_handler:loc_2434C↑r
.text:00024D40                                         ; "size"
.text:00024D44 off_24D44       DCD aColor - 0x24374    ; DATA XREF: config_handler+244↑r
.text:00024D44                                         ; "color"
.text:00024D48 off_24D48       DCD aAlpha - 0x2438C    ; DATA XREF: config_handler+25C↑r
.text:00024D48                                         ; "alpha"
.text:00024D4C off_24D4C       DCD aImage - 0x243B0    ; DATA XREF: config_handler:loc_243A0↑r
.text:00024D4C                                         ; "image"
.text:00024D50 off_24D50       DCD aDD_0 - 0x24410     ; DATA XREF: config_handler+2E0↑r
.text:00024D50                                         ; "%d,%d"
.text:00024D54 off_24D54       DCD config_ptr - 0xE025C
.text:00024D54                                         ; DATA XREF: config_handler+31C↑r
.text:00024D54                                         ; config_handler+474↑r ...
.text:00024D58 off_24D58       DCD log_time_ptr - 0xE025C
.text:00024D58                                         ; DATA XREF: config_handler+330↑r
.text:00024D58                                         ; config_handler+488↑r ...
.text:00024D5C dword_24D5C     DCD 0x14F8B589          ; DATA XREF: config_handler+344↑r
.text:00024D5C                                         ; config_handler+49C↑r ...
.text:00024D60 dword_24D60     DCD 0x186A0             ; DATA XREF: config_handler+354↑r
.text:00024D60                                         ; config_handler+4AC↑r ...
.text:00024D64 off_24D64       DCD __func__.6691 - 0x2448C
.text:00024D64                                         ; DATA XREF: config_handler+35C↑r
.text:00024D64                                         ; "config_handler"
.text:00024D68 off_24D68       DCD a4u04uCSImagePo - 0x244AC
.text:00024D68                                         ; DATA XREF: config_handler+370↑r
.text:00024D68                                         ; "%4u.%04u [%c] %s: image->pos is at 0,0 "...
.text:00024D6C dword_24D6C     DCD 0x4D2               ; DATA XREF: config_handler:loc_244D4↑r
.text:00024D6C                                         ; config_handler+99C↑r
.text:00024D70 off_24D70       DCD aPtext - 0x244F0    ; DATA XREF: config_handler:loc_244E0↑r
.text:00024D70                                         ; "ptext"
.text:00024D74 off_24D74       DCD aDD_0 - 0x24578     ; DATA XREF: config_handler+440↑r
.text:00024D74                                         ; "%d,%d"
.text:00024D78 off_24D78       DCD __func__.6691 - 0x245E4
.text:00024D78                                         ; DATA XREF: config_handler+4B4↑r
.text:00024D78                                         ; "config_handler"
.text:00024D7C off_24D7C       DCD a4u04uCSTextPos - 0x24604
.text:00024D7C                                         ; DATA XREF: config_handler+4C8↑r
.text:00024D7C                                         ; "%4u.%04u [%c] %s: text->pos is at 0,0 f"...
.text:00024D80 off_24D80       DCD aNetwork - 0x24620  ; DATA XREF: config_handler+4F4↑r
.text:00024D80                                         ; "network"
.text:00024D84 off_24D84       DCD aDD_0 - 0x246A4     ; DATA XREF: config_handler+574↑r
.text:00024D84                                         ; "%d,%d"
.text:00024D88 off_24D88       DCD __func__.6691 - 0x24728
.text:00024D88                                         ; DATA XREF: config_handler+5F8↑r
.text:00024D88                                         ; "config_handler"
.text:00024D8C off_24D8C       DCD a4u04uCSBoxPosI - 0x24748
.text:00024D8C                                         ; DATA XREF: config_handler+60C↑r
.text:00024D8C                                         ; "%4u.%04u [%c] %s: box->pos is at 0,0 fo"...
.text:00024D90 off_24D90       DCD aStext - 0x2475C    ; DATA XREF: config_handler:loc_2474C↑r
.text:00024D90                                         ; "stext"
.text:00024D94 off_24D94       DCD __func__.6691 - 0x247BC
.text:00024D94                                         ; DATA XREF: config_handler+68C↑r
.text:00024D94                                         ; "config_handler"
.text:00024D98 off_24D98       DCD a4u04uCSUnknown - 0x247DC
.text:00024D98                                         ; DATA XREF: config_handler+6A0↑r
.text:00024D98                                         ; "%4u.%04u [%c] %s: Unknown Section/Name:"...
.text:00024D9C off_24D9C       DCD aAlpha - 0x2480C    ; DATA XREF: config_handler:loc_247FC↑r
.text:00024D9C                                         ; "alpha"
.text:00024DA0 off_24DA0       DCD aF - 0x24824        ; DATA XREF: config_handler+6F4↑r
.text:00024DA0                                         ; "%f"
.text:00024DA4 off_24DA4       DCD __func__.6691 - 0x2488C
.text:00024DA4                                         ; DATA XREF: config_handler+75C↑r
.text:00024DA4                                         ; "config_handler"
.text:00024DA8 off_24DA8       DCD a4u04uCSInvalid_1 - 0x248AC
.text:00024DA8                                         ; DATA XREF: config_handler+770↑r
.text:00024DA8                                         ; "%4u.%04u [%c] %s: Invalid text section:"...
.text:00024DAC off_24DAC       DCD aDD_0 - 0x248C8     ; DATA XREF: config_handler:loc_248B0↑r
.text:00024DAC                                         ; "%d,%d"
.text:00024DB0 off_24DB0       DCD __func__.6691 - 0x24940
.text:00024DB0                                         ; DATA XREF: config_handler+810↑r
.text:00024DB0                                         ; "config_handler"
.text:00024DB4 off_24DB4       DCD a4u04uCSBoxWidt - 0x24964
.text:00024DB4                                         ; DATA XREF: config_handler+824↑r
.text:00024DB4                                         ; "%4u.%04u [%c] %s: box->width is 0 for '"...
.text:00024DB8 off_24DB8       DCD stdout_ptr - 0xE025C
.text:00024DB8                                         ; DATA XREF: config_handler+844↑r
.text:00024DB8                                         ; config_handler+978↑r
.text:00024DBC off_24DBC       DCD __func__.6691 - 0x249D0
.text:00024DBC                                         ; DATA XREF: config_handler+8A0↑r
.text:00024DBC                                         ; "config_handler"
.text:00024DC0 off_24DC0       DCD a4u04uCSBoxHeig - 0x249F0
.text:00024DC0                                         ; DATA XREF: config_handler+8B4↑r
.text:00024DC0                                         ; "%4u.%04u [%c] %s: box->height is 0 for "...
.text:00024DC4 off_24DC4       DCD aF - 0x24A04        ; DATA XREF: config_handler:loc_249F4↑r
.text:00024DC4                                         ; "%f"
.text:00024DC8 off_24DC8       DCD __func__.6691 - 0x24A74
.text:00024DC8                                         ; DATA XREF: config_handler+944↑r
.text:00024DC8                                         ; "config_handler"
.text:00024DCC off_24DCC       DCD a4u04uCSBoxAlph - 0x24A90
.text:00024DCC                                         ; DATA XREF: config_handler+958↑r
.text:00024DCC                                         ; "%4u.%04u [%c] %s: box->alpha is at 0.0 "...
.text:00024DD0 dword_24DD0     DCD 0x10E1              ; DATA XREF: config_handler+998↑r
.text:00024DD4 off_24DD4       DCD aSize - 0x24AF4     ; DATA XREF: config_handler:loc_24AE4↑r
.text:00024DD4                                         ; "size"
.text:00024DD8 off_24DD8       DCD aColor - 0x24B0C    ; DATA XREF: config_handler+9DC↑r
.text:00024DD8                                         ; "color"
.text:00024DDC off_24DDC       DCD aAlpha - 0x24B24    ; DATA XREF: config_handler+9F4↑r
.text:00024DDC                                         ; "alpha"
.text:00024DE0 off_24DE0       DCD aText - 0x24B3C     ; DATA XREF: config_handler+A0C↑r
.text:00024DE0                                         ; "text"
.text:00024DE4 off_24DE4       DCD aDDD - 0x24B6C      ; DATA XREF: config_handler:loc_24B58↑r
.text:00024DE4                                         ; "%d,%d,%d"
.text:00024DE8 off_24DE8       DCD __func__.6691 - 0x24C00
.text:00024DE8                                         ; DATA XREF: config_handler+AD0↑r
.text:00024DE8                                         ; "config_handler"
.text:00024DEC off_24DEC       DCD a4u04uCSTextSiz - 0x24C20
.text:00024DEC                                         ; DATA XREF: config_handler+AE4↑r
.text:00024DEC                                         ; "%4u.%04u [%c] %s: text->size is zero fo"...
.text:00024DF0 off_24DF0       DCD aF - 0x24C34        ; DATA XREF: config_handler:loc_24C24↑r
.text:00024DF0                                         ; "%f"
.text:00024DF4 off_24DF4       DCD a4u04uCSTextAlp - 0x24C78
.text:00024DF4                                         ; DATA XREF: config_handler+B48↑r
.text:00024DF4                                         ; "%4u.%04u [%c] %s: text->alpha is at 0.0"...
.text:00024DF8 off_24DF8       DCD __func__.6691 - 0x24CA8
.text:00024DF8                                         ; DATA XREF: config_handler+B78↑r
.text:00024DF8                                         ; "config_handler"
.text:00024DFC off_24DFC       DCD aDDD - 0x24CD0      ; DATA XREF: config_handler:loc_24CBC↑r
.text:00024DFC                                         ; "%d,%d,%d"
.text:00024E00

Last edited by UGee; 11-02-2018 at 04:24 AM.
 
Old 11-01-2018, 06:22 PM   #15
UGee
LQ Newbie
 
Registered: Oct 2018
Posts: 11

Original Poster
Rep: Reputation: Disabled
Code:
.text:000251E4 ; =============== S U B R O U T I N E =======================================
.text:000251E4
.text:000251E4
.text:000251E4 ; void config_init()
.text:000251E4                 EXPORT config_init
.text:000251E4 config_init                             ; CODE XREF: system_init+30↑p
.text:000251E4
.text:000251E4 var_20          = -0x20
.text:000251E4 var_1C          = -0x1C
.text:000251E4
.text:000251E4                 STMFD   SP!, {R4-R7,LR}
.text:000251E8                 SUB     SP, SP, #0xC
.text:000251EC                 LDR     R5, =(_GLOBAL_OFFSET_TABLE_ - 0x251FC)
.text:000251F0                 LDR     R3, =(config_ptr - 0xE025C)
.text:000251F4                 ADD     R5, PC, R5      ; _GLOBAL_OFFSET_TABLE_
.text:000251F8                 LDR     R0, =(aHomePiBillboar - 0x2520C)
.text:000251FC                 LDR     R4, [R5,R3]     ; config
.text:00025200                 LDR     R1, =(config_handler - 0x25210)
.text:00025204                 ADD     R0, PC, R0      ; "/home/pi/billboard.config"
.text:00025208                 ADD     R1, PC, R1      ; config_handler ; handler
.text:0002520C                 MOV     R2, R4          ; user
.text:00025210                 BL      ini_parse
.text:00025214                 LDRB    R3, [R4]
.text:00025218                 CMP     R0, #0
.text:0002521C                 BLT     loc_252CC
.text:00025220                 CMP     R3, #5
.text:00025224                 BHI     loc_2535C
.text:00025228
.text:00025228 loc_25228                               ; CODE XREF: config_init+1F8↓j
.text:00025228                 LDRH    R0, [R4,#(config.udp_port - 0xE095C)] ; clock_id
.text:0002522C                 CMP     R0, #0
.text:00025230                 BNE     loc_252C4
.text:00025234                 LDRB    R3, [R4]
.text:00025238                 CMP     R3, #1
.text:0002523C                 BLS     loc_252BC
.text:00025240                 LDR     R3, =(log_time_ptr - 0xE025C)
.text:00025244                 LDR     R6, [R5,R3]     ; log_time
.text:00025248                 MOV     R1, R6          ; tp
.text:0002524C                 BL      clock_gettime
.text:00025250                 LDR     LR, [R6]
.text:00025254                 LDR     R2, =0x14F8B589
.text:00025258                 LDR     R0, [R6,#(log_time.tv_nsec - 0x4764EC)]
.text:0002525C                 MOV     R1, LR,ASR#31
.text:00025260                 SMULL   R3, R6, R2, LR
.text:00025264                 SMULL   R3, R2, R2, R0
.text:00025268                 LDR     R12, =0x186A0
.text:0002526C                 RSB     R1, R1, R6,ASR#13
.text:00025270                 LDR     R3, =(__func__.6691 - 0x2528C)
.text:00025274                 MUL     R1, R12, R1
.text:00025278                 MOV     R0, R0,ASR#31
.text:0002527C                 LDR     R6, =(aInvalidUdpPort - 0x25298)
.text:00025280                 RSB     R2, R0, R2,ASR#13
.text:00025284                 ADD     R3, PC, R3      ; "config_handler"
.text:00025288                 LDR     R0, =(a4u04uCSS - 0x252AC)
.text:0002528C                 ADD     R3, R3, #0x20
.text:00025290                 ADD     R6, PC, R6      ; "Invalid UDP Port in config file"
.text:00025294                 STR     R3, [SP,#0x20+var_20]
.text:00025298                 RSB     R1, R1, LR
.text:0002529C                 MOV     R3, #0x45
.text:000252A0                 STR     R6, [SP,#0x20+var_1C]
.text:000252A4                 ADD     R0, PC, R0      ; "%4u.%04u [%c] %s: %s\n"
.text:000252A8                 BL      printf
.text:000252AC                 LDR     R3, =(stdout_ptr - 0xE025C)
.text:000252B0                 LDR     R3, [R5,R3]     ; stdout
.text:000252B4                 LDR     R0, [R3]        ; stream
.text:000252B8                 BL      fflush
.text:000252BC
.text:000252BC loc_252BC                               ; CODE XREF: config_init+58↑j
.text:000252BC                 MOV     R3, #0xC60
.text:000252C0                 STRH    R3, [R4,#(config.udp_port - 0xE095C)]
.text:000252C4
.text:000252C4 loc_252C4                               ; CODE XREF: config_init+4C↑j
.text:000252C4                                         ; config_init+EC↓j
.text:000252C4                 ADD     SP, SP, #0xC
.text:000252C8                 LDMFD   SP!, {R4-R7,PC}
.text:000252CC ; ---------------------------------------------------------------------------
.text:000252CC
.text:000252CC loc_252CC                               ; CODE XREF: config_init+38↑j
.text:000252CC                 CMP     R3, #1
.text:000252D0                 BLS     loc_252C4
.text:000252D4                 LDR     R3, =(log_time_ptr - 0xE025C)
.text:000252D8                 MOV     R0, #0          ; clock_id
.text:000252DC                 LDR     R6, [R5,R3]     ; log_time
.text:000252E0                 MOV     R1, R6          ; tp
.text:000252E4                 BL      clock_gettime
.text:000252E8                 LDR     R4, [R6]
.text:000252EC                 LDR     R2, =0x14F8B589
.text:000252F0                 LDR     R0, [R6,#(log_time.tv_nsec - 0x4764EC)]
.text:000252F4                 LDR     LR, =0x186A0
.text:000252F8                 SMULL   R3, R12, R2, R4
.text:000252FC                 SMULL   R3, R2, R2, R0
.text:00025300                 LDR     R3, =(__func__.6691 - 0x25324)
.text:00025304                 MOV     R1, R4,ASR#31
.text:00025308                 RSB     R1, R1, R12,ASR#13
.text:0002530C                 MOV     R0, R0,ASR#31
.text:00025310                 MUL     R1, LR, R1
.text:00025314                 LDR     R12, =(aCanTLoadHomePi - 0x2532C)
.text:00025318                 RSB     R2, R0, R2,ASR#13
.text:0002531C                 ADD     R3, PC, R3      ; "config_handler"
.text:00025320                 LDR     R0, =(a4u04uCSS - 0x25344)
.text:00025324                 ADD     R12, PC, R12    ; "Can't load '/home/pi/billboard.config'"
.text:00025328                 ADD     R3, R3, #0x20
.text:0002532C                 STR     R3, [SP,#0x20+var_20]
.text:00025330                 RSB     R1, R1, R4
.text:00025334                 STR     R12, [SP,#0x20+var_1C]
.text:00025338                 MOV     R3, #0x45
.text:0002533C                 ADD     R0, PC, R0      ; "%4u.%04u [%c] %s: %s\n"
.text:00025340                 BL      printf
.text:00025344                 LDR     R3, =(stdout_ptr - 0xE025C)
.text:00025348                 LDR     R3, [R5,R3]     ; stdout
.text:0002534C                 LDR     R0, [R3]        ; stream
.text:00025350                 ADD     SP, SP, #0xC
.text:00025354                 LDMFD   SP!, {R4-R7,LR}
.text:00025358                 B       fflush
.text:0002535C ; ---------------------------------------------------------------------------
.text:0002535C
.text:0002535C loc_2535C                               ; CODE XREF: config_init+40↑j
.text:0002535C                 LDR     R3, =(log_time_ptr - 0xE025C)
.text:00025360                 MOV     R0, #0          ; clock_id
.text:00025364                 LDR     R6, [R5,R3]     ; log_time
.text:00025368                 MOV     R1, R6          ; tp
.text:0002536C                 BL      clock_gettime
.text:00025370                 LDR     R7, [R6]
.text:00025374                 LDR     R2, =0x14F8B589
.text:00025378                 LDR     R0, [R6,#(log_time.tv_nsec - 0x4764EC)]
.text:0002537C                 MOV     LR, R7,ASR#31
.text:00025380                 SMULL   R3, R1, R2, R7
.text:00025384                 SMULL   R3, R2, R2, R0
.text:00025388                 LDR     R12, =0x186A0
.text:0002538C                 RSB     R1, LR, R1,ASR#13
.text:00025390                 LDR     R3, =(__func__.6691 - 0x253AC)
.text:00025394                 MUL     R1, R12, R1
.text:00025398                 MOV     R0, R0,ASR#31
.text:0002539C                 LDR     LR, =(aConfigFileLoad - 0x253B4)
.text:000253A0                 RSB     R2, R0, R2,ASR#13
.text:000253A4                 ADD     R3, PC, R3      ; "config_handler"
.text:000253A8                 LDR     R0, =(a4u04uCSS - 0x253CC)
.text:000253AC                 ADD     LR, PC, LR      ; "Config file loaded"
.text:000253B0                 ADD     R3, R3, #0x20
.text:000253B4                 STR     R3, [SP,#0x20+var_20]
.text:000253B8                 RSB     R1, R1, R7
.text:000253BC                 STR     LR, [SP,#0x20+var_1C]
.text:000253C0                 MOV     R3, #0x69
.text:000253C4                 ADD     R0, PC, R0      ; "%4u.%04u [%c] %s: %s\n"
.text:000253C8                 BL      printf
.text:000253CC                 LDR     R3, =(stdout_ptr - 0xE025C)
.text:000253D0                 LDR     R3, [R5,R3]     ; stdout
.text:000253D4                 LDR     R0, [R3]        ; stream
.text:000253D8                 BL      fflush
.text:000253DC                 B       loc_25228
.text:000253DC ; End of function config_init
.text:000253DC
.text:000253DC ; ---------------------------------------------------------------------------
.text:000253E0 off_253E0       DCD _GLOBAL_OFFSET_TABLE_ - 0x251FC
.text:000253E0                                         ; DATA XREF: config_init+8↑r
.text:000253E4 off_253E4       DCD config_ptr - 0xE025C
.text:000253E4                                         ; DATA XREF: config_init+C↑r
.text:000253E8 off_253E8       DCD aHomePiBillboar - 0x2520C
.text:000253E8                                         ; DATA XREF: config_init+14↑r
.text:000253E8                                         ; "/home/pi/billboard.config"
.text:000253EC off_253EC       DCD config_handler - 0x25210
.text:000253EC                                         ; DATA XREF: config_init+1C↑r
.text:000253F0 off_253F0       DCD log_time_ptr - 0xE025C
.text:000253F0                                         ; DATA XREF: config_init+5C↑r
.text:000253F0                                         ; config_init+F0↑r ...
.text:000253F4 dword_253F4     DCD 0x14F8B589          ; DATA XREF: config_init+70↑r
.text:000253F4                                         ; config_init+108↑r ...
.text:000253F8 dword_253F8     DCD 0x186A0             ; DATA XREF: config_init+84↑r
.text:000253F8                                         ; config_init+110↑r ...
.text:000253FC off_253FC       DCD __func__.6691 - 0x2528C
.text:000253FC                                         ; DATA XREF: config_init+8C↑r
.text:000253FC                                         ; "config_handler"
.text:00025400 off_25400       DCD aInvalidUdpPort - 0x25298
.text:00025400                                         ; DATA XREF: config_init+98↑r
.text:00025400                                         ; "Invalid UDP Port in config file"
.text:00025404 off_25404       DCD a4u04uCSS - 0x252AC ; DATA XREF: config_init+A4↑r
.text:00025404                                         ; "%4u.%04u [%c] %s: %s\n"
.text:00025408 off_25408       DCD stdout_ptr - 0xE025C
.text:00025408                                         ; DATA XREF: config_init+C8↑r
.text:00025408                                         ; config_init+160↑r ...
.text:0002540C off_2540C       DCD __func__.6691 - 0x25324
.text:0002540C                                         ; DATA XREF: config_init+11C↑r
.text:0002540C                                         ; "config_handler"
.text:00025410 off_25410       DCD aCanTLoadHomePi - 0x2532C
.text:00025410                                         ; DATA XREF: config_init+130↑r
.text:00025410                                         ; "Can't load '/home/pi/billboard.config'"
.text:00025414 off_25414       DCD a4u04uCSS - 0x25344 ; DATA XREF: config_init+13C↑r
.text:00025414                                         ; "%4u.%04u [%c] %s: %s\n"
.text:00025418 off_25418       DCD __func__.6691 - 0x253AC
.text:00025418                                         ; DATA XREF: config_init+1AC↑r
.text:00025418                                         ; "config_handler"
.text:0002541C off_2541C       DCD aConfigFileLoad - 0x253B4
.text:0002541C                                         ; DATA XREF: config_init+1B8↑r
.text:0002541C                                         ; "Config file loaded"
.text:00025420 off_25420       DCD a4u04uCSS - 0x253CC ; DATA XREF: config_init+1C4↑r
.text:00025420                                         ; "%4u.%04u [%c] %s: %s\n"
.text:00025424

Last edited by UGee; 11-02-2018 at 04:25 AM.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
eth0 file has file KIND of PNG image j_75080 Linux - Networking 4 12-01-2014 11:45 AM
Need to find out what kind of file this is JohnD23 General 6 04-28-2007 09:58 AM
Deleting all of a kind of a file even in subdirs ? Sabinou Linux - Newbie 3 08-18-2006 03:40 AM
What kind of file is this? stefaandk Linux - Newbie 1 06-10-2005 08:58 AM
What kind of file is *.asc? CodeWarrior Linux - General 4 07-10-2004 11:45 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 12:22 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration